sdlc-design

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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "sdlc-design" with this command: npx skills add peterbamuhigire/skills-web-dev/peterbamuhigire-skills-web-dev-sdlc-design

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-requirements skill
  • Project-level planning (SDP, QA Plan, Risk Plan) -- use sdlc-planning skill
  • Planning a single feature (spec + implementation) -- use feature-planning skill
  • Writing test plans and test cases -- use sdlc-testing skill
  • Writing deployment or user documentation -- use sdlc-user-deploy skill
  • Planning an Android companion app -- use android-saas-planning skill

Document Inventory

#DocumentFilePurposeAudienceLength
1System Design Documenttemplates/system-design-document.mdOverall architecture, components, interactionsArchitects, senior devs, tech leads20-40 pages
2Technical Specificationtemplates/technical-specification.mdImplementation details, algorithms, data structuresDevelopers implementing the system20-40 pages
3Interface Control Documenttemplates/interface-control-document.mdInterface contracts between components/systemsIntegration engineers, API consumers15-30 pages
4Database Design Documenttemplates/database-design-document.mdSchema, data models, relationships, proceduresDBAs, backend developers20-40 pages
5Code Documentation Standardstemplates/code-documentation-standards.mdInline comments, docstrings, documentation rulesAll developers10-20 pages
6API Documentationtemplates/api-documentation.mdEndpoint specs, auth, errors, SDK examplesFrontend/mobile devs, integrators20-40 pages

Prerequisites

Before generating design documents, ensure these inputs exist:

InputSourceRequired?
Software Requirements Spec (SRS)sdlc-planning skill outputYes
Project Vision & Scopesdlc-planning skill outputYes
Tech stack decisionsProject context or defaultsYes
Approved feature list with prioritiesSRS or stakeholder sign-offYes
Module inventorySRS or modular-saas-architectureRecommended
Existing database schemas (if migrating)Codebase auditIf applicable
API consumers list (mobile, web, 3rd party)Project contextRecommended

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

PatternWhere UsedSkill Reference
MVVM + Clean ArchitectureAndroid (Presentation / Domain / Data layers)android-development
Three-Panel Web Architecture/public/, /adminpanel/, /memberpanel/multi-tenant-saas-architecture
REST API + Dual AuthSession (web) + JWT (mobile)dual-auth-rbac
Row-Level Multi-Tenancyfranchise_id in every tenant-scoped querymulti-tenant-saas-architecture
Pluggable Module ArchitectureEnable/disable business modules per tenantmodular-saas-architecture
Repository PatternAndroid data access abstractionandroid-data-persistence
Service Layer PatternPHP business logic encapsulationphp-modern-standards

Cross-References to Existing Skills

Upstream Skills (use BEFORE this skill)

SkillRelationship
sdlc-planningProvides SRS, Vision & Scope, SDP as inputs. Design docs implement what planning docs specify.
project-requirementsRaw requirements gathered via guided interview. Feed into SRS, then into design.

Parallel Skills (use ALONGSIDE this skill)

SkillRelationship
mysql-best-practicesDatabase Design Document references these standards. Do not duplicate; cross-reference.
api-error-handlingAPI Documentation and Technical Spec reference error response patterns.
api-paginationAPI Documentation references pagination patterns (offset-based).
php-modern-standardsTechnical Spec and Code Documentation reference PHP 8+ standards.
android-developmentTechnical Spec references Android architecture layers (MVVM + Clean).
multi-tenant-saas-architectureSDD references tenant isolation, three-panel architecture.
dual-auth-rbacSDD and ICD reference dual auth flows and RBAC model.
vibe-security-skillSecurity architecture sections in SDD. Always apply alongside.

Downstream Skills (use AFTER this skill)

SkillRelationship
feature-planningUses design docs as input for individual feature specs and implementation plans.
sdlc-testingUses design docs to create test plans and test cases (future).
sdlc-user-deployUses design docs for deployment guides and user manuals.
saas-seederUses database design to bootstrap the SaaS template.

Adaptation Rules

SaaS vs Standalone

AspectMulti-Tenant SaaSStandalone App
SDD scopeThree-panel architecture, tenant isolationSingle app architecture
Database designfranchise_id on all tenant tablesNo tenant scoping
API authDual auth (Session + JWT)Single auth model
ICD complexityBackend-Mobile-Web + external integrationsFewer interface types
Security designZero-trust, audit trails, RBACSimpler security model

Mobile + Web vs Web-Only

AspectAndroid + WebWeb-Only
SDD componentsPHP backend + Android layers + Web frontendPHP backend + Web frontend
ICD scopeREST API + internal Android layer boundariesAJAX/fetch + internal PHP layers
API docsJWT auth + session auth sectionsSession auth only
Code docsPHP + Kotlin + SQL standardsPHP + SQL standards

MVP vs Full Product

AspectMVPFull Product
SDD depthCore modules only (3-5)All modules (10-20+)
Database designCore tables onlyComplete schema
API endpointsAuthentication + core CRUDFull endpoint inventory
ICDInternal interfaces onlyInternal + 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.md

Each 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) — visual-aid locations marked with [DIAGRAM-PROMPT: <description>]
  • Every major design decision includes a ## Design Rationale block: chosen approach, rejected alternatives, trade-off reasoning
  • Major architectural decisions captured as Architecture Decision Records (ADRs): Context → Decision → Alternatives Considered → Consequences
  • Database Design references mysql-best-practices skill, not duplicate it
  • All tenant-scoped tables include franchise_id column
  • API Documentation references api-error-handling and api-pagination skills
  • ICD covers all interface types (backend-mobile, backend-web, external)
  • Technical Spec includes real PHP/Kotlin/SQL code examples in fenced code blocks with language identifiers
  • 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
  • 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-PatternWhy It FailsDo This Instead
Design without approved SRSArchitecture without requirements is guessworkComplete sdlc-planning first
One massive design docExceeds 500-line limit, hard to maintainSplit into 6 focused documents
No ASCII diagramsText-only architecture is hard to understandInclude system context, component, deployment diagrams — mark points needing visuals with [DIAGRAM-PROMPT: <description>]
Copy MySQL standards into DB designDuplicates mysql-best-practices, goes staleCross-reference the skill
Skip tenant isolation designData leakage between tenantsAlways document franchise_id strategy
API docs without error codesConsumers can't handle failuresInclude complete error reference table
No interface versioning strategyBreaking changes cause outagesDocument versioning in ICD
God classes in component designViolates SRP, untestableDefine clear component boundaries
Design docs never updatedDocs become stale and misleadingUpdate at each phase gate
Platform-generic examplesDevelopers can't apply themUse your actual tech stack in examples
Design decisions without rationaleFuture maintainers cannot evaluate or change decisionsAdd ## Design Rationale to every key decision: state the chosen approach, rejected alternatives, and the trade-off reasoning
No Architecture Decision RecordsArchitecture history lost; audits failCapture each major architectural decision in a structured ADR: Context → Decision → Alternatives → Consequences

Template Files

Each template provides the complete structure, section-by-section guidance, example excerpts, anti-patterns, and a quality checklist.

  1. System Design Document
  2. Technical Specification
  3. Interface Control Document
  4. Database Design Document
  5. Code Documentation Standards
  6. API Documentation

Back to: Skills Repository Related: sdlc-planning | feature-planning | mysql-best-practices | api-error-handling Last Updated: 2026-03-15 (strengthened per Adjei 2023, Winston, Etter 2016)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

google-play-store-review

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

jetpack-compose-ui

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

api-error-handling

No summary provided by upstream source.

Repository SourceNeeds Review