mcpskills.net
SkillsMCPsAgentsPrompts
mcpskills.net — A curated directory of AI agent Skills and MCP servers
TermsPrivacy
← Back to Skills
Development

Using Agent Skills

Discovers and invokes agent skills. Use when starting a session or when you need to discover which skill applies to the current task.

by Addy OsmaniRepository →Source →

Agent Skills is a collection of engineering workflow skills organized by development phase. This meta-skill helps you discover and apply the right skill.

Skill Discovery

When a task arrives, identify the development phase and apply the corresponding skill:

Task arrives
    │
    ├── Don't know what you want yet? ──────→ interview-me
    ├── Have a rough concept, need variants? → idea-refine
    ├── New project/feature/change? ──→ spec-driven-development
    ├── Have a spec, need tasks? ──────→ planning-and-task-breakdown
    ├── Implementing code? ────────────→ incremental-implementation
    │   ├── UI work? ─────────────────→ frontend-ui-engineering
    │   ├── API work? ────────────────→ api-and-interface-design
    │   ├── Need better context? ─────→ context-engineering
    │   ├── Need doc-verified code? ───→ source-driven-development
    │   └── Stakes high / unfamiliar? ──→ doubt-driven-development
    ├── Writing/running tests? ────────→ test-driven-development
    │   └── Browser-based? ───────────→ browser-testing-with-devtools
    ├── Something broke? ──────────────→ debugging-and-error-recovery
    ├── Reviewing code? ───────────────→ code-review-and-quality
    │   ├── Too complex? ─────────────→ code-simplification
    │   ├── Security concerns? ───────→ security-and-hardening
    │   └── Performance concerns? ────→ performance-optimization
    ├── Committing/branching? ─────────→ git-workflow-and-versioning
    ├── CI/CD pipeline work? ──────────→ ci-cd-and-automation
    ├── Deprecating/migrating? ────────→ deprecation-and-migration
    ├── Writing docs/ADRs? ───────────→ documentation-and-adrs
    ├── Adding logs/metrics/alerts? ───→ observability-and-instrumentation
    └── Deploying/launching? ─────────→ shipping-and-launch

Core Operating Behaviors

1. Surface Assumptions

Before implementing anything non-trivial, explicitly state your assumptions:

ASSUMPTIONS I'M MAKING:
1. [assumption about requirements]
2. [assumption about architecture]
3. [assumption about scope]
→ Correct me now or I'll proceed with these.

2. Manage Confusion Actively

When you encounter inconsistencies:

  1. STOP. Do not proceed with a guess.
  2. Name the specific confusion.
  3. Present the tradeoff or ask the clarifying question.
  4. Wait for resolution before continuing.

3. Push Back When Warranted

You are not a yes-machine. When an approach has clear problems:

  • Point out the issue directly
  • Explain the concrete downside
  • Propose an alternative
  • Accept the human's decision if they override

4. Enforce Simplicity

Before finishing any implementation, ask:

  • Can this be done in fewer lines?
  • Are these abstractions earning their complexity?
  • Would a staff engineer look at this and say "why didn't you just..."?

5. Maintain Scope Discipline

Touch only what you're asked to touch. Do NOT:

  • "Clean up" code orthogonal to the task
  • Refactor adjacent systems as a side effect
  • Add features not in the spec

6. Verify, Don't Assume

Every skill includes a verification step. A task is not complete until verification passes.

Lifecycle Sequence

For a complete feature:

1.  interview-me                → Extract what the user actually wants
2.  idea-refine                 → Refine vague ideas
3.  spec-driven-development     → Define what we're building
4.  planning-and-task-breakdown → Break into verifiable chunks
5.  context-engineering         → Load the right context
6.  source-driven-development   → Verify against official docs
7.  incremental-implementation  → Build slice by slice
8.  test-driven-development     → Prove each slice works
9.  code-review-and-quality     → Review before merge
10. code-simplification         → Reduce unnecessary complexity
11. git-workflow-and-versioning → Clean commit history
12. documentation-and-adrs      → Document decisions
13. deprecation-and-migration   → Retire old systems when needed
14. shipping-and-launch         → Deploy safely

Quick Reference

| Phase | Skill | Summary | |-------|-------|---------| | Define | interview-me | Surface what the user actually wants | | Define | idea-refine | Refine ideas through divergent/convergent thinking | | Define | spec-driven-development | Requirements before code | | Plan | planning-and-task-breakdown | Decompose into verifiable tasks | | Build | incremental-implementation | Thin vertical slices | | Build | source-driven-development | Verify against official docs | | Build | doubt-driven-development | Adversarial review of non-trivial decisions | | Build | context-engineering | Right context at the right time | | Build | frontend-ui-engineering | Production-quality UI | | Build | api-and-interface-design | Stable interfaces with clear contracts | | Verify | test-driven-development | Failing test first, then make it pass | | Verify | browser-testing-with-devtools | Runtime verification | | Verify | debugging-and-error-recovery | Reproduce → localize → fix → guard | | Review | code-review-and-quality | Five-axis review | | Review | code-simplification | Reduce complexity while preserving behavior | | Review | security-and-hardening | OWASP prevention, least privilege | | Review | performance-optimization | Measure first, optimize only what matters | | Ship | git-workflow-and-versioning | Atomic commits, clean history | | Ship | ci-cd-and-automation | Automated quality gates | | Ship | deprecation-and-migration | Remove old systems safely | | Ship | documentation-and-adrs | Document the why | | Ship | observability-and-instrumentation | Logs, metrics, traces | | Ship | shipping-and-launch | Pre-launch checklist, rollback |