kevinzai/commander/ccc-saas

Claude Code and agent skill by kevinzai/commander

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Route SaaS work to the right specialist sub-skill: scaffolding, auth, database, API, frontend, Stripe billing, webhooks, multi-tenancy, feature flags, metrics and conversion. Use when building, billing or growing a SaaS product.

Install

npx vskill@latest install kevinzai/commander/ccc-saas

SKILL.md

/ccc-saas — SaaS work, routed

CC Commander · ccc-saas · picks the SaaS sub-skill (or pair) for the request and follows it, one at a time.

The user's selected model is preserved. Codex: ask each picker as a plain-text question with the same options.

When to use / when not to

  • Use for SaaS products: new scaffolds, auth, schema, APIs, Next.js frontends, Stripe billing, webhooks, tenancy, flags, metrics and conversion work.
  • Use /ccc-build for non-SaaS apps, /ccc-marketing for campaigns and copy, and /ccc-deploy for releases.

Sub-skills

Each lives at ${CLAUDE_SKILL_DIR}/<sub-skill>/SKILL.md and loads only when this router reads it.

Sub-skillUse forNot for
saas-routerA routing questionnaire when the request spans many areasDoing the work
saas-scaffolderA new SaaS from a starter template with database, auth, billing and env wiredExisting codebases
better-authBetter Auth: email/password, OAuth, organizations, RBAC, magic links, 2FASignup conversion
database-designerNormalization, indexing, query optimization, schema evolutionTenancy-specific schema
drizzle-neonDrizzle ORM with Neon Postgres: schema, migrations, relations, poolingOther ORMs
multi-tenantSchema-per-tenant, row-level security, subdomain routing, tenant-aware queriesSingle-tenant design
api-designREST naming, status codes, pagination, errors, versioning, rate limitsFramework specifics
backend-patternsService layer, repositories, dependency injection, job queuesWebhook delivery
fastify-apiFastify with schema validation, plugins, hooks, Zod or TypeBoxExpress or Next routes
nextjs-app-routerApp Router: server components, server actions, streaming, metadataStyling
shadcn-uishadcn/ui components: setup, theming, composition, variantsRouting
tailwind-v4Tailwind CSS v4: CSS-first config, @theme, container queriesTailwind v3 config files
stripe-subscriptionsCheckout, webhook verification (raw body), portal, usage-based billingPricing-page UX
billing-automationInvoicing, dunning, grace periods, usage metering, revenue recognitionAnalytics
webhook-patternsReceiving and sending: signatures, retries, idempotency, dead-letter queuesStripe-only handlers
feature-flagsPostHog, LaunchDarkly or custom flags, gradual rollouts, A/B testsPricing experiments
saas-metrics-coachMRR, churn, LTV, CAC, NRR, cohorts, investor-ready dashboardsBilling operations
signup-flow-croSignup, registration and trial activation conversionAuth implementation
paywall-upgrade-croPaywalls, upgrade screens, upsell modals, trial-to-paidStripe API work
form-croNon-signup forms: lead capture, contact, demo, multi-stepSignup flows

Common requests

RequestRoute
New SaaS, no codebasesaas-scaffolder first
Auth, login, usersbetter-auth
Billing, subscriptionsstripe-subscriptions, then billing-automation
Schema designdatabase-designer, then drizzle-neon
Frontend pages and UInextjs-app-router, then shadcn-ui and tailwind-v4
API or backendapi-design, then fastify-api or backend-patterns
Styling, theming, dark modetailwind-v4 and shadcn-ui

Campaigns (greenfield, add billing, growth phase, B2B multi-tenant) are in references/campaigns.md.

What happens

  1. Read the project state in one Bash call; missing files are not errors:

``bash test -f package.json && grep -oE '"(next|fastify|drizzle-orm|better-auth|stripe|tailwindcss|@neondatabase/serverless)"' package.json | sort -u ls drizzle.config.* components.json 2>/dev/null ``

No package.json and a build request means a new project: route to saas-scaffolder.

  1. Route. An argument or an unambiguous request maps to the tables above (new → saas-scaffolder, db → database-designer, tenancy → multi-tenant, flags → feature-flags, metrics → saas-metrics-coach, cro → a follow-up picker with the three CRO sub-skills). Otherwise go to Decision points.
  1. Load one sub-skill. Read ${CLAUDE_SKILL_DIR}/<sub-skill>/SKILL.md (repo fallback: skills/ccc-saas/<sub-skill>/SKILL.md). If the file is missing, say so and stop. For a listed pair, finish the first before reading the second.
  1. Do the work as the sub-skill directs, matching the stack found in step 1 rather than the sub-skill's defaults when they differ.
  1. Verify. After any code change, run the project's own checks from package.json (for example npm run typecheck, npm test, npm run build), then git status --short. For schema changes, generate the migration (npx drizzle-kit generate with Drizzle) and show it before anything applies it. Report the actual output; on failure, fix within scope and rerun.

Decision points

No argument and no clear intent: ask with AskUserQuestion (header "SaaS"):

  • 🟢 Start a new SaaS — saas-scaffolder, then the greenfield campaign
  • Add or fix a feature — a follow-up picker: auth, database, API, frontend
  • Billing — stripe-subscriptions and billing-automation
  • Grow it — metrics and conversion: saas-metrics-coach first

Done when

  • Routing only: the sub-skill file was read and the user knows which one is active.
  • Code changed: the project's checks exited 0 in this turn and git status --short lists only the intended files.
  • Schema changed: the generated migration was shown to the user before it was applied.

Guardrails

  • Never apply a migration to a shared or production database, create live Stripe products or prices, or register production webhooks without the user's explicit OK at that moment.
  • Use Stripe test mode keys for development; never write secret keys into the repo.
  • Never load several sub-skills at once; route, execute, then move on.
  • Keep CRO sub-skills (conversion) separate from implementation sub-skills (auth, billing).

See also

  • /ccc-build — non-SaaS apps, APIs and CLIs
  • /ccc-design — visual direction and design tokens
  • /ccc-deploy — releases and environments
  • /ccc-marketing — launch copy and campaigns

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
6
Repository forks
1
7-day trend score
10

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/kevinzai/commander/ccc-saas/badge)](https://verified-skill.com/skills/kevinzai/commander/ccc-saas)

Something wrong with this skill or its page? Tell us.