Design scalable, reliable software systems. Use when planning new systems, major features, or architecture changes. Covers C4 diagrams, trade-off analysis, and system decomposition.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: designing-systems
description: Design scalable, reliable software systems. Use when planning new systems, major features, or architecture changes. Covers C4 diagrams, trade-off analysis, and system decomposition.
allowed-tools: Read, Write, Glob, Grep
---
# Designing Systems
## Workflows
- [ ] **Requirements**: Gather functional and non-functional requirements
- [ ] **Diagrams**: Create C4 diagrams (Context, Container)
- [ ] **Data**: Define data model and storage strategy
- [ ] **API**: Define interfaces and contracts
- [ ] **Risks**: Identify single points of failure
- [ ] **Document**: Save to `./artifacts/adr_[topic].md`
## Feedback Loops
1. Draft design document
2. Review with stakeholders
3. Create POC for risky components
4. Refine design based on POC
5. Finalize ADR
## Blueprint Template
Every system design should include:
1. **High-Level Diagram**: Mermaid graph showing components
2. **Component Boundaries**: Clear responsibility definitions
3. **API Definitions**: OpenAPI or GraphQL specs
4. **Data Models**: Schema definitions
5. **Trade-off Analysis**: Rationale for key decisions
## C4 Model Levels
### Level 1: Context
Who uses the system? What external systems does it interact with?
### Level 2: Container
What are the major deployable units? (APIs, databases, queues)
### Level 3: Component
What are the major building blocks within each container?
### Level 4: Code
Class/function level (usually not needed in architecture docs)
## Trade-off Analysis
For major decisions, explicitly document:
| Decision | Option A | Option B |
|----------|----------|----------|
| Pros | ... | ... |
| Cons | ... | ... |
| When to Choose | ... | ... |
## Non-Functional Requirements
Always consider:
- **Scalability**: Expected load, growth rate
- **Availability**: SLA targets, failure modes
- **Latency**: P50, P95, P99 requirements
- **Security**: Authentication, authorization, data protection
- **Cost**: Infrastructure, operational overhead
## Resources
- [System Design Template](./resources/system-design.template.md)
- [ADR Template](./resources/adr.template.md)
No comments yet. Be the first to comment!