Back to skills
SkillHub ClubDesign ProductFull StackData / AIDesigner

brand_kit

Implementation reference for the Brand Kit and Onboarding System — the Artist Identity subsystem that collects brand assets, style preferences, and release metadata via an AI-driven chat interface.

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
0
Hot score
74
Updated
March 20, 2026
Overall rating
C0.0
Composite score
0.0
Best-practice grade
C65.2

Install command

npx @skill-hub/cli install the-walking-agency-det-indiios-alpha-electron-brand-kit

Repository

the-walking-agency-det/indiiOS-Alpha-Electron

Skill path: .agent/skills/brand_kit

Implementation reference for the Brand Kit and Onboarding System — the Artist Identity subsystem that collects brand assets, style preferences, and release metadata via an AI-driven chat interface.

Open repository

Best for

Primary workflow: Design Product.

Technical facets: Full Stack, Data / AI, Designer.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: the-walking-agency-det.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install brand_kit into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/the-walking-agency-det/indiiOS-Alpha-Electron before adding brand_kit to shared team environments
  • Use brand_kit for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: brand_kit
description: Implementation reference for the Brand Kit and Onboarding System — the Artist Identity subsystem that collects brand assets, style preferences, and release metadata via an AI-driven chat interface.
---

# @brand_kit — Brand Kit & Onboarding System

## Purpose

The Brand Kit is the artist's identity layer in indiiOS. It's populated via a conversational AI onboarding flow ("indii" agent) and feeds into every downstream feature — Creative Studio, Marketing, Distribution metadata, Social posts, etc.

## When to Invoke

- Debugging the onboarding flow or brand kit modal
- Adding new fields to the artist profile / brand kit
- Investigating why generated content doesn't match the artist's identity
- Extending the onboarding conversation with new questions

---

## Architecture

```
UI Layer:
  src/modules/onboarding/OnboardingModal.tsx   ← Chat interface, "indii" persona

Logic Layer:
  src/services/onboarding/onboardingService.ts  ← Gemini 3 Pro orchestration,
                                                   file processing, function calls

State Layer:
  src/core/store/slices/profileSlice.ts         ← userProfile.brandKit
  src/core/store.ts                             ← Root Zustand store
```

---

## Usage Flow

1. **Dashboard** → Click **Brand Kit** (Sparkles icon in sidebar)
2. `OnboardingModal` opens → chat UI with "indii" AI persona
3. User answers questions, uploads assets
4. AI calls function tools → updates `UserProfile` store
5. `calculateProfileStatus()` tracks % completion

---

## Key Functions

| Function | Location | Purpose |
|----------|----------|---------|
| `runOnboardingConversation` | `onboardingService.ts` | Main chat loop — sends messages to Gemini, handles streaming |
| `processFunctionCalls` | `onboardingService.ts` | Dispatches AI function calls: `updateProfile`, `addImageAsset` |
| `calculateProfileStatus` | `onboardingService.ts` | Returns 0-100% completion score for the brand kit |
| `updateProfile` | `profileSlice.ts` | Zustand action that merges new profile data |
| `addImageAsset` | `profileSlice.ts` | Appends uploaded brand asset to profile |

---

## Extending the Brand Kit

To add a new field to the brand kit:

1. **Type** — Add field to `UserProfile` type in `src/types/`
2. **Store** — Update `profileSlice.ts` to handle the new field
3. **Onboarding** — Add a question to the system prompt in `onboardingService.ts`
4. **Function Call** — Add a new function tool definition so the AI can set the field
5. **UI** — Update the Profile/BrandKit display component

---

## Debugging

```bash
# Check if onboarding function calls are being processed
grep -n "processFunctionCalls\|updateProfile\|addImageAsset" src/services/onboarding/onboardingService.ts

# Verify store shape
grep -n "brandKit\|UserProfile" src/core/store/slices/profileSlice.ts

# Watch for Gemini API issues during onboarding
# → Check Cloud Functions logs for generateContentStream errors
firebase functions:log --project indiios-v-1-1 --only generateContentStream
```

---

## Access Entry Points

| Entry Point | Path |
|-------------|------|
| Modal trigger | Dashboard → Sparkles icon |
| URL direct | `/onboarding` (standalone module) |
| Zustand state | `useStore(s => s.userProfile.brandKit)` |
| Completion % | `onboardingService.calculateProfileStatus(profile)` |
brand_kit | SkillHub