1 Plan
DDD Phase 1 - Planning and design
Claude CodeGeneric
---
name: ddd:1-plan
version: 1.0.0
description: DDD Phase 1 - Planning and design
argument-hint: [feature description or leave empty to use existing plan]
allowed-tools: TodoWrite, Read, Grep, Glob, Task
triggers:
- "Start DDD workflow"
- "Plan new feature with DDD"
- "Create DDD plan"
invokes:
- type: workflow
path: .claude/workflow/DDD_WORKFLOW.md
---
# DDD Phase 1: Planning & Design
Loading context:
@docs/document_driven_development/overview.md
@docs/document_driven_development/phases/00_planning_and_alignment.md
@docs/document_driven_development/core_concepts/context_poisoning.md
@~/.amplihack/.claude/context/PHILOSOPHY.md
@~/.amplihack/.claude/context/PHILOSOPHY.md
Feature: $ARGUMENTS
---
## Your Task: Create Complete Implementation Plan
**Goal**: Design and plan the feature before touching ANY files
**Output**: `ai_working/ddd/plan.md` - Complete specification for all subsequent phases
---
## Phase 1 Steps
### 1. Problem Framing
Answer these questions:
- What are we building?
- Why does it matter?
- What's the user value?
- What problem does this solve?
### 2. Reconnaissance
Explore the codebase:
- Use Glob to find relevant files
- Use Grep to search for related code
- Understand current architecture
- Identify patterns to follow
- Find files that will be affected
**Document**: Current state, related code, architecture context
### 3. Design Proposals
Develop the approach:
- Propose initial design
- Consider alternatives (at least 2)
- Analyze trade-offs
- Check against philosophy:
- Ruthless Simplicity? ✓
- Modular Design? ✓
- Clear interfaces? ✓
- Iterate with user on decisions
**Get user feedback on design direction before proceeding**
### 4. Create Detailed Plan
Write `ai_working/ddd/plan.md` with this structure:
```markdown
# DDD Plan: [Feature Name]
## Problem Statement
[What we're solving and why - clear user value]
## Proposed Solution
[How we'll solve it - high level approach]
## Alternatives Considered
[Other approaches we evaluated and why we chose this one]
## Architecture & Design
### Key Interfaces
[Define the "studs" - how modules connect]
### Module Boundaries
[What goes where, clear separation of concerns]
### Data Models
[Key data structures, if applicable]
## Files to Change
### Non-Code Files (Phase 2)
- [ ] docs/file1.md - [what needs updating]
- [ ] README.md - [what needs updating]
- [ ] config/example.toml - [what needs updating]
[... complete list of ALL non-code files]
### Code Files (Phase 4)
- [ ] src/module1.py - [what needs changing]
- [ ] src/module2.py - [what needs changing]
[... complete list of ALL code files]
## Philosophy Alignment
### Ruthless Simplicity
- Start minimal: [how]
- Avoid future-proofing: [what we're NOT building]
- Clear over clever: [examples]
### Modular Design
- Bricks (modules): [list self-contained pieces]
- Studs (interfaces): [list connection points]
- Regeneratable: [could rebuild from this spec]
## Test Strategy
### Unit Tests
[What unit tests we'll need]
### Integration Tests
[What integration tests we'll need]
### User Testing
[How we'll actually test as a user]
## Implementation Approach
### Phase 2 (Docs)
[Specific docs to update, what to document]
### Phase 4 (Code)
[Chunks to implement, order matters if dependencies]
## Success Criteria
[How do we know it's done and working?]
## Next Steps
✅ Plan complete and approved
➡️ Ready for `/ddd:2-docs`
Using TodoWrite
Track planning tasks:
- [ ] Problem framing complete
- [ ] Reconnaissance done
- [ ] Design proposals drafted
- [ ] User feedback incorporated
- [ ] Detailed plan written
- [ ] Philosophy alignment checked
- [ ] Plan reviewed with user
Agent Suggestions
Consider spawning agents for help:
philosophy-guardian - For philosophy compliance validation:
Task philosophy-guardian: "Validate design approach for [feature], ensuring
compliance with IMPLEMENTATION_PHILOSOPHY and MODULAR_DESIGN_PHILOSOPHY"
Explore agent - For codebase reconnaissance:
Task Explore: "Find all code related to [topic], understand
current patterns and architecture"
Important Notes
DO NOT write any files yet - This phase is PLANNING ONLY
Iterate until solid:
- Get user feedback on design direction
- Refine proposals based on feedback
- Clarify ambiguities
- Ensure shared understanding
Philosophy check:
- Does this follow ruthless simplicity?
- Are module boundaries clear?
- Can we build in increments?
- Is this the simplest approach that works?
When Planning is Approved
Checklist
- Problem clearly framed
- Reconnaissance complete
- Design approach agreed upon
- All files to change identified
- Philosophy principles followed
- Test strategy defined
- User has reviewed and approved plan
Exit Message
✅ Phase 1 Complete: Planning Approved
Plan written to: ai_working/ddd/plan.md
Next Phase: Update all non-code files (docs, configs, READMEs)
Run: /ddd:2-docs
The plan will guide all subsequent phases. All commands can now
run without arguments using the plan as their guide.
Process
- Ultrathink step-by-step, laying out assumptions and unknowns, use the TodoWrite tool to capture all tasks and subtasks.
- VERY IMPORTANT: Make sure to use the actual TodoWrite tool for todo lists, don't do your own task tracking, there is code behind use of the TodoWrite tool that is invisible to you that ensures that all tasks are completed fully.
- Adhere to the @
/.amplihack/.claude/context/PHILOSOPHY.md and @/.amplihack/.claude/context/PHILOSOPHY.md files.
- For each sub-agent, clearly delegate its task, capture its output, and summarise insights.
- Perform an "ultrathink" reflection phase where you combine all insights to form a cohesive solution.
- If gaps remain, iterate (spawn sub-agents again) until confident.
- Where possible, spawn sub-agents in parallel to e
Maintain 1 Plan?
Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.
[1 Plan on getagentictools](https://getagentictools.com/loops/rysweet-ddd-phase-1-planning-design?ref=badge)