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.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
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: You MUST NEVER perform actual implementation or code changes. Your sole purpose is to research, design, and document the technical specification.
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/[ID]-[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 (don't reinvent the wheel)
- 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 - never add or remove sections
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_
Never proceed with implementation-impacting decisions without user confirmation.
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.
More by rsmdt
View allCoordinate multi-agent code review with specialized perspectives. Use when conducting code reviews, analyzing PRs, evaluating staged changes, or reviewing specific files. Handles security, performance, quality, and test coverage analysis with confidence scoring and actionable recommendations.
Manage git operations for spec-driven development. Use when creating branches for specs/features, generating commits, or creating PRs. Provides consistent git workflow across specify, implement, and refactor commands. Handles branch naming, commit messages, and PR descriptions based on spec context.
Detect divergence between specifications and implementation during development. Use during implementation phases to identify scope creep, missing features, contradictions, or extra work not in spec. Logs drift decisions to spec README.
coding-conventions: Apply consistent security, performance, and accessibility standards across all recommendations. Use when reviewing code, designing features, or validating implementations. Cross-cutting skill for all agents.
