
Using Agent Skills
Route any incoming dev task to the right workflow skill in the addyosmani/agent-skills collection at session start or when you are unsure which skill applies.
Overview
Using Agent Skills is a journey-wide agent skill that discovers and invokes the right workflow skill from a phased collection—usable whenever a solo builder starts a session or needs to know which SKILL.md applies before
Install
npx skills add https://github.com/addyosmani/agent-skills --skill using-agent-skillsWhat is this skill?
- Decision tree maps tasks to development phases and named skills (interview-me through debugging).
- Explicit triggers: start of session or unknown which skill fits the current task.
- Branches UI, API, context, doc-verified, and doubt-driven paths under incremental implementation.
- Splits testing into TDD vs browser DevTools workflows.
- Meta-layer that must run before ad-hoc skill guessing in multi-skill repos.
- Phase-mapped discovery tree references 13+ named workflow skills across idea, build, test, and debug branches.
Adoption & trust: 4.1k installs on skills.sh; 49.1k GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+200% hot-view momentum).
What problem does it solve?
You have a task or a fresh agent session but no reliable way to choose which workflow skill to load from a large skills repo.
Who is it for?
Repos that bundle many agent-skills and builders who want one entry ritual for routing tasks across idea, build, ship, and debug work.
Skip if: Sessions where you already know the exact skill slug and triggers, or environments without installable/discoverable SKILL.md skills.
When should I use this skill?
Starting a session or when you need to discover which skill applies to the current task.
What do I get? / Deliverables
Your agent follows the phase-mapped discovery tree and invokes the appropriate specialized skill (for example spec-driven-development or incremental-implementation) instead of improvising without a process.
- Named target skill recommendation from the discovery tree
- Phase-appropriate workflow choice (spec, plan, implement, test, or debug)
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
A vague product ask arrives and you route to interview-me or idea-refine before any spec work.
You have a rough concept and invoke spec-driven-development via the tree before task breakdown.
API work is flagged and the tree steers you to api-and-interface-design under incremental implementation.
You need verification and choose test-driven-development or browser-testing-with-devtools from the testing branch.
Production or local breakage triggers the debugging path instead of random printf debugging.
How it compares
Use instead of manually skimming a skills folder or asking the model to guess which workflow doc to follow.
Common Questions / FAQ
Who is using-agent-skills for?
Solo and indie builders using Claude Code, Cursor, Codex, or similar agents who maintain a multi-skill engineering workflow repo and need consistent discovery at session start.
When should I use using-agent-skills?
At the beginning of any agent session, when task type is ambiguous, during validate/scope when choosing interview-me or idea-refine, during build when picking implementation or UI/API skills, during ship when selecting TDD or browser-testing paths, and during operate/debug when s
Is using-agent-skills safe to install?
It is documentation-only routing guidance with no built-in shell or network calls in the skill body; review the Security Audits panel on this Prism page and your agent’s skill-install source before trusting third-party SKILL.md files.
SKILL.md
READMESKILL.md - Using Agent Skills
# Using Agent Skills ## Overview Agent Skills is a collection of engineering workflow skills organized by development phase. Each skill encodes a specific process that senior engineers follow. This meta-skill helps you discover and apply the right skill for your current task. ## 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 code? ──→ 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 └── Deploying/launching? ─────────→ shipping-and-launch ``` ## Core Operating Behaviors These behaviors apply at all times, across all skills. They are non-negotiable. ### 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. ``` Don't silently fill in ambiguous requirements. The most common failure mode is making wrong assumptions and running with them unchecked. Surface uncertainty early — it's cheaper than rework. ### 2. Manage Confusion Actively When you encounter inconsistencies, conflicting requirements, or unclear specifications: 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. **Bad:** Silently picking one interpretation and hoping it's right. **Good:** "I see X in the spec but Y in the existing code. Which takes precedence?" ### 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 (quantify when possible — "this adds ~200ms latency" not "this might be slower") - Propose an alternative - Accept the human's decision if they override with full information Sycophancy is a failure mode. "Of course!" followed by implementing a bad idea helps no one. Honest technical disagreement is more valuable than false agreement. ### 4. Enforce Simplicity Your natural tendency is to overcomplicate. Actively resist it. 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..."? If you build 1000 lines and 100 would suffice, you have failed. P