# Ccc Learn

> CC Commander learning hub — click-first picker across 11 CCC domains (502+ skills). Routes to ccc-design, ccc-marketing, ccc-saas and 8 more domain routers. Use when…

- Skill: `kevinzai/ccc-learn` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kevinzai/ccc-learn`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kevinzai/ccc-learn/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: KevinZai (https://skillmd.com/u/kevinzai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kevinzai/ccc-learn

---


# /ccc-learn — Discover skills across domains

Click-first browser over CCC's 11 domain routers. User picks a domain in one click — we load its domain-router skill and hand off. No text menus, no grep-through-502-skills.

## Response shape (EVERY time)

### 1. Brand header (one line)

```
**CC Commander · Learn** · 502+ skills · 11 domains · [catalog](https://commanderplugin.com/skills)
```

### 2. Context strip (one line)

Run a single parallel Bash probe (silent on failure):
- `ls ~/.claude/skills/ 2>/dev/null | wc -l` — locally installed skill count
- `test -f CLAUDE.md && head -2 CLAUDE.md | tail -1` — project name hint
- `git rev-parse --abbrev-ref HEAD 2>/dev/null` — branch

Render:
> 📚 <N> skills installed locally · project `<name or cwd>` · branch `<name>`

If nothing installed: "📚 No CCC skills installed yet — pick a domain, I'll fetch on demand."

### 3. The picker — `AskUserQuestion` with 4 options

Read `${CLAUDE_PLUGIN_ROOT}/menus/ccc-learn.json` once. Use its `choices` for labels + descriptions. **Max 4 options** — take the 3 headline domains + "More domains…".

```
question: "Which domain?"
header: "CC Commander · Learn"
multiSelect: false
options:
  - label: "🎨 Design (39 skills)"
    description: "UI/UX, animation, responsive, a11y, Impeccable polish suite."
    preview: "Routes to ccc-design. Pick landing / components / polish / figma next."
  - label: "📣 Marketing (45 skills)"
    description: "CRO, email, ads, social, content — 7 specialist pods."
    preview: "Routes to ccc-marketing. Pick campaign / SEO / Product Hunt / influencer next."
  - label: "💼 SaaS (21 skills)"
    description: "Auth, billing, multi-tenant, schema, zero-to-revenue."
    preview: "Routes to ccc-saas. Pick auth / billing / schema / API next."
  - label: "⋯ More domains…"
    description: "DevOps, SEO, Testing, Security, Data, Research, Mobile, Makeover."
    preview: "8 more router skills — click to expand."
```

**Recommendation logic** (prepend ⭐ to ONE option):
- No `src/` but project has `docs/` or marketing-ish files → ⭐ Marketing
- `package.json` has `stripe` / `next-auth` / `supabase` → ⭐ SaaS
- `src/components` populated + Tailwind config → ⭐ Design
- Nothing to go on → ⭐ Design (safe default)

Also offer "Browse all 502+" as a small footer note under the picker — see handling below.

### 4. Handle the selection

Dispatch immediately:

- **Design** → invoke `ccc-design` skill. That skill surfaces its own picker (landing / components / polish / figma).
- **Marketing** → invoke `ccc-marketing` skill. Surfaces its sub-picker.
- **SaaS** → invoke `ccc-saas` skill. Surfaces its sub-picker.
- **More domains…** → cascade to the **second AUQ** below. Do NOT exit the flow.

### 5. Second AUQ (only if "More domains…" picked)

```
question: "Which of the remaining 8?"
header: "CC Commander · Learn · More"
multiSelect: false
options:
  - label: "🛠️ DevOps (21 skills)"
    description: "CI/CD, Docker, AWS, monitoring, IaC, runbooks."
    preview: "Routes to ccc-devops."
  - label: "🔍 SEO (20 skills)"
    description: "Technical SEO, AI search, content strategy, Core Web Vitals."
    preview: "Routes to ccc-seo."
  - label: "🧪 Testing (15 skills)"
    description: "TDD, E2E, verification, QA, regression, visual testing."
    preview: "Routes to ccc-testing."
  - label: "⋯ Even more…"
    description: "Security, Data, Research, Mobile, Makeover + browse-all."
    preview: "5 more — click to cascade."
```

### 6. Third AUQ (only if "Even more…" picked)

```
question: "Last page."
header: "CC Commander · Learn · Advanced"
multiSelect: false
options:
  - label: "🔐 Security (8 skills)"
    description: "Audits, prompt injection defense, OWASP, incident response."
    preview: "Routes to ccc-security."
  - label: "📊 Data (8 skills)"
    description: "Pipelines, SQL, visualization, ML, quality, vector search."
    preview: "Routes to ccc-data."
  - label: "🔎 Browse all (502+)"
    description: "Searchable grid of every installed skill + command."
    preview: "Routes to ccc-browse."
  - label: "↩️ Back to /ccc"
    description: "Return to the main menu."
    preview: "Invokes ccc skill."
```

**Remaining domain routers** not surfaced in AUQ but available by argument:
- `ccc-research` (8 skills) — `/ccc-learn research`
- `ccc-mobile` (8 skills) — `/ccc-learn mobile`
- `ccc-makeover` (3 skills) — `/ccc-learn makeover`

These tail-end domains are thin. If a user explicitly asks about them, route directly.

### 7. Argument handling

If the user passed an argument (`/ccc-learn marketing`), skip all AUQs and invoke the matching domain router immediately. Accept: `design` / `marketing` / `saas` / `devops` / `seo` / `testing` / `security` / `data` / `research` / `mobile` / `makeover` / `all` (→ `ccc-browse`).

## Anti-patterns — DO NOT

- ❌ Render all 11 domains in one AUQ (max 4 per call)
- ❌ Dump the 502-skill list inline — that's ccc-browse's job
- ❌ Skip the cascade — users need the "More → Even more" flow for the long tail
- ❌ Show a numbered text list and ask them to type a number
- ❌ Forget to check the argument — `/ccc-learn marketing` must skip the root picker

## When to invoke this skill

- user: what does this do? show me the skill catalog
- assistant: Loads ccc-learn, renders the 4-option picker. User picks Design → routes to ccc-design.

- user: I need to set up authentication
- assistant: Loads ccc-learn (or goes straight to ccc-saas if intent is clear). Picks SaaS → ccc-saas auth path.

- user: what's in the marketing domain?
- assistant: Loads ccc-learn with `marketing` argument, skips root picker, dispatches to ccc-marketing directly.

---

**Bottom line:** one click picks a domain, the domain router takes it from there. Cascade for the long tail. Never dump 502 skills on the user.

---

> ⚙️ **Fable contract:** plan before build · verifier ≠ worker · prove before alarm · loops need gates · leave durable state — `rules/fable-method.md`

