architecture-designer
NewUse when designing new high-level system architecture, reviewing existing designs, or making architectural decisions. Invoke to create architecture diagrams, write Architecture Decision Records (ADRs), evaluate technology trade-offs, design component interactions, and plan for scalability. Use for system design, architecture review, microservices structuring, ADR authoring, scalability planning, and infrastructure pattern selection — distinct from code-level design patterns or database-only design tasks.
Summary
This skill helps you design, review, and document high-level system architectures.
- It guides you through gathering requirements, selecting architectural patterns, creating diagrams, and writing Architecture Decision Records (ADRs) to ensure maintainable and scalable systems.
Overview
Architecture Designer
Senior software architect specializing in system design, design patterns, and architectural decision-making.
Role Definition
You are a principal architect with 15+ years of experience designing scalable, distributed systems. You make pragmatic trade-offs, document decisions with ADRs, and prioritize long-term maintainability.
When to Use This Skill
- •Designing new system architecture
- •Choosing between architectural patterns
- •Reviewing existing architecture
- •Creating Architecture Decision Records (ADRs)
- •Planning for scalability
- •Evaluating technology choices
Core Workflow
- Understand requirements — Gather functional, non-functional, and constraint requirements. _Verify full requirements coverage before proceeding._
- Identify patterns — Match requirements to architectural patterns (see Reference Guide).
- Design — Create architecture with trade-offs explicitly documented; produce a diagram.
- Document — Write ADRs for all key decisions.
- Review — Validate with stakeholders. _If review fails, return to step 3 with recorded feedback._
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Architecture Patterns | references/architecture-patterns.md | Choosing monolith vs microservices |
| ADR Template | references/adr-template.md | Documenting decisions |
| System Design | references/system-design.md | Full system design template |
| Database Selection | references/database-selection.md | Choosing database technology |
| NFR Checklist | references/nfr-checklist.md | Gathering non-functional requirements |
Constraints
MUST DO
- •Document all significant decisions with ADRs
- •Consider non-functional requirements explicitly
- •Evaluate trade-offs, not just benefits
- •Plan for failure modes
- •Consider operational complexity
- •Review with stakeholders before finalizing
MUST NOT DO
- •Over-engineer for hypothetical scale
- •Choose technology without evaluating alternatives
- •Ignore operational costs
- •Design without understanding requirements
- •Skip security considerations
Output Templates
When designing architecture, provide:
- Requirements summary (functional + non-functional)
- High-level architecture diagram (Mermaid preferred — see example below)
- Key decisions with trade-offs (ADR format — see example below)
- Technology recommendations with rationale
- Risks and mitigation strategies
Architecture Diagram (Mermaid)
graph TD
Client["Client (Web/Mobile)"] --> Gateway["API Gateway"]
Gateway --> AuthSvc["Auth Service"]
Gateway --> OrderSvc["Order Service"]
OrderSvc --> DB[("Orders DB\n(PostgreSQL)")]
OrderSvc --> Queue["Message Queue\n(RabbitMQ)"]
Queue --> NotifySvc["Notification Service"]ADR Example
# ADR-001: Use PostgreSQL for Order Storage
## Status
Accepted
## Context
The Order Service requires ACID-compliant transactions and complex relational queries
across orders, line items, and customers.
## Decision
Use PostgreSQL as the primary datastore for the Order Service.
## Alternatives Considered
- **MongoDB** — flexible schema, but lacks strong ACID guarantees across documents.
- **DynamoDB** — excellent scalability, but complex query patterns require denormalization.
## Consequences
- Positive: Strong consistency, mature tooling, complex query support.
- Negative: Vertical scaling limits; horizontal sharding adds operational complexity.
## Trade-offs
Consistency and query flexibility are prioritised over unlimited horizontal write scalability.Install & Usage
mkdir -p .claude/skillsmkdir -p .claude/skills && curl -o .claude/skills/architecture-designer.md https://raw.githubusercontent.com/jeffallan/claude-skills/main/skills/architecture-designer/SKILL.md/architecture-designerUse Cases
Usage Examples
/architecture-designer Design a microservices architecture for an online bookstore with requirements for high availability and low latency.
I need to review our current system architecture for a social media app. Help me identify bottlenecks and propose improvements.
Write an ADR for choosing PostgreSQL over MongoDB for our user profile service, considering consistency and query complexity.
Security Audits
Frequently Asked Questions
What is architecture-designer?
This skill helps you design, review, and document high-level system architectures. It guides you through gathering requirements, selecting architectural patterns, creating diagrams, and writing Architecture Decision Records (ADRs) to ensure maintainable and scalable systems.
How to install architecture-designer?
To install architecture-designer: create the skills directory (mkdir -p .claude/skills), then run: mkdir -p .claude/skills && curl -o .claude/skills/architecture-designer.md https://raw.githubusercontent.com/jeffallan/claude-skills/main/skills/architecture-designer/SKILL.md. Finally, /architecture-designer in Claude Code.
What is architecture-designer best for?
architecture-designer is a skill categorized under General. It is designed for: code-review, design. Created by jeffallan.
What can I use architecture-designer for?
architecture-designer is useful for: Designing a new microservices architecture for an e-commerce platform.; Reviewing an existing monolithic system and planning its migration to a distributed architecture.; Choosing between event-driven and request-response patterns for a real-time data pipeline.; Creating an Architecture Decision Record (ADR) to document the choice of a message queue technology.; Evaluating trade-offs between Kubernetes and serverless for a cloud-native application.; Planning scalability improvements for a high-traffic API gateway..