
Writing Skills
Create or refine agent skills using TDD—pressure scenarios, baseline failure, minimal SKILL.md, refactor loopholes.
Install
npx skills add https://github.com/obra/superpowers-skills --skill writing-skillsWhat is this skill?
- Maps TDD red-green-refactor directly to skill authoring workflow.
- SKILL.md structure rules: when-to-use descriptions, progressive disclosure, flat namespace.
- Requires watching agents fail without the skill before writing it.
Adoption & trust: 75 installs on skills.sh; 692 GitHub stars; 2/3 security scanners passed (skills.sh audits).
Recommended Skills
Find Skillsvercel-labs/skills
Skill Creatoranthropics/skills
Lark Skill Makerlarksuite/cli
Skills Clixixu-me/skills
Write A Skillmattpocock/skills
Using Superpowersobra/superpowers
Journey fit
Common Questions / FAQ
Is Writing Skills safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Writing Skills
# Writing Skills ## Overview **Writing skills IS Test-Driven Development applied to process documentation.** **Skills are written to `${SUPERPOWERS_SKILLS_ROOT}` (cloned to `~/.config/superpowers/skills/`).** You edit skills in your local branch of this repository. You write test cases (pressure scenarios with subagents), watch them fail (baseline behavior), write the skill (documentation), watch tests pass (agents comply), and refactor (close loopholes). **Core principle:** If you didn't watch an agent fail without the skill, you don't know if the skill teaches the right thing. See skills/testing/test-driven-development for the fundamental RED-GREEN-REFACTOR cycle. This skill adapts TDD to documentation. ## What is a Skill? A **skill** is a reference guide for proven techniques, patterns, or tools. Skills help future Claude instances find and apply effective approaches. **Skills are:** Reusable techniques, patterns, tools, reference guides **Skills are NOT:** Narratives about how you solved a problem once ## TDD Mapping for Skills | TDD Concept | Skill Creation | |-------------|----------------| | **Test case** | Pressure scenario with subagent | | **Production code** | Skill document (SKILL.md) | | **Test fails (RED)** | Agent violates rule without skill (baseline) | | **Test passes (GREEN)** | Agent complies with skill present | | **Refactor** | Close loopholes while maintaining compliance | | **Write test first** | Run baseline scenario BEFORE writing skill | | **Watch it fail** | Document exact rationalizations agent uses | | **Minimal code** | Write skill addressing those specific violations | | **Watch it pass** | Verify agent now complies | | **Refactor cycle** | Find new rationalizations → plug → re-verify | The entire skill creation process follows RED-GREEN-REFACTOR. ## When to Create a Skill **Create when:** - Technique wasn't intuitively obvious to you - You'd reference this again across projects - Pattern applies broadly (not project-specific) - Others would benefit **Don't create for:** - One-off solutions - Standard practices well-documented elsewhere - Project-specific conventions (put in CLAUDE.md) ## Skill Types ### Technique Concrete method with steps to follow (condition-based-waiting, root-cause-tracing) ### Pattern Way of thinking about problems (flatten-with-flags, test-invariants) ### Reference API docs, syntax guides, tool documentation (office docs) ## Directory Structure **All skills are in the skills repository at `${SUPERPOWERS_SKILLS_ROOT}`:** ``` ${SUPERPOWERS_SKILLS_ROOT} skill-name/ SKILL.md # Main reference (required) supporting-file.* # Only if needed ``` **Flat namespace** - all skills in one searchable location **Separate files for:** 1. **Heavy reference** (100+ lines) - API docs, comprehensive syntax 2. **Reusable tools** - Scripts, utilities, templates **Keep inline:** - Principles and concepts - Code patterns (< 50 lines) - Everything else ## SKILL.md Structure ```markdown --- name: Human-Readable Name description: One-line summary of what this does when_to_use: when [trigger/situation] version: 5.1.0 languages: all | [typescript, python] | etc dependencies: (optional) Required tools/libraries --- # Skill Name ## Overview What is this? Core principle in 1-2 sentences. ## When to Use [Small inline flowchart IF decision non-obvious] Bullet list with SYMPTOMS and use cases When NOT to use ## Core Pattern (for techniques/patterns) Before/after code comparison ## Quick Reference Table or bullets for scanning common operations ## Implementation Inline code for simple patterns @link to file for heavy reference or reusable tools ## Common Mistakes What goes wrong