You don't need to name a skill by hand for Claude Code to use it. Each skill's description is
written to match the way someone would actually ask for the underlying task, so a plain request
usually reaches the right one on its own. Naming it explicitly is a fast path when you already know
which skill you want, not a requirement.

## What reliably works

- **"Add invoices, one per project, with an amount and a due date."** This reads as a new
  account-scoped resource and reaches `crud-with-billing`. Mention up front whether it should be
  free or paid; that's the one input the skill can't infer from the feature description alone.
- **"Send an email when a subscription is about to renew."** This is `add-mailer` plus, if the send
  should happen on a schedule rather than immediately, `add-job` alongside it.
- **"Post a Slack message when someone cancels."** A new third-party service reaches
  `add-integration`, which sets up the real-client-or-fake seam rather than a direct API call from
  inside a controller.
- **"Write a post about how the pricing page works."** Reaches `write-post`, which knows the
  front-matter fields and the structure that earns citations, so you don't have to specify either.
- **"Turn this into my own product called Acme."** On a fresh clone, this is exactly what
  `bootstrap-app` exists for, and `CLAUDE.md` tells Claude Code to run it before touching anything
  else. If you've already bootstrapped once, phrase it as a specific rebrand request instead
  ("change the accent color to blue"), so the agent edits rather than re-running the whole skill.

## What to include, regardless of which skill applies

- **Whether a feature is paid or free.** This one detail changes whether `RequireEntitlement` gets
  included, and it's the input none of the skills can guess correctly on their own.
- **The account-scoping expectation, if you're asking for something unusual.** Every resource is
  scoped to `Current.account` by default; if you genuinely need something account-independent
  (rare), say so explicitly, since the default assumption throughout the kit is tenant-scoped data.
- **Whether existing UI needs to change**, versus just the backend. The skills scaffold views too,
  but they scaffold in the Terminal design system's existing classes; if you want a different
  layout, describe it rather than letting the skill's default template stand.

## When to name the skill directly

Naming a skill explicitly (`/crud-with-billing`, `/add-integration`) is useful mainly when your
request could plausibly match more than one skill, or when you're re-running a skill you already
used once for a similar feature and want to skip the "which skill fits" reasoning. Otherwise, just
describe what you want built; the routing is designed to work from that description alone.

## Next

You've now covered every skill in the kit. Return to
[How CLAUDE.md Works](/docs/claude-code/how-claude-md-works) for the map that ties them together, or
move on to [Working with Cursor](/docs/cursor/setting-up-cursor), which covers the same ground from
inside an editor.
