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
View on GitHubed3dai/ed3d-plugins
ed3d-extending-claude
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/ed3dai/ed3d-plugins/blob/main/plugins/ed3d-extending-claude/skills/writing-skills/SKILL.md -a claude-code --skill writing-skillsInstallation paths:
.claude/skills/writing-skills/# Writing Skills
**REQUIRED BACKGROUND:** Read ed3d-extending-claude:writing-claude-directives for foundational guidance on token efficiency, discovery optimization, and compliance techniques. This skill focuses on TDD methodology specific to skill creation.
## Core Principle
**Writing skills IS Test-Driven Development applied to process documentation.**
Write test cases (pressure scenarios), watch them fail (baseline behavior), write the skill, watch tests pass, refactor (close loopholes).
**Iron Law:** No skill without a failing test first. Same as TDD for code.
## TDD Mapping
| TDD Concept | Skill Creation |
|-------------|----------------|
| Test case | Pressure scenario with subagent |
| Production code | SKILL.md document |
| RED | Agent violates rule without skill |
| GREEN | Agent complies with skill present |
| Refactor | Close loopholes, re-test |
## When to Create a Skill
**Create when:**
- Technique wasn't intuitively obvious
- You'd reference this across projects
- Pattern applies broadly
- Others would benefit
**Don't create for:**
- One-off solutions
- Standard practices documented elsewhere
- Project-specific conventions (use CLAUDE.md)
## Skill Types
**Technique:** Concrete method with steps (condition-based-waiting, root-cause-tracing)
**Pattern:** Mental model for problems (flatten-with-flags, test-invariants)
**Reference:** API docs, syntax guides, tool documentation
## Directory Structure
```
skills/
skill-name/
SKILL.md # Main reference (required)
supporting-file.* # Only if needed
```
**Separate files for:** Heavy reference (100+ lines), reusable tools/scripts
**Keep inline:** Principles, code patterns (<50 lines), everything else
## SKILL.md Template
```markdown
---
name: Skill-Name-With-Hyphens
description: Use when [triggers/symptoms] - [what it does, third person]
---
# Skill Name
## Overview
Core principle in 1-2 sentences.
## When to Use
Symptoms and use cases. When NOT to use.
## Core P