Prompting Patterns
How to phrase a feature request so Claude Code reaches for the right skill on its own.
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-mailerplus, if the send should happen on a schedule rather than immediately,add-jobalongside 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-appexists for, andCLAUDE.mdtells 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
RequireEntitlementgets 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.accountby 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 for the map that ties them together, or move on to Working with Cursor, which covers the same ground from inside an editor.