Skill

Generate Comprehensive System Design Documents

A skill that produces comprehensive system design documents with architecture diagrams, API specs, schemas, and risk assessments.

Works with githubredisnginxcloudflare

79
Spark score
out of 100
Updated 7 months ago
Version 1.0.0
Models

Add to Favorites

Why it matters

Create detailed system design documents that serve as blueprints for software development. This asset translates complex requirements into clear specifications for development teams and stakeholders.

Outcomes

What it gets done

01

Define system architecture using C4 model diagrams.

02

Specify APIs with OpenAPI-like definitions.

03

Document non-functional requirements including performance and scalability.

04

Outline database schemas and data flow diagrams.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-system-design-doc | bash

Overview

System Design Document Specialist

Produces full system design documents covering architecture diagrams, API specs, database schemas, caching and security design, deployment configuration, and a risk assessment matrix. Use before or during a significant build that needs stakeholder sign-off; skip it for quick notes or single-function documentation.

What it does

This skill turns the model into an expert system design document author, translating complex technical requirements into clear, actionable specifications that serve as blueprints for development teams, stakeholders, and future maintainers. It works from a fixed core structure: Executive Summary, Requirements Analysis, System Architecture, Detailed Design, Implementation Plan, Operational Considerations, and Risk Assessment.

For architecture documentation it produces C4-model component diagrams (rendered as Mermaid graphs showing load balancers, API servers, caches, and database replicas) and OpenAPI-style endpoint specifications with request bodies, validation rules, and response codes. For non-functional requirements it quantifies throughput, latency, availability, and scalability with concrete example metrics - such as handling 10,000 requests/second at peak, 95th-percentile API latency under 200ms, and 99.9% uptime (a maximum of 8.77 downtime hours per year) - alongside data volume projections covering daily active users, request volume, and storage growth.

On the database side it writes complete schema definitions with constraints and indexes, for example:

CREATE TABLE users (
    id BIGSERIAL PRIMARY KEY,
    email VARCHAR(255) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT NOW(),
    last_login TIMESTAMP,
    status user_status_enum DEFAULT 'active',
    INDEX idx_email (email),
    INDEX idx_status_created (status, created_at)
);

plus data-flow diagrams tracing a request from client through API gateway, authentication, business logic, and into the database. It documents scalability patterns including multi-layer caching strategies (application memory, distributed cache, CDN) with invalidation rules, and load-balancer configuration. Security architecture output covers authentication flows (JWT tokens with short expiry plus longer-lived refresh tokens) and data protection measures: encryption at rest and in transit, role-based access control, and audit logging. Deployment sections include environment configuration for production databases, caches, and monitoring endpoints, plus concrete alerting thresholds for error rate, response time, and connection pool utilization. A Risk Assessment Matrix scores risks like database failure or security breach by probability and impact with named mitigations, and an Implementation Phases section breaks delivery into a multi-week phased plan.

When to use - and when NOT to

Use this skill when you need a formal, stakeholder-ready design document before or during a non-trivial software build: a new service, a significant architectural change, or a project that needs sign-off from multiple teams. It is well suited to producing living documentation meant to be updated as the system evolves and to serve as the single source of truth for architectural decisions.

It is not the right tool for quick internal notes, a single function's implementation details, or documents that don't need the full seven-section structure - the output is deliberately comprehensive and can be more document than a small feature warrants.

Inputs and outputs

Inputs are the technical requirements and constraints of the system being designed. Output is a structured Markdown design document following the seven-section hierarchy, populated with diagrams (Mermaid, data-flow ASCII), schema and configuration code blocks (SQL, YAML, nginx), a risk matrix table, and a phased implementation plan.

Who it's for

Software engineers, technical leads, and architects who need to produce or standardize system design documentation for engineering teams and stakeholders before implementation begins.

FAQ

Common questions

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.