system-design-doc

System Design Document Skill

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 "system-design-doc" with this command: npx skills add mounchons/agentmarketplace/mounchons-agentmarketplace-system-design-doc

System Design Document Skill

Response Language: Always respond to users in Thai (ภาษาไทย)

Skill for creating enterprise-grade standardized system design documents with Mermaid diagrams. Supports both creating new documents and reverse engineering from existing codebases, including Architecture patterns for Microservices, Event-driven, Clean Architecture, and DDD.

Commands Overview

Command Description

/create-design-doc

Create a new system design document from requirements

/reverse-engineer

Create a document from an existing codebase

/create-diagram

Create a specific diagram type (ER, Flow, DFD, Sequence, etc.)

/edit-section

Edit a specific section of the document

/validate-design-doc

Validate completeness and consistency

/import-plan

Import a document from an implementation plan or free-form design doc

/sync-with-mockups

Sync entities and pages with ui-mockup

/sync-with-features

Sync APIs and entities with long-running

/validate-integration

Validate cross-references across all 3 plugins

/brainstorm-design

Interactive brainstorming and Q&A session for system design

/system-design-doc

General command (supports all modes)

Quick Start Examples

What you need Example command

Full document /create-design-doc สร้างเอกสารสำหรับระบบ HR

From Codebase /reverse-engineer วิเคราะห์ codebase นี้

ER Diagram /create-diagram ER Diagram สำหรับระบบจองห้องประชุม

ER from Code /reverse-engineer สร้าง ER Diagram จาก entities

Flow Diagram /create-diagram Flow Diagram สำหรับกระบวนการอนุมัติลา

Data Dictionary /create-diagram Data Dictionary สำหรับตาราง employees

DFD /create-diagram DFD Level 1 สำหรับระบบสั่งซื้อ

Sitemap /create-diagram Sitemap สำหรับเว็บ E-commerce

Sequence Diagram /create-diagram Sequence Diagram สำหรับ Login process

Edit Section /edit-section ER Diagram - เพิ่ม entity Payment

Validate document /validate-design-doc

Workflow Diagrams

Workflow 1: Create New Document from Requirements

flowchart TD A[Start] --> B{design_doc_list.json exists?} B -->|No| C[Create .design-docs/ and design_doc_list.json] B -->|Yes| D[Read project info] C --> D D --> E[Gather Requirements] E --> F[Define 10-Section Structure] F --> G[Design Data Model] G --> H[Create Diagrams] H --> I[Create Data Dictionary] I --> J[Generate .md file] J --> K[Update design_doc_list.json] K --> L[Validate] L --> M[End]

Workflow 2: Reverse Engineering from Codebase

flowchart TD A[Start] --> B[Scan Project Structure] B --> C{Technology identified?} C -->|Yes| D[Analyze by Framework] C -->|No| E[Ask User for info] E --> D D --> F[Analyze Models/Entities] F --> G[Analyze Controllers/Routes] G --> H[Analyze Services/Logic] H --> I[Extract data and convert to Diagrams] I --> J[Create document from Template] J --> K[Validate against Code] K --> L{Match?} L -->|Yes| M[Save file] L -->|No| N[Fix and Re-validate] N --> K M --> O[End]

Workflow 3: Create Specific Diagram

flowchart TD A[Start] --> B{Diagram type specified?} B -->|ER| C[Use ER Diagram Pattern] B -->|Flow| D[Use Flow Diagram Pattern] B -->|DFD| E[Use DFD Pattern] B -->|Sequence| F[Use Sequence Pattern] B -->|Sitemap| G[Use Sitemap Pattern] B -->|State| H[Use State Diagram Pattern] B -->|Architecture| I[Use Architecture Pattern] C --> J[Gather Entities and Relationships] D --> K[Gather Steps and Decisions] E --> L[Gather Processes and Data Stores] F --> M[Gather Participants and Messages] G --> N[Gather Pages and Hierarchy] H --> O[Gather States and Transitions] I --> P[Select Architecture Pattern] J --> Q[Create Mermaid Diagram] K --> Q L --> Q M --> Q N --> Q O --> Q P --> Q Q --> R[Validate Syntax] R --> S[Output]

Workflow 4: Integration with Other Skills

flowchart LR subgraph DesignPhase["Design Phase"] SD[system-design-doc] end

subgraph MockupPhase["Mockup Phase"]
    UM[ui-mockup]
end

subgraph DevPhase["Development Phase"]
    LR[long-running]
    DN[dotnet-dev]
end

SD -->|Sitemap, Entities| UM
SD -->|Data Model, APIs| LR
UM -->|Component specs| LR
SD -->|.NET specific| DN
LR -->|Feature tracking| SD

Document Structure (10 Sections)

The system design document consists of 10 main sections:

Section Description Required Diagrams

1 Introduction & Overview Project info, objectives, scope, Stakeholders High-Level Architecture

