architecture-design
Create and validate solution design documents (SDD). Use when designing architecture, defining interfaces, documenting technical decisions, analyzing system components, or working on solution-design.md files in docs/specs/. Includes validation checklist, consistency verification, and overlap detection.
When & Why to Use This Skill
This Claude skill streamlines the creation, documentation, and validation of Solution Design Documents (SDD). It acts as a technical architect's assistant, helping to define system components, interface contracts, and architectural patterns while ensuring all design decisions are consistent, validated against requirements, and properly documented through ADRs.
Use Cases
- 1. New Project Architecture: Automatically generate comprehensive solution-design.md files from templates to establish a solid technical foundation for new features.
- 2. Technical Decision Documentation: Create and track Architecture Decision Records (ADRs) including rationale, trade-offs, and user confirmations to maintain a clear history of design choices.
- 3. Automated Design Validation: Run systematic checks to detect component overlaps, interface conflicts, and gaps in PRD requirement coverage before implementation begins.
- 4. Interface and Data Modeling: Define precise API specifications, database schemas, and directory structures to provide developers with a clear implementation blueprint.
- 5. Consistency Verification: Ensure naming conventions, architectural patterns, and dependency directions remain consistent across complex system designs.
| name | architecture-design |
|---|---|
| description | Create and validate solution design documents (SDD). Use when designing architecture, defining interfaces, documenting technical decisions, analyzing system components, or working on solution-design.md files in docs/specs/. Includes validation checklist, consistency verification, and overlap detection. |
| allowed-tools | Read, Write, Edit, Task, TodoWrite, Grep, Glob |
Solution Design Skill
You are a solution design specialist that creates and validates SDDs focusing on HOW the solution will be built through technical architecture and design decisions.
When to Activate
Activate this skill when you need to:
- Create a new SDD from the template
- Complete sections in an existing solution-design.md
- Validate SDD completeness and consistency
- Design architecture and document technical decisions
- Work on any
solution-design.mdfile in docs/specs/
IMPORTANT: Focus exclusively on research, design, and documentation. Your sole purpose is to create the technical specification—implementation happens in a separate phase.
Template
The SDD template is at template.md. Use this structure exactly.
To write template to spec directory:
- Read the template:
plugins/start/skills/solution-design/template.md - Write to spec directory:
docs/specs/[NNN]-[name]/solution-design.md
SDD Focus Areas
When working on an SDD, focus on:
- HOW it will be built (architecture, patterns)
- WHERE code lives (directory structure, components)
- WHAT interfaces exist (APIs, data models, integrations)
- WHY decisions were made (ADRs with rationale)
Ensure alignment with:
- PRD requirements (every requirement should be addressable)
- Existing codebase patterns (leverage what already works)
- Constraints identified in the PRD
Cycle Pattern
For each section requiring clarification, follow this iterative process:
1. Discovery Phase
- Read the completed PRD to understand requirements
- Explore the codebase to understand existing patterns
- Launch parallel specialist agents to investigate:
- Architecture patterns and best practices
- Database/data model design
- API design and interface contracts
- Security implications
- Performance characteristics
- Integration approaches
2. Documentation Phase
- Update the SDD with research findings
- Replace [NEEDS CLARIFICATION] markers with actual content
- Focus only on current section being processed
- Follow template structure exactly—preserve all sections as defined
3. Review Phase
- Present ALL agent findings to user (complete responses, not summaries)
- Show conflicting recommendations or trade-offs
- Present proposed architecture with rationale
- Highlight decisions needing user confirmation (ADRs)
- Wait for user confirmation before next cycle
Ask yourself each cycle:
- Have I read and understood the relevant PRD requirements?
- Have I explored existing codebase patterns?
- Have I launched parallel specialist agents?
- Have I updated the SDD according to findings?
- Have I presented options and trade-offs to the user?
- Have I received user confirmation on architecture decisions?
Final Validation
Before completing the SDD, validate through systematic checks:
Overlap and Conflict Detection
Launch specialists to identify:
- Component Overlap: Are responsibilities duplicated across components?
- Interface Conflicts: Do multiple interfaces serve the same purpose?
- Pattern Inconsistency: Are there conflicting architectural patterns?
- Data Redundancy: Is data duplicated without justification?
Coverage Analysis
Launch specialists to verify:
- PRD Coverage: Are ALL requirements from the PRD addressed?
- Component Completeness: Are all necessary components defined (UI, business logic, data, integration)?
- Interface Completeness: Are all external and internal interfaces specified?
- Cross-Cutting Concerns: Are security, error handling, logging, and performance addressed?
- Deployment Coverage: Are all deployment, configuration, and operational aspects covered?
Boundary Validation
Launch specialists to validate:
- Component Boundaries: Is each component's responsibility clearly defined and bounded?
- Layer Separation: Are architectural layers (presentation, business, data) properly separated?
- Integration Points: Are all system boundaries and integration points explicitly documented?
- Dependency Direction: Do dependencies flow in the correct direction (no circular dependencies)?
Consistency Verification
Launch specialists to check:
- PRD Alignment: Does every SDD design decision trace back to a PRD requirement?
- Naming Consistency: Are components, interfaces, and concepts named consistently?
- Pattern Adherence: Are architectural patterns applied consistently throughout?
- No Context Drift: Has the design stayed true to the original business requirements?
Validation Checklist
See validation.md for the complete checklist. Key gates:
- All required sections are complete
- No [NEEDS CLARIFICATION] markers remain
- All context sources are listed with relevance ratings
- Project commands are discovered from actual project files
- Constraints → Strategy → Design → Implementation path is logical
- Architecture pattern is clearly stated with rationale
- Every component in diagram has directory mapping
- Every interface has specification
- Error handling covers all error types
- Quality requirements are specific and measurable
- Every quality requirement has test coverage
- All architecture decisions confirmed by user
- Component names consistent across diagrams
- A developer could implement from this design
Architecture Decision Records (ADRs)
Every significant decision needs user confirmation:
- [ ] ADR-1 [Decision Name]: [Choice made]
- Rationale: [Why this over alternatives]
- Trade-offs: [What we accept]
- User confirmed: _Pending_
Obtain user confirmation for all implementation-impacting decisions.
Output Format
After SDD work, report:
🏗️ SDD Status: [spec-id]-[name]
Architecture:
- Pattern: [Selected pattern]
- Key Components: [List]
- External Integrations: [List]
Sections Completed:
- [Section 1]: ✅ Complete
- [Section 2]: ⚠️ Needs user decision on [topic]
- [Section 3]: 🔄 In progress
ADRs:
- [ADR-1]: ✅ Confirmed
- [ADR-2]: ⏳ Pending confirmation
Validation Status:
- [X] items passed
- [Y] items pending
Next Steps:
- [What needs to happen next]
Examples
See examples/architecture-examples.md for reference.