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
Use when creating, editing, or verifying skills - applies TDD to process documentation by testing with subagents before writing, iterating until bulletproof against rationalization
/plugin marketplace add NickCrew/claude-ctx-plugin/plugin install nickcrew-claude-ctx@NickCrew/claude-ctx-pluginThis skill inherits all available tools. When active, it can use any tool Claude has access to.
anthropic-best-practices.mdgraphviz-conventions.dotpersuasion-principles.mdreferences/checklist.mdreferences/code-and-flowcharts.mdreferences/search-optimization.mdreferences/skill-structure.mdreferences/tdd-mapping.mdreferences/testing-skills.mdWriting 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.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.