2 System Requirements FR, NFR, Business Rules, Constraints

3 Module Overview List of modules, dependencies Module Dependency Diagram

4 Data Model Entity overview, relationships Class Diagram (optional)

5 Data Flow Diagram Data movement, processes, stores DFD Level 0, 1, 2

6 Flow Diagrams Business processes, workflows Flowcharts

7 ER Diagram Entity relationships, cardinality ER Diagram

8 Data Dictionary Table definitions, columns, constraints

9 Sitemap Page hierarchy, navigation Sitemap Diagram

10 User Roles & Permissions Roles, permission matrix, access rules

Diagram Types Supported

Diagram Type Mermaid Syntax Use Case

ER Diagram erDiagram

Entity relationships, database design

Flow Diagram flowchart TD/LR

Business processes, approval workflows

DFD flowchart

  • subgraphs Data flow between systems

Sequence Diagram sequenceDiagram

API calls, system interactions

Sitemap flowchart TD

Page structure, navigation

State Diagram stateDiagram-v2

Status transitions, lifecycle

Class Diagram classDiagram

Data model, OOP structure

Architecture flowchart

  • subgraphs System architecture, microservices

Architecture Patterns

Supported Patterns

Category Patterns

Microservices Service Boundary, API Gateway, Service Mesh, Database per Service

Event-driven Event Sourcing, CQRS, Saga (Choreography/Orchestration), Message Broker

Clean Architecture Layer Diagram, Dependency Flow, Use Case Flow

DDD Bounded Context, Aggregate, Domain Events, Context Mapping

When to Use

Pattern Use When

Microservices Large team, independent deployment needs

Event-Driven Loose coupling, async processing needed

CQRS Different read/write patterns

Event Sourcing Full audit history required

Clean Architecture Long-lived apps, testability priority

DDD Complex domain logic

Technology Support

Supported Frameworks for Reverse Engineering

Technology Detection Files Entities Location Routes Location

.NET Core *.csproj , *.sln

Models/ , Entities/

Controllers/

Node.js/Express package.json

models/

routes/

Node.js/Prisma package.json , schema.prisma

prisma/schema.prisma

routes/

Python/Django requirements.txt

*/models.py

*/urls.py

Laravel composer.json

app/Models/

routes/web.php

Java/Spring pom.xml , build.gradle

**/entity/*.java

**/controller/

Go go.mod

models/

handlers/

Ruby/Rails Gemfile

app/models/

config/routes.rb

Legacy Support

Technology Files to Analyze

ASP.NET WebForms *.aspx , App_Code/ , Web.config

Classic ASP *.asp , includes/

⚠️ CRITICAL RULES (MUST FOLLOW)

Section Completeness

  • ALL 10 sections are mandatory — Introduction, Requirements, Modules, Data Model, DFD, Flow Diagrams, ER Diagram, Data Dictionary, Sitemap, User Roles & Permissions

  • No abbreviation — every section must have full content, not summaries or placeholders

  • No placeholder text — "[TBD]", "[TODO]", "will be added later" is forbidden

Diagram Rules

  • Validate Mermaid syntax — every diagram must render without errors

  • Valid entity names — use PascalCase or snake_case only (no hyphens, no spaces in identifiers)

  • Close all subgraphs — every subgraph must have a matching end

Consistency Rules

  • ER ↔ Data Dictionary — every entity in ER Diagram must have a matching table in Data Dictionary, and vice versa

  • DFD Level 0 ↔ Level 1 — all processes in Level 0 must be decomposed in Level 1

  • Sitemap ↔ User Roles — every page in Sitemap must have access rules defined in User Roles section

Quality Rules

  • Unique FR IDs — every Functional Requirement must have a unique ID (FR-001, FR-002, etc.)

  • PK required — every table in Data Dictionary must have a Primary Key defined

  • FK valid — every Foreign Key must reference an existing table and column

  • Permission matrix complete — every role must have permissions defined for every module/page

🔍 Self-Check Checklist (MANDATORY before submitting output)

Before completing the design document, verify EVERY item:

  • All 10 sections present with full content?

  • All Mermaid diagrams render without errors?

  • ER Diagram entities match Data Dictionary tables?

  • DFD Level 0 processes match Level 1 decomposition?

  • Sitemap pages match User Roles access rules?

  • All Functional Requirements have unique IDs?

  • All tables have Primary Keys defined?

  • All Foreign Keys reference valid tables?

  • No placeholder text remaining ("[TBD]", "[TODO]")?

  • Permission matrix is complete for all roles?

If ANY checkbox is unchecked, DO NOT submit. Fix the issue first.

❌ Output Rejection Criteria

Your output will be REJECTED and you must REDO the entire task if:

  • Any of the 10 sections is missing or contains only placeholder text

  • ER Diagram entities don't match Data Dictionary tables (mismatch)

  • Mermaid diagrams have syntax errors

  • Placeholder text remains in any section

  • Permission matrix is incomplete

