From skill-forge
Use when creating a new skill, improving an existing skill, reviewing skill quality, or the user asks to "create a skill", "write a skill", "build a skill", "improve this skill", "make a skill for X". Also use when skills produce inconsistent or low-quality results, when an agent fails to discover a skill, or when a discipline skill gets rationalized around.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-forge:skill-forgeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create production-ready agent skills that are discoverable, context-efficient, and reliably followed. A skill's description determines whether it is ever loaded; its body determines what an agent does; its supporting files keep both lean.
Create production-ready agent skills that are discoverable, context-efficient, and reliably followed. A skill's description determines whether it is ever loaded; its body determines what an agent does; its supporting files keep both lean.
A skill only works if the agent obeys it. Apply all five levers to every skill; they are checked in Phase 6. Full guide with before/after rewrites: references/behavioral-force.md.
This skill, and every skill it builds, runs in any agent harness — not only Claude Code. Tool names below are Claude Code's; map each to the current harness via references/harness-tools.md. When a harness lacks a named tool, use that file's fallback — never skip the step. Build generated skills the same way (Portability rules in references/rules.md).
skill-creator:skill-creator (ships eval-viewer/generate_review.py and an automated description-optimization loop)plugin-dev:skill-development (handles plugin packaging, ${CLAUDE_PLUGIN_ROOT}, manifest fields). Packaging is harness-specific; the skill content this skill produces stays harness-neutral.settings.json) — hooks execute outside the agent and are not skillsGather before drafting — by interviewing the user when any of it is ambiguous (Phase 1), not by assuming:
Follow phases in order. Do not skip phases.
Clarify before scoping. If the skill's purpose, triggers, boundaries, or definition of success are at all ambiguous, interview the user before drafting. Ask targeted questions until you can restate — and the user confirms — the trigger scenarios, the non-triggers, and the core behavior. Never draft from assumptions. When the user says "just make reasonable choices," proceed, but state every assumption explicitly. (If the harness has an intent-exploration skill — e.g. superpowers:brainstorming in Claude Code — use it.)
Offer a multiple-choice UI for the questions. Prefer the harness's multi-option question UI (Claude Code: the AskUserQuestion tool — see references/harness-tools.md for other harnesses) so the user moves through the decisions by picking options instead of writing prose. Where no such UI exists, ask as a numbered list and let the user reply with a number. Give 2–4 concrete options per question, each with a one-line "why", and always leave room for a custom answer. Fall back to open-ended questions only when the choices are genuinely unbounded.
Then scope:
Conclude with: trigger scenarios, negative boundaries, skill type, planned resources, known collisions.
Draft against the canonical template in references/body-template.md. Hit the word target for the skill type — the authoritative table lives in references/rules.md (Word Targets). Hard cap: 2,500 words for any skill; content beyond the target moves to references/.
Use imperative voice throughout. No second person in the body. Apply the five behavioral-force levers as you draft (references/behavioral-force.md) — they are checked in Phase 6.
After drafting, identify sections that exceed the target, dense reference material, or repeated code patterns. Extract these — not before. Most simple skills need no supporting files; single-file SKILL.md is the default.
| Resource | When to Extract | Context Cost |
|---|---|---|
scripts/ | Same code repeated across invocations; deterministic reliability needed | Near-zero (executed, sometimes read first for inspection) |
references/ | Detailed docs, schemas, patterns > 500 words | On-demand only |
assets/ | Templates, images, boilerplate copied into output | Zero (copied, not read) |
examples/ | Complete, runnable demonstrations | On-demand only |
Reference every supporting file from the body. Unreferenced files are invisible to the agent.
The description determines whether the skill loads at all. Two rules dominate:
references/description-guide.md.The full Description Rules (length cap, required elements) are owned by references/rules.md; references/description-guide.md explains why each matters.
Skeleton:
description: >
Use when [primary trigger], [secondary trigger],
or the user asks to "<exact phrase 1>", "<exact phrase 2>".
Also when [symptom keyword] or [error message string].
Verify discoverability before finalizing: imagine 3–5 phrasings a user might use. Read only the description. Would you recall this skill from each phrasing? Iterate until yes.
For automated trigger-rate evaluation across many phrasings, defer to skill-creator:skill-creator's description-optimization loop.
Skip for technique, reference, and simple workflow skills — overengineering weakens them.
Discipline skills require hardening because agents rationalize around constraints under pressure.
subagent_type=general-purpose; otherwise the harness's subagent mechanism or a separate fresh session — see references/harness-tools.md) and give it the discipline's task. Record the rationalizations it uses to cut corners.The required bulletproofing items are listed in references/rules.md (Bulletproofing Requirements); references/bulletproofing-guide.md covers the techniques and examples.
Load references/rules.md, then run every item in references/validation-checklist.md — the checklist cites the registry for authoritative values. A single "no" means the skill is not ready.
Use the skill on real tasks. Note where the agent struggles or deviates. Common iteration targets:
references/For quantitative iteration with eval harnesses, defer to skill-creator:skill-creator.
Prefer:
Avoid:
@filename force-loading from SKILL.md — consumes context regardless of needConstraints:
The skill is ready when ALL of these hold. These are the seven gates by name; the authoritative gate — with failure-frequency notes — is owned by references/rules.md (Quality Gate) and is run in Phase 6.
references/If any answer is "no," iterate.
| Mistake | Fix |
|---|---|
| Description summarizes the workflow | Strip to triggers only; move process language to body |
| Missing "Do Not Use When" | Add it; single most common omission |
| Name is ambiguous or non-functional (collides with a common meaning, or doesn't say what it does) | Make it functional and unambiguous; verb-first is the safe default |
| Drafting from assumed intent | Clarify with the user first (Phase 1); restate scope and get confirmation before drafting |
| Supporting files exist but aren't referenced | Add to "Additional Resources" or delete them |
| Resources built before SKILL.md drafted | Draft body first, extract when sections overflow |
| Discipline skill without bulletproofing | Add rationalization table, red flags, loophole closings |
| SKILL.md crosses the word cap | Move sections to references/; verify links |
| Multiple skills overlap silently | Position via "Do Not Use When" — name the competitor |
| Inline content duplicates a reference file | Link to the reference, don't duplicate |
| Skill teaches a structure it doesn't follow | Rewrite the skill against its own template |
skill-creator:skill-creator's automated optimization loop.references/bulletproofing-guide.md Technique 6.references/. If references/ also exceeds a single topic, split the skill itself.references/rules.md — The rule registry: single source of truth for word targets, skill types, the per-type recipe, description rules, required sections, the quality gate, behavioral-force rules, and bulletproofing requirements. Every other file cites it; change a rule here and nowhere else. Loaded in Phase 6.references/behavioral-force.md — The five levers that make an agent obey a skill (imperative force, positive specification, load-bearing examples, concrete anchors, position), with before/after rewrites. Apply in Phase 2.references/harness-tools.md — Maps Claude Code tool names to other harnesses (Cursor, Codex, Gemini, Copilot, generic) with fallbacks. Consult whenever the skill names a tool and the harness is not Claude Code.references/body-template.md — Canonical SKILL.md body template with section rationale and skill-type adaptations. Use as the literal starting point in Phase 2.references/description-guide.md — Description anti-patterns, the empirical "one review vs two reviews" finding, and a description checklist. Consult in Phase 4.references/bulletproofing-guide.md — Six techniques for hardening discipline skills against rationalization, plus an integration checklist. Consult in Phase 5.references/validation-checklist.md — Binary pre-flight checklist run as the final gate in Phase 6.examples/simple-skill-example.md — Complete single-file technique skill (~600 words). Use as a model when drafting simple skills.examples/complex-skill-example.md — Complete workflow skill using references/, examples/, and scripts/. Use as a model when drafting complex skills.Reference other skills by name with explicit requirement markers:
**REQUIRED BACKGROUND:** Understand superpowers:test-driven-development before using this skill.
Never force-load with @ syntax — it consumes context immediately regardless of need.
A skill that is found but not obeyed is wasted. Before shipping any skill, drive behavior: command, don't suggest; specify the action, don't just forbid; show one example; anchor with numbers; put what matters first and last. Then confirm the skill follows every rule it teaches — self-consistency (gate #6) is the most commonly failed check.
Provides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.
npx claudepluginhub adriancodes/skillforge --plugin skill-forge