Agent skill
ddd-guide
Document-Driven Development workflow for existing codebases. Provides systematic planning, documentation-first design, and implementation verification.
Install this agent skill to your Project
npx add-skill https://github.com/drillan/amplifier-skills-plugin/tree/main/skills/ddd-guide
Metadata
Additional technical details for this skill
- category
- workflow
- complexity
- high
- original source
- https://github.com/robotdad/amplifier-collection-ddd
SKILL.md
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.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
amplifier-philosophy
Amplifier design philosophy using Linux kernel metaphor. Covers mechanism vs policy, module architecture, event-driven design, and kernel principles. Use when designing new modules or making architectural decisions.
module-development
Guide for creating new Amplifier modules including protocol implementation, entry points, mount functions, and testing patterns. Use when creating new modules or understanding module architecture.
implementation-verify
Verifies implementation against specifications by checking requirement fulfillment, task completion, and contract implementation. Generates a fulfillment report with coverage metrics. Always run after /speckit.implement completes.
docs-sync
Synchronizes documentation (README.md, CHANGELOG.md, API docs) with implementation. Preserves user content outside speckit markers. Updates are non-destructive and clearly delineated. Always run after /speckit.implement completes.
progress-report
Displays progress dashboard showing phase completion, blocked tasks, and remaining work estimate. Provides at-a-glance view of implementation status. Run anytime to check progress.
release-check
Validates all artifacts are complete and consistent for release. Checks spec kit artifacts, documentation, versioning, and API docs. Run before creating a release to ensure nothing is missing.
Didn't find tool you were looking for?