⚠️ Penalty

Violating these rules means the document is INVALID. You must redo the ENTIRE document from scratch. There are no partial passes — either ALL rules are followed or the output is REJECTED.

Consistency Checks

Changed Section Also Verify

ER Diagram Data Dictionary, Data Model

Data Dictionary ER Diagram

Flow Diagrams DFD, Sequence Diagrams

Sitemap User Roles (access)

User Roles Sitemap (access rules)

Modules Flow Diagrams, ER Diagram

Integration with Other Skills

ui-mockup Integration

system-design-doc → ui-mockup

Data passed: • Sitemap → mockup_list.json pages • Entities → Form fields, Table columns • User Roles → Access control per page • Flow Diagrams → User journey reference

long-running Integration

system-design-doc → long-running

Data passed: • Modules → Feature breakdown • Data Model → Entity implementation • APIs (Sequence) → Endpoint implementation • Flow Diagrams → Business logic reference

dotnet-dev Integration

system-design-doc → dotnet-dev

Data passed: • Entities → C# Model classes • Relationships → EF Core configurations • Data Dictionary → Database migrations • APIs → Controller scaffolding

Output Files

Directory Structure

.design-docs/ ├── design_doc_list.json # Tracking file ├── system-design-[project].md # Main document ├── diagrams/ # (optional) Exported diagrams │ ├── er-diagram.png │ └── architecture.png └── exports/ # (optional) Exported formats ├── system-design.pdf └── system-design.docx

File Naming Convention

Type Pattern Example

Main Document system-design-[project-name].md

system-design-hr-management.md

Tracking File design_doc_list.json

Success Output Examples

Full Document

✅ สร้าง System Design Document สำเร็จ!

📁 File: .design-docs/system-design-hr-management.md

📊 Document Summary: • 10 sections completed • 7 diagrams (ER, 3 Flow, DFD L0+L1, Sitemap, 2 Sequence) • 12 tables in Data Dictionary • 4 User Roles defined

📈 Statistics: • Entities: 8 • Relationships: 12 • API Endpoints: 15 • Pages: 20

💡 Next steps: • /ui-mockup → สร้าง UI Mockups จากเอกสาร • /validate-design-doc → ตรวจสอบความครบถ้วน

Single Diagram

✅ สร้าง ER Diagram สำเร็จ!

📊 ER Diagram: • Entities: 8 • Relationships: 12

💡 Next steps: • /create-design-doc → สร้างเอกสารฉบับเต็ม • /create-diagram Data Dictionary → สร้าง DD

Resources

Resource Location Description

Codebase Analysis Guide references/codebase-analysis.md

How to analyze code for various frameworks

Mermaid Patterns references/mermaid-patterns.md

All diagram patterns

Architecture Patterns references/architecture-patterns.md

Microservices, Event-driven, Clean, DDD

Document Sections references/document-sections.md

Details of each section

Data Dictionary Template references/data-dictionary-template.md

Data Dictionary format

Troubleshooting references/troubleshooting.md

Common problem solutions

Full Template templates/design-doc-template.md

Full document template

Tracking File templates/design_doc_list.json

Tracking schema

Troubleshooting Quick Reference

Problem Solution

Mermaid syntax error See references/troubleshooting.md Section 1

No models found Search with pattern .entity. , .model.

Missing relationships Check DbContext, Fluent API, or migrations

ER ↔ DD mismatch Check naming convention and column count

DFD inconsistency Check external entities and data stores

Version History

Version Date Changes

1.4.0

  • Added CRITICAL RULES with self-check checklist, output rejection criteria, and penalty- Added /brainstorm-design command (8-phase interactive brainstorming)- Added hybrid brainstorm auto-detect in /create-design-doc
  • Translated all content to English for AI comprehension

1.3.0 2025-01-25 Added /import-plan command, cross-plugin integration (/sync-with-mockups, /sync-with-features, /validate-integration), schema v2.1.0 with CRUD enabled/disabled + soft delete strategy

1.2.0 2025-01-20 Added 5 granular commands, architecture patterns, troubleshooting, tracking file

1.1.0 2024-12-15 Added DDD patterns, improved reverse engineering

1.0.0 2024-11-01 Initial release

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.

Automation

ui-mockup

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

dotnet-dev

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

clinic-visit-prep

帮助患者整理就诊前问题、既往记录、检查清单与时间线,不提供诊断。;use for healthcare, intake, prep workflows;do not use for 给诊断结论, 替代医生意见.

Archived SourceRecently Updated
Automation

changelog-curator

从变更记录、提交摘要或发布说明中整理对外 changelog,并区分用户价值与内部改动。;use for changelog, release-notes, docs workflows;do not use for 捏造未发布功能, 替代正式合规审批.

Archived SourceRecently Updated