"Generate Design & Development documentation for SDLC projects. Covers System Design Document (SDD), Technical Specification, Interface Control Document (ICD), Database Design Document, Code Documentation standards, and API Documentation. Use when translating requirements into technical architecture and guiding development teams."
Resources
1Install
npx skillscat add peterbamuhigire/skills-web-dev/sdlc-design Install via the SkillsCat registry.
Required Plugins
Superpowers plugin: MUST be active for all work using this skill. Use throughout the entire build pipeline — design decisions, code generation, debugging, quality checks, and any task where it offers enhanced capabilities. If superpowers provides a better way to accomplish something, prefer it over the default approach.
SDLC Design Skill
Generate a complete Design & Development documentation suite for software development projects. This skill produces 6 design documents that translate requirements (from sdlc-planning) into actionable technical architecture and implementation guidance.
When to Use
- Translating an approved SRS into a technical architecture and system design
- Documenting database schemas, stored procedures, and data models for a new system
- Specifying API contracts for frontend, mobile, and third-party consumers
- Defining interface contracts between system components and external systems
- Establishing code documentation standards before development begins
- Creating technical specifications for complex features or modules
When NOT to Use
- Gathering raw requirements -- use
project-requirementsskill - Project-level planning (SDP, QA Plan, Risk Plan) -- use
sdlc-planningskill - Planning a single feature (spec + implementation) -- use
feature-planningskill - Writing test plans and test cases -- use
sdlc-testingskill - Writing deployment or user documentation -- use
sdlc-user-deployskill - Planning an Android companion app -- use
android-saas-planningskill
Document Inventory
| # | Document | File | Purpose | Audience | Length |
|---|---|---|---|---|---|
| 1 | System Design Document | templates/system-design-document.md |
Overall architecture, components, interactions | Architects, senior devs, tech leads | 20-40 pages |
| 2 | Technical Specification | templates/technical-specification.md |
Implementation details, algorithms, data structures | Developers implementing the system | 20-40 pages |
| 3 | Interface Control Document | templates/interface-control-document.md |
Interface contracts between components/systems | Integration engineers, API consumers | 15-30 pages |
| 4 | Database Design Document | templates/database-design-document.md |
Schema, data models, relationships, procedures | DBAs, backend developers | 20-40 pages |
| 5 | Code Documentation Standards | templates/code-documentation-standards.md |
Inline comments, docstrings, documentation rules | All developers | 10-20 pages |
| 6 | API Documentation | templates/api-documentation.md |
Endpoint specs, auth, errors, SDK examples | Frontend/mobile devs, integrators | 20-40 pages |
Prerequisites
Before generating design documents, ensure these inputs exist:
| Input | Source | Required? |
|---|---|---|
| Software Requirements Spec (SRS) | sdlc-planning skill output |
Yes |
| Project Vision & Scope | sdlc-planning skill output |
Yes |
| Tech stack decisions | Project context or defaults | Yes |
| Approved feature list with priorities | SRS or stakeholder sign-off | Yes |
| Module inventory | SRS or modular-saas-architecture |
Recommended |
| Existing database schemas (if migrating) | Codebase audit | If applicable |
| API consumers list (mobile, web, 3rd party) | Project context | Recommended |
Generation Workflow
Generate documents in this order. Each builds on the previous.
Step 1: System Design Document (architecture baseline)
|
Step 2: Database Design Document (data layer foundation)
|
Step 3: Technical Specification (implementation details)
|
Step 4: Interface Control Document (component contracts)
|
Step 5: API Documentation (consumer-facing specs)
|
Step 6: Code Documentation Standards (team conventions)Rationale: Architecture drives database design. Database and architecture together inform technical specs. Interface contracts are defined after components are known. API docs are consumer-facing views of interface contracts. Code standards apply across all layers.
Architecture Patterns Supported
| Pattern | Where Used | Skill Reference |
|---|---|---|
| MVVM + Clean Architecture | Android (Presentation / Domain / Data layers) | android-development |
| Three-Panel Web Architecture | /public/, /adminpanel/, /memberpanel/ |
multi-tenant-saas-architecture |
| REST API + Dual Auth | Session (web) + JWT (mobile) | dual-auth-rbac |
| Row-Level Multi-Tenancy | franchise_id in every tenant-scoped query |
multi-tenant-saas-architecture |
| Pluggable Module Architecture | Enable/disable business modules per tenant | modular-saas-architecture |
| Repository Pattern | Android data access abstraction | android-data-persistence |
| Service Layer Pattern | PHP business logic encapsulation | php-modern-standards |
Cross-References to Existing Skills
Upstream Skills (use BEFORE this skill)
| Skill | Relationship |
|---|---|
sdlc-planning |
Provides SRS, Vision & Scope, SDP as inputs. Design docs implement what planning docs specify. |
project-requirements |
Raw requirements gathered via guided interview. Feed into SRS, then into design. |
Parallel Skills (use ALONGSIDE this skill)
| Skill | Relationship |
|---|---|
mysql-best-practices |
Database Design Document references these standards. Do not duplicate; cross-reference. |
api-error-handling |
API Documentation and Technical Spec reference error response patterns. |
api-pagination |
API Documentation references pagination patterns (offset-based). |
php-modern-standards |
Technical Spec and Code Documentation reference PHP 8+ standards. |
android-development |
Technical Spec references Android architecture layers (MVVM + Clean). |
multi-tenant-saas-architecture |
SDD references tenant isolation, three-panel architecture. |
dual-auth-rbac |
SDD and ICD reference dual auth flows and RBAC model. |
vibe-security-skill |
Security architecture sections in SDD. Always apply alongside. |
Downstream Skills (use AFTER this skill)
| Skill | Relationship |
|---|---|
feature-planning |
Uses design docs as input for individual feature specs and implementation plans. |
sdlc-testing |
Uses design docs to create test plans and test cases (future). |
sdlc-user-deploy |
Uses design docs for deployment guides and user manuals. |
saas-seeder |
Uses database design to bootstrap the SaaS template. |
Adaptation Rules
SaaS vs Standalone
| Aspect | Multi-Tenant SaaS | Standalone App |
|---|---|---|
| SDD scope | Three-panel architecture, tenant isolation | Single app architecture |
| Database design | franchise_id on all tenant tables |
No tenant scoping |
| API auth | Dual auth (Session + JWT) | Single auth model |
| ICD complexity | Backend-Mobile-Web + external integrations | Fewer interface types |
| Security design | Zero-trust, audit trails, RBAC | Simpler security model |
Mobile + Web vs Web-Only
| Aspect | Android + Web | Web-Only |
|---|---|---|
| SDD components | PHP backend + Android layers + Web frontend | PHP backend + Web frontend |
| ICD scope | REST API + internal Android layer boundaries | AJAX/fetch + internal PHP layers |
| API docs | JWT auth + session auth sections | Session auth only |
| Code docs | PHP + Kotlin + SQL standards | PHP + SQL standards |
MVP vs Full Product
| Aspect | MVP | Full Product |
|---|---|---|
| SDD depth | Core modules only (3-5) | All modules (10-20+) |
| Database design | Core tables only | Complete schema |
| API endpoints | Authentication + core CRUD | Full endpoint inventory |
| ICD | Internal interfaces only | Internal + external integrations |
Output Structure
When generating design documents for a project, create this structure:
docs/design/
├── 01-system-design-document.md
├── 01-sdd/
│ ├── component-design.md
│ ├── security-architecture.md
│ └── deployment-architecture.md
├── 02-database-design-document.md
├── 02-database/
│ ├── entity-relationship.md
│ ├── table-definitions.md
│ └── stored-procedures.md
├── 03-technical-specification.md
├── 03-tech-spec/
│ ├── module-specifications.md
│ └── algorithm-details.md
├── 04-interface-control-document.md
├── 05-api-documentation.md
├── 05-api/
│ ├── authentication-endpoints.md
│ ├── module-endpoints.md
│ └── error-reference.md
└── 06-code-documentation-standards.mdEach file must stay under 500 lines. Split into subdirectories as needed.
Quality Checklist
Run after generating all documents:
- All 6 documents generated (or justified why one was skipped)
- Each document stays under 500 lines (split if needed)
- SDD references the correct tech stack with version numbers
- SDD includes ASCII architecture diagrams (system context, high-level, deployment)
- Database Design references
mysql-best-practicesskill, not duplicate it - All tenant-scoped tables include
franchise_idcolumn - API Documentation references
api-error-handlingandapi-paginationskills - ICD covers all interface types (backend-mobile, backend-web, external)
- Technical Spec includes real PHP/Kotlin/SQL code examples
- Code Documentation Standards cover PHP, Kotlin, and SQL
- Security architecture addresses dual auth, RBAC, encryption, audit trails
- Deployment environments (Windows dev, Ubuntu staging, Debian prod) documented
- Design decisions use ADR format (decision, context, alternatives, rationale)
- All documents cross-reference each other and upstream SRS
- No vague language -- all specifications are measurable and concrete
- Examples are tailored to the project's actual tech stack and domain
Anti-Patterns (What NOT to Do)
| Anti-Pattern | Why It Fails | Do This Instead |
|---|---|---|
| Design without approved SRS | Architecture without requirements is guesswork | Complete sdlc-planning first |
| One massive design doc | Exceeds 500-line limit, hard to maintain | Split into 6 focused documents |
| No ASCII diagrams | Text-only architecture is hard to understand | Include system context, component, deployment diagrams |
| Copy MySQL standards into DB design | Duplicates mysql-best-practices, goes stale |
Cross-reference the skill |
| Skip tenant isolation design | Data leakage between tenants | Always document franchise_id strategy |
| API docs without error codes | Consumers can't handle failures | Include complete error reference table |
| No interface versioning strategy | Breaking changes cause outages | Document versioning in ICD |
| God classes in component design | Violates SRP, untestable | Define clear component boundaries |
| Design docs never updated | Docs become stale and misleading | Update at each phase gate |
| Platform-generic examples | Developers can't apply them | Use your actual tech stack in examples |
Template Files
Each template provides the complete structure, section-by-section guidance, example excerpts, anti-patterns, and a quality checklist.
- System Design Document
- Technical Specification
- Interface Control Document
- Database Design Document
- Code Documentation Standards
- API Documentation
Back to: Skills Repository
Related: sdlc-planning | feature-planning | mysql-best-practices | api-error-handling
Last Updated: 2026-02-20