PluginBench
Skill
Pass
Audit score 90

architecture-designer

jeffallan/claude-skills

Design scalable system architecture, document decisions with ADRs, and evaluate technology trade-offs.

What is architecture-designer?

Expert-level system architecture design skill for creating new architectures, reviewing existing designs, and making architectural decisions. Use when designing distributed systems, choosing between architectural patterns, planning for scalability, or documenting key technical decisions with Architecture Decision Records (ADRs).

  • Create high-level architecture diagrams (Mermaid format) showing component interactions and data flow
  • Write Architecture Decision Records (ADRs) documenting rationale, alternatives, and trade-offs for key decisions
  • Evaluate technology choices by comparing alternatives and their consequences
  • Design component interactions and system boundaries for scalability and maintainability
  • Assess non-functional requirements (performance, availability, security, operational complexity)
  • Plan failure modes and mitigation strategies

How to install architecture-designer

npx skills add https://github.com/jeffallan/claude-skills --skill architecture-designer
Claude Code
Cursor
Windsurf
Cline

How to use architecture-designer

  1. 1.Gather functional, non-functional, and constraint requirements for your system
  2. 2.Identify applicable architectural patterns from the Reference Guide (monolith, microservices, event-driven, etc.)
  3. 3.Request architecture design with explicit trade-offs documented
  4. 4.Review the generated architecture diagram and ADRs with stakeholders
  5. 5.Iterate on design based on feedback, returning to pattern selection if needed

Use cases

Good for
  • Designing a new microservices architecture for a growing platform
  • Choosing between monolithic and distributed system approaches for a specific domain
  • Documenting why PostgreSQL was selected over MongoDB for a particular service
  • Reviewing an existing architecture and identifying scalability bottlenecks
  • Planning database selection and technology stack for a new system component
Who it's for
  • Principal architects and senior engineers
  • Technical leads making system design decisions
  • Teams evaluating architectural patterns and technology choices
  • Engineers documenting architectural decisions for stakeholder review
  • DevOps and infrastructure teams planning system evolution

architecture-designer FAQ

When should I use this skill vs. code-level design patterns?

Use Architecture Designer for high-level system structure, component boundaries, and technology selection. Use code-level design patterns for implementation details within components.

What format should architecture diagrams be in?

Mermaid format is preferred for easy version control and documentation integration, though other formats can be used.

Do I need to document every decision with an ADR?

Document all significant architectural decisions. Minor implementation choices within a component don't require ADRs, but technology selection, pattern choices, and trade-offs should be recorded.

How do I handle scalability concerns in the design?

Explicitly gather non-functional requirements (throughput, latency, data volume), identify potential bottlenecks, and design with failure modes in mind. Avoid over-engineering for hypothetical scale.

What should I include when requesting an architecture review?

Provide requirements summary, current architecture diagram, key decisions made, and specific concerns or trade-offs you want feedback on.

Full instructions (SKILL.md)

Source of truth, from jeffallan/claude-skills.


name: architecture-designer description: Use 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. license: MIT metadata: author: https://github.com/Jeffallan version: "1.1.1" domain: api-architecture triggers: architecture, system design, design pattern, microservices, scalability, ADR, technical design, infrastructure role: expert scope: design output-format: document related-skills: fullstack-guardian, devops-engineer, secure-code-guardian, microservices-architect, code-reviewer

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

  1. Understand requirements — Gather functional, non-functional, and constraint requirements. Verify full requirements coverage before proceeding.
  2. Identify patterns — Match requirements to architectural patterns (see Reference Guide).
  3. Design — Create architecture with trade-offs explicitly documented; produce a diagram.
  4. Document — Write ADRs for all key decisions.
  5. Review — Validate with stakeholders. If review fails, return to step 3 with recorded feedback.

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Architecture Patternsreferences/architecture-patterns.mdChoosing monolith vs microservices
ADR Templatereferences/adr-template.mdDocumenting decisions
System Designreferences/system-design.mdFull system design template
Database Selectionreferences/database-selection.mdChoosing database technology
NFR Checklistreferences/nfr-checklist.mdGathering 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:

  1. Requirements summary (functional + non-functional)
  2. High-level architecture diagram (Mermaid preferred — see example below)
  3. Key decisions with trade-offs (ADR format — see example below)
  4. Technology recommendations with rationale
  5. 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.

Documentation