Using Agent Skills
Overview
This is the meta-skill for discovering and invoking the right skill, command, or agent for any task. It includes a decision tree for task-to-skill mapping and core operating behaviors that all agents should follow.
When to Use
- Starting a new session and unsure which skill applies
- Task doesn't clearly match a single skill
- Need to understand the full capability landscape
- Debugging why an agent isn't following expected workflows
Decision Tree: Task to Skill Mapping
What are you trying to do?
DEFINE (understand the problem)
→ Turning a vague idea into something concrete?
→ idea-refine
→ Writing requirements before coding?
→ spec-driven-development
PLAN (break down the work)
→ Decomposing a spec into implementable tasks?
→ planning-and-task-breakdown
→ Researching before planning?
→ comprehensive-research
BUILD (write the code)
→ Implementing a feature across multiple files?
→ incremental-implementation
→ Writing tests first?
→ test-driven-development
→ Need the right documentation?
→ source-driven-development
→ Building user-facing interfaces?
→ frontend-ui-engineering
→ Designing an API or module boundary?
→ api-and-interface-design
→ Need the right context loaded?
→ context-engineering
VERIFY (prove it works)
→ Testing in the browser?
→ browser-testing-with-devtools
→ Something is broken?
→ debugging-and-error-recovery
REVIEW (improve code health)
→ Reviewing code before merge?
→ code-review-and-quality
→ Code works but is hard to read?
→ code-simplification
→ Security concerns?
→ security-and-hardening
→ Performance issues?
→ performance-optimization
SHIP (deploy safely)
→ Preparing for production?
→ shipping-and-launch
→ Managing git workflow?
→ git-workflow-and-versioning
→ Setting up CI/CD?
→ ci-cd-and-automation
→ Deprecating old code?
→ deprecation-and-migration
→ Documenting decisions?
→ documentation-and-adrs
SPECIALIZED
→ Analyzing dependencies or architecture?
→ dependency-graph-analysis
→ Building knowledge graphs?
→ graphify or graph-rag
→ Creating plugins/commands/skills?
→ plugin-dev
→ Optimizing prompts?
→ incentive-prompting or prompt-refinement
→ Cleaning up AI verbosity?
→ text-cleanup
→ Managing git worktrees?
→ git-worktree
→ Deploying to Coolify?
→ coolify-deploy
Core Operating Behaviors
1. Surface Assumptions
Before acting, state what you're assuming:
- "I'm assuming this is a new feature, not a bug fix"
- "I'm assuming we're using the existing auth pattern"
- "I'm assuming the database schema doesn't need changes"
2. Manage Confusion
When uncertain, say so explicitly:
- "I'm not sure which pattern applies here"
- "This could be interpreted two ways"
- "I need more context about the expected behavior"
3. Push Back
Challenge requirements when needed:
- "This approach will create tight coupling. Consider..."
- "The spec says X, but the existing code does Y. Which is correct?"
- "This change is too large for one commit. Should we split it?"
4. Enforce Simplicity
Prefer simple solutions:
- "Can we solve this with a function instead of a class?"
- "Do we need a new dependency, or can we use what we have?"
- "Is there a simpler way to handle this edge case?"
5. Scope Discipline
Stay within boundaries:
- "This is out of scope for the current task"
- "I'll note this as a follow-up, not implement it now"
- "The spec covers A and B, but not C. Should I expand scope?"
6. Verify
Always prove correctness:
- "Seems right" is never sufficient
- Run tests, check build output, verify runtime behavior
- Provide evidence: passing tests, screenshots, logs
Anti-Rationalization Table
| Excuse |
Counter |
| "I'll add tests later" |
Tests are proof. Without them, you have no evidence it works. Write tests first or alongside. |
| "This is simple enough to skip the spec" |
Simple now, complex later. A 5-minute spec prevents 5-hour rewrites. |
| "I know this pattern, no need to check docs" |
Frameworks change. Source-driven development prevents subtle bugs from outdated knowledge. |
| "The code works, no need to simplify" |
Working code that's hard to read is technical debt. Future you (or teammates) will pay the cost. |
| "I'll fix the security issue in the next PR" |
Security issues are stop-the-line. Fix now or create a tracked issue with severity. |
| "This only affects one file, no review needed" |
Every change deserves review. Even small changes can have cascading effects. |
| "I'll document it later" |
Undocumented code is a time bomb. Document the why, not the what, while it's fresh. |
Composition Rules
- Agents do NOT invoke other agents — enforced by platform constraint
- Agents MAY invoke skills — skills are instructions, not agents
- The user or a slash command is the orchestrator — no router agents
- Skills auto-activate based on context — no manual skill selection needed
- Teams cannot nest — flat hierarchy only
References
references/orchestration-patterns.md — Endorsed and anti-pattern orchestration approaches
references/testing-patterns.md — Test structure, naming, mocking, examples
references/security-checklist.md — Pre-commit checks, OWASP Top 10, secrets management
references/performance-checklist.md — Core Web Vitals, frontend/backend checklists
references/accessibility-checklist.md — Keyboard nav, screen readers, WCAG 2.1 AA
1---2name: using-agent-skills-23description: Discovery and invocation of all skills, commands, and agents. Decision tree for task-to-skill mapping. Core operating behaviors for agents. Use when unsure which skill or agent to use.4---56# Using Agent Skills78## Overview910This is the meta-skill for discovering and invoking the right skill, command, or agent for any task. It includes a decision tree for task-to-skill mapping and core operating behaviors that all agents should follow.1112## When to Use1314- Starting a new session and unsure which skill applies15- Task doesn't clearly match a single skill16- Need to understand the full capability landscape17- Debugging why an agent isn't following expected workflows1819## Decision Tree: Task to Skill Mapping2021```22What are you trying to do?2324DEFINE (understand the problem)25 → Turning a vague idea into something concrete?26 → idea-refine27 → Writing requirements before coding?28 → spec-driven-development2930PLAN (break down the work)31 → Decomposing a spec into implementable tasks?32 → planning-and-task-breakdown33 → Researching before planning?34 → comprehensive-research3536BUILD (write the code)37 → Implementing a feature across multiple files?38 → incremental-implementation39 → Writing tests first?40 → test-driven-development41 → Need the right documentation?42 → source-driven-development43 → Building user-facing interfaces?44 → frontend-ui-engineering45 → Designing an API or module boundary?46 → api-and-interface-design47 → Need the right context loaded?48 → context-engineering4950VERIFY (prove it works)51 → Testing in the browser?52 → browser-testing-with-devtools53 → Something is broken?54 → debugging-and-error-recovery5556REVIEW (improve code health)57 → Reviewing code before merge?58 → code-review-and-quality59 → Code works but is hard to read?60 → code-simplification61 → Security concerns?62 → security-and-hardening63 → Performance issues?64 → performance-optimization6566SHIP (deploy safely)67 → Preparing for production?68 → shipping-and-launch69 → Managing git workflow?70 → git-workflow-and-versioning71 → Setting up CI/CD?72 → ci-cd-and-automation73 → Deprecating old code?74 → deprecation-and-migration75 → Documenting decisions?76 → documentation-and-adrs7778SPECIALIZED79 → Analyzing dependencies or architecture?80 → dependency-graph-analysis81 → Building knowledge graphs?82 → graphify or graph-rag83 → Creating plugins/commands/skills?84 → plugin-dev85 → Optimizing prompts?86 → incentive-prompting or prompt-refinement87 → Cleaning up AI verbosity?88 → text-cleanup89 → Managing git worktrees?90 → git-worktree91 → Deploying to Coolify?92 → coolify-deploy93```9495## Core Operating Behaviors9697### 1. Surface Assumptions98Before acting, state what you're assuming:99- "I'm assuming this is a new feature, not a bug fix"100- "I'm assuming we're using the existing auth pattern"101- "I'm assuming the database schema doesn't need changes"102103### 2. Manage Confusion104When uncertain, say so explicitly:105- "I'm not sure which pattern applies here"106- "This could be interpreted two ways"107- "I need more context about the expected behavior"108109### 3. Push Back110Challenge requirements when needed:111- "This approach will create tight coupling. Consider..."112- "The spec says X, but the existing code does Y. Which is correct?"113- "This change is too large for one commit. Should we split it?"114115### 4. Enforce Simplicity116Prefer simple solutions:117- "Can we solve this with a function instead of a class?"118- "Do we need a new dependency, or can we use what we have?"119- "Is there a simpler way to handle this edge case?"120121### 5. Scope Discipline122Stay within boundaries:123- "This is out of scope for the current task"124- "I'll note this as a follow-up, not implement it now"125- "The spec covers A and B, but not C. Should I expand scope?"126127### 6. Verify128Always prove correctness:129- "Seems right" is never sufficient130- Run tests, check build output, verify runtime behavior131- Provide evidence: passing tests, screenshots, logs132133## Anti-Rationalization Table134135| Excuse | Counter |136|--------|---------|137| "I'll add tests later" | Tests are proof. Without them, you have no evidence it works. Write tests first or alongside. |138| "This is simple enough to skip the spec" | Simple now, complex later. A 5-minute spec prevents 5-hour rewrites. |139| "I know this pattern, no need to check docs" | Frameworks change. Source-driven development prevents subtle bugs from outdated knowledge. |140| "The code works, no need to simplify" | Working code that's hard to read is technical debt. Future you (or teammates) will pay the cost. |141| "I'll fix the security issue in the next PR" | Security issues are stop-the-line. Fix now or create a tracked issue with severity. |142| "This only affects one file, no review needed" | Every change deserves review. Even small changes can have cascading effects. |143| "I'll document it later" | Undocumented code is a time bomb. Document the why, not the what, while it's fresh. |144145## Composition Rules1461471. **Agents do NOT invoke other agents** — enforced by platform constraint1482. **Agents MAY invoke skills** — skills are instructions, not agents1493. **The user or a slash command is the orchestrator** — no router agents1504. **Skills auto-activate based on context** — no manual skill selection needed1515. **Teams cannot nest** — flat hierarchy only152153## References154155- `references/orchestration-patterns.md` — Endorsed and anti-pattern orchestration approaches156- `references/testing-patterns.md` — Test structure, naming, mocking, examples157- `references/security-checklist.md` — Pre-commit checks, OWASP Top 10, secrets management158- `references/performance-checklist.md` — Core Web Vitals, frontend/backend checklists159- `references/accessibility-checklist.md` — Keyboard nav, screen readers, WCAG 2.1 AA