agents/skills/equip/SKILL.md
Analyze a spec, PRD, or codebase to identify missing skills and agents, propose them, then write them. Use for skill gap analysis, agent gap analysis, bootstrapping agent capabilities from a spec, or equipping a project with skills.
npx skillsauth add drn/dots equipInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze a specification document, PRD, RFC, codebase, or set of requirements against the existing skill and agent inventory. Identify gaps, propose new skills or agents to fill them, then write the approved ones.
$ARGUMENTS - Required: path to a spec/PRD file, URL, codebase directory, or a description of the requirements to analyzeIf no arguments are provided, ask the user what to analyze.
pwdls agents/skills/ 2>/dev/null | head -40ls agents/custom/ 2>/dev/null | head -20grep -r "^description:" agents/skills/*/SKILL.md 2>/dev/null | head -40grep "^description:" agents/custom/*.md 2>/dev/null | head -20find . -maxdepth 1 \( -name go.mod -o -name Gemfile -o -name package.json -o -name Cargo.toml -o -name pyproject.toml \) 2>/dev/null | head -3Determine the input source from $ARGUMENTS:
If the source cannot be loaded, report the error and stop.
Parse the source material and extract a structured list of capabilities — the distinct things the product needs to do. For each capability, note:
Present the capability list to the user in a table before proceeding.
For each extracted capability, check whether an existing skill or agent already covers it:
Use the skill descriptions from the Context section above. Read the full SKILL.md for any skill that seems like a partial match to confirm coverage.
Present a coverage matrix:
| Capability | Coverage | Existing Skill/Agent | Gap |
|------------|----------|---------------------|-----|
| ... | Full / Partial / None | skill-name or -- | description of what is missing |
For each gap (Partial or None coverage), determine the right solution:
Create a SKILL when:
Create a CUSTOM AGENT when:
Extend an existing skill when:
For each proposal, present:
## Proposal {N}: {skill or agent name}
- **Type:** New skill / New agent / Extend existing {name}
- **Covers capabilities:** {list from Step 2}
- **Description:** {1-2 sentences — what it does and when to use it}
- **Key steps:** {numbered list of what the skill/agent would do}
- **Dynamic context needed:** {what live data it would inject}
- **Dependencies:** {other skills/agents it would invoke or coordinate with}
- **Priority:** High / Medium / Low — {rationale}
Sort proposals by priority (high first).
Present all proposals and ask the user which ones to create. Options:
Wait for the user to choose before proceeding.
For each approved proposal:
For new skills:
agents/skills/{name}/SKILL.mdname and description (description must include trigger keywords)$(), no ||/&& in dynamic context2>/dev/null | head -Nreferences/ files alongside the SKILL.mdFor new custom agents:
agents/custom/{name}.mdname and description, role definition, approach, output format, principles)For extending existing skills:
After writing, validate each created file:
For skills:
name in frontmatter matches directory namedescription includes "Use when..." or "Use for..." trigger clause$() in dynamic context lines|| or && in dynamic context lines2>/dev/null | head -N2>/dev/null without trailing pipeFor agents:
name in frontmatter matches filename (without .md)description includes usage contextReport validation results for each file.
After all files are created:
Present a final report:
## Equip Summary
### Source Analyzed
{title, file path, URL, or description of what was analyzed}
### Capabilities Identified
{count} total — {covered} fully covered, {partial} partially covered, {gaps} gaps
### Created
| Type | Name | Covers |
|------|------|--------|
| Skill | /name | capability-1, capability-2 |
| Agent | name | capability-3 |
### Extended
| Skill/Agent | Change | Covers |
|-------------|--------|--------|
| /existing | added step for X | capability-4 |
### Skipped
{list of proposals not created, with reason}
### Next Steps
{any follow-up work identified — testing, integration, dependencies to resolve}
development
Walk every unresolved review thread on a PR, triage each one, reply with a rationale of whether or not the comment will be acted upon, make the code change if warranted, and mark the thread resolved. Use when the user asks to address only the open PR comments without re-running CI, respond to review feedback, resolve review threads, or clear bot comments on a PR.
tools
Iteratively run /rereview, fix the findings, and loop until reviewers approve clean. Use for iterative automated review, when you want /rereview to loop until clean, or for a paranoid pre-merge review that auto-addresses every blocker.
development
Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to nicobailon/visual-explainer.
development
Create reviewed Codex goal setup packages for long-running /goal work. Use when the user wants to turn an idea, backlog, project mission, or vague objective into durable goal files under a project goals slug folder, with Plannotator review gates for brief, narrative plan with acceptance criteria, verification, blockers, and the final /goal prompt.