Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Build software with Claude Code, the AI-powered CLI coding agent. Use when a user asks to set up Claude Code, configure CLAUDE.md project files, use slash commands, manage permissions, create hooks, or optimize agentic coding workflows.
.claude/skills/terminalskills-claude-code/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 65% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 116% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 110% | 0% |
You are an expert in Claude Code, Anthropic's agentic coding assistant that runs in the terminal. You help developers configure CLAUDE.md project instructions, use Claude Code for complex multi-file refactors, set up MCP servers for tool access, manage permissions, and build effective AI-assisted development workflows where Claude reads code, writes files, runs tests, and iterates autonomously.
bash# Install npm install -g @anthropic-ai/claude-code # Start in any project directory cd my-project claude # Claude reads the codebase, understands the project structure, # and enters an interactive conversation where it can: # - Read and write files # - Run shell commands # - Search the codebase # - Create and apply diffs # - Run tests and fix failures
markdown<!-- CLAUDE.md at project root — Claude reads this automatically --> # Project: FinPay API ## Architecture - Next.js 15 App Router, TypeScript strict - Drizzle ORM + PostgreSQL - Stripe for payments - BullMQ for background jobs - Vitest + Testing Library for tests ## Commands - `pnpm dev` — Start development server - `pnpm test:unit` — Run unit tests - `pnpm typecheck` — TypeScript check - `pnpm lint` — ESLint - `pnpm db:migrate` — Run Drizzle migrations - `pnpm db:studio` — Open Drizzle Studio ## Code Conventions - Result pattern for errors (never throw in business logic) - Zod schemas for all external data validation - Structured logging with Pino (no console.log) - Feature flags via src/lib/flags.ts - All database queries through Drizzle, never raw SQL ## Before Making Changes 1. Read the relevant test file 2. Run existing tests for the module 3. After changes: `pnpm typecheck && pnpm test:unit` ## Do NOT - Add dependencies without asking - Modify database schema without creating a migration - Change auth logic without approval - Commit directly — create a branch and PR
markdown<!-- CLAUDE.md files can be nested --> <!-- src/payments/CLAUDE.md — specific to payment module --> # Payment Module Stripe is the payment provider. All Stripe API calls go through src/lib/stripe/client.ts which wraps the Stripe SDK with retry logic and structured error handling. ## Important: Webhook Idempotency Every webhook handler MUST check idempotency_key before processing. Stripe can send the same event multiple times. We store processed event IDs in the stripe_events table. ## Test Card Numbers - 4242424242424242 — successful payment - 4000000000000002 — declined - 4000000000009995 — insufficient funds
bash# Complex refactor — Claude reads, plans, edits, tests $ claude > Refactor the payment webhook handler. It's currently a 400-line > switch statement in src/app/api/webhooks/stripe/route.ts. Extract > each event type into a separate handler in src/lib/stripe/handlers/. > Each handler should validate with Zod, update the DB, and queue > side effects. Then update the tests. # Claude will: # 1. Read the current webhook handler # 2. Read existing test files # 3. Create handler files for each event type # 4. Write Zod schemas for event data # 5. Update the main route to dispatch to handlers # 6. Write tests for each handler # 7. Run typecheck + tests, fix any issues # Bug investigation — Claude reads logs, traces code, finds root cause $ claude > Users report that subscription upgrades aren't applying immediately. > Check the upgrade flow in src/lib/stripe/handlers/subscription-updated.ts > and the webhook logs in our Sentry MCP server. # One-shot mode — no interactive session $ claude -p "Add input validation to all API routes in src/app/api/ that are missing Zod schema validation. Run typecheck when done." # Pipe input $ cat error.log | claude -p "Analyze this error log and suggest a fix"
json// ~/.claude/mcp.json — Global MCP servers { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/dev/projects"] }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "ghp_xxx" } } } }
json// .mcp.json — Project-specific MCP servers (committed to repo) { "mcpServers": { "database": { "command": "npx", "args": ["tsx", "mcp-servers/database/index.ts"], "env": { "DATABASE_URL": "postgresql://localhost:5432/finpay_dev" } } } }
bash# Claude asks permission before: # - Writing or deleting files # - Running shell commands # - Making network requests # Permission modes: claude --allowedTools "Edit,Read,Bash(pnpm test*)" # Whitelist specific tools claude --dangerouslySkipPermissions # Skip all permission checks (CI only) # In CI/CD: # CLAUDE.md + --dangerouslySkipPermissions + trust boundary = automated code review
Example 1: User asks to set up claude-code
User: "Help me set up claude-code for my project"
The agent should:
Example 2: User asks to build a feature with claude-code
User: "Create a dashboard using claude-code"
The agent should:
claude -p in CI pipelines for automated code review, migration generation, and test writing| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 14,586 | 14,091 | -3% | 1 | 1 | 0% | 2,592 | 4,281 | +65% | 0 | 0 | — |
case-02 | fail→pass | 9,665 | 4,164 | -57% | 1 | 1 | 0% | 1,969 | 2,485 | +26% | 0 | 0 | — |
case-03 | pass→pass | 8,768 | 3,110 | -65% | 1 | 1 | 0% | 1,505 | 2,289 | +52% | 0 | 0 | — |
case-04 | pass→pass | 12,280 | 2,947 | -76% | 1 | 1 | 0% | 425 | 2,220 | +422% | 0 | 0 | — |
case-05 | pass→pass | 2,999 | 3,272 | +9% | 1 | 1 | 0% | 426 | 2,275 | +434% | 0 | 0 | — |
case-06 | fail→fail | 10,326 | 6,047 | -41% | 1 | 1 | 0% | 1,886 | 2,752 | +46% | 0 | 0 | — |
case-07 | pass→pass | 14,652 | 11,637 | -21% | 1 | 1 | 0% | 2,312 | 3,836 | +66% | 0 | 0 | — |
case-08 | pass→pass | 2,138 | 1,983 | -7% | 1 | 1 | 0% | 305 | 1,996 | +554% | 0 | 0 | — |
case-09 | fail→pass | 14,440 | 3,499 | -76% | 1 | 1 | 0% | 2,535 | 2,346 | -7% | 0 | 0 | — |
case-10 | pass→pass | 3,115 | 3,032 | -3% | 1 | 1 | 0% | 490 | 2,157 | +340% | 0 | 0 | — |
case-11 | pass→pass | 2,526 | 2,348 | -7% | 1 | 1 | 0% | 426 | 1,987 | +366% | 0 | 0 | — |
case-12 | pass→pass | 25,011 | 1,592 | -94% | 1 | 1 | 0% | 6,140 | 1,962 | -68% | 0 | 0 | — |
case-13 | pass→pass | 7,173 | 1,841 | -74% | 1 | 1 | 0% | 1,032 | 2,013 | +95% | 0 | 0 | — |
case-14 | fail→fail | 12,053 | 6,214 | -48% | 1 | 1 | 0% | 1,998 | 2,709 | +36% | 0 | 0 | — |
case-15 | pass→pass | 12,030 | 13,798 | +15% | 1 | 1 | 0% | 2,174 | 4,404 | +103% | 0 | 0 | — |
case-16 | fail→pass | 5,754 | 1,748 | -70% | 1 | 1 | 0% | 915 | 1,978 | +116% | 0 | 0 | — |
case-17 | fail→pass | 6,394 | 2,262 | -65% | 1 | 1 | 0% | 985 | 2,071 | +110% | 0 | 0 | — |
case-18 | pass→pass | 5,971 | 2,109 | -65% | 1 | 1 | 0% | 934 | 2,002 | +114% | 0 | 0 | — |
case-19 | pass→pass | 2,832 | 3,702 | +31% | 1 | 1 | 0% | 416 | 2,255 | +442% | 0 | 0 | — |
case-20 | pass→pass | 12,532 | 12,163 | -3% | 1 | 1 | 0% | 2,136 | 3,892 | +82% | 0 | 0 | — |
case-21 | pass→pass | 10,819 | 11,109 | +3% | 1 | 1 | 0% | 1,794 | 3,777 | +111% | 0 | 0 | — |
case-22 | pass→pass | 12,984 | 13,521 | +4% | 1 | 1 | 0% | 2,831 | 4,772 | +69% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +23 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.