skills/writing-skills/SKILL.md
Use when creating new skills, editing existing skills, or verifying skills work before deployment - applies TDD to process documentation by testing with subagents before writing, iterating until bulletproof against rationalization
npx skillsauth add nickcrew/claude-ctx-plugin writing-skillsInstall 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.
Writing skills IS Test-Driven Development applied to process documentation.
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.
Personal skills live in agent-specific directories: ~/.claude/skills for Claude Code, ~/.codex/skills for Codex
REQUIRED BACKGROUND: You MUST understand superpowers:test-driven-development before using this skill.
Create a skill when:
Don't create for:
| Task | Load reference |
| --- | --- |
| Understand TDD mapping for skills | skills/writing-skills/references/tdd-mapping.md |
| Learn skill structure and organization | skills/writing-skills/references/skill-structure.md |
| Optimize for search and discovery | skills/writing-skills/references/search-optimization.md |
| Test skills with subagents | skills/writing-skills/references/testing-skills.md |
| Code examples and flowcharts | skills/writing-skills/references/code-and-flowcharts.md |
| Complete creation checklist | skills/writing-skills/references/checklist.md |
This is critical: You must see what agents naturally do before writing the skill.
REQUIRED SUB-SKILL: Use superpowers:testing-skills-with-subagents for complete testing methodology.
NO SKILL WITHOUT A FAILING TEST FIRST
This applies to NEW skills AND EDITS to existing skills.
Write skill before testing? Delete it. Start over.
No exceptions:
| Mistake | Fix | |---------|-----| | Writing skill before testing | Delete skill, run baseline test first | | Skipping baseline (RED phase) | You don't know what to teach without seeing failure | | Testing with skill already present | Remove skill, get true baseline behavior | | "Batching" multiple skills | Complete RED-GREEN-REFACTOR for each skill before moving on | | Vague descriptions | Start with "Use when...", include specific triggers | | Using @ links to reference skills | Use skill names only, avoid force-loading | | Multiple mediocre code examples | One excellent example in most relevant language | | Narrative storytelling | Focus on reusable patterns, not one-off stories |
After writing ANY skill, you MUST STOP and complete the deployment process.
Do NOT create multiple skills in batch without testing each. Deploying untested skills = deploying untested code.
See checklist.md for full deployment checklist.
testing
Comprehensive security assessment and remediation. Use for security reviews, compliance checks, vulnerability assessments.
research
Systematic performance analysis and optimization. Use when things are slow, need optimization, or preparing for scale.
development
Complete feature development workflow from design to deployment. Use when implementing new features or functionality.
development
Complete workflow for developing new features from design to deployment. Use when starting a new feature, adding functionality, or building something new.