Ddd guide
Document-Driven Development workflow for existing codebases. Provides systematic planning, documentation-first design, and implementation verification.From its SKILL.md
npx -y skills add drillan/amplifier-skills-plugin --skill ddd-guideAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.3 KB, as published. Nobody here has run it
Document-Driven Development (DDD) Guide
Core Principle
Documentation IS the specification. Code implements what documentation describes.
DDD inverts traditional development: update documentation first, then implement code to match.
Why DDD?
- Catches design flaws early - Before expensive code changes
- Prevents documentation drift - Docs and code stay synchronized
- Enables human review - Humans approve specs, not code
- AI-friendly - Clear specifications reduce hallucination
Six-Phase Workflow
| Phase | Name | Command | Deliverable |
|---|---|---|---|
| 0-1 | Planning | /ddd 1-plan | plan.md |
| 2 | Documentation | /ddd 2-docs | Updated docs |
| 3 | Code Planning | /ddd 3-code-plan | code_plan.md |
| 4 | Implementation | /ddd 4-code | Working code |
| 5-6 | Finalization | /ddd 5-finish | Tested, committed |
Core Techniques
Retcon Writing
Document features as if they already exist. No future tense.
- Bad: "This feature will add..."
- Good: "This feature provides..."
File Crawling
Process files one at a time to avoid context overflow:
- Generate index with
[ ]checkboxes - Process one file per iteration
- Mark
[x]when complete
Context Poisoning Prevention
Eliminate contradictions:
- One authoritative location per concept
- Delete duplicates, don't update
- Resolve conflicts before proceeding
When to Use DDD
Use DDD for:
- Multi-file changes
- New features in existing codebases
- Complex integrations
Skip DDD for:
- Typo fixes
- Single-file changes
- Emergency hotfixes
References
See @skills/ddd-guide/references/ for detailed documentation:
core-concepts/- Techniques and methodologiesphases/- Step-by-step phase guidesphilosophy/- Underlying principles
Remember
Documentation first. If it's not documented, it doesn't exist.
Retcon, don't predict. Write as if the feature already exists.
One source of truth. Delete duplicates, don't update them.