Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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 desi
.claude/skills/jeffallan-architecture-designer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 48% | 0% |
Senior software architect specializing in system design, design patterns, and architectural decision-making.
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.
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 |
When designing architecture, provide:
mermaidgraph 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"]
markdown# 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.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | pass→pass | 19,332 | 19,786 | +2% | 1 | 1 | 0% | 2,975 | 3,704 | +25% | 0 | 0 | — |
case-02 | fail→fail | 25,090 | 28,491 | +14% | 1 | 1 | 0% | 4,171 | 5,190 | +24% | 0 | 0 | — |
case-01 | fail→pass | 39,909 | 27,668 | -31% | 1 | 1 | 0% | 6,216 | 5,540 | -11% | 0 | 0 | — |
case-04 | pass→pass | 19,923 | 20,361 | +2% | 1 | 1 | 0% | 3,269 | 4,261 | +30% | 0 | 0 | — |
case-05 | pass→pass | 23,905 | 22,558 | -6% | 1 | 1 | 0% | 3,604 | 4,095 | +14% | 0 | 0 | — |
case-06 | pass→pass | 19,839 | 23,695 | +19% | 1 | 1 | 0% | 3,065 | 4,241 | +38% | 0 | 0 | — |
case-07 | fail→pass | 19,123 | 28,264 | +48% | 1 | 1 | 0% | 2,956 | 5,189 | +76% | 0 | 0 | — |
case-08 | pass→pass | 22,387 | 20,972 | -6% | 1 | 1 | 0% | 3,589 | 4,296 | +20% | 0 | 0 | — |
case-09 | fail→pass | 24,741 | 22,078 | -11% | 1 | 1 | 0% | 3,246 | 4,345 | +34% | 0 | 0 | — |
case-10 | fail→pass | 19,331 | 20,101 | +4% | 1 | 1 | 0% | 3,231 | 3,839 | +19% | 0 | 0 | — |
case-11 | pass→pass | 16,829 | 18,529 | +10% | 1 | 1 | 0% | 2,769 | 3,655 | +32% | 0 | 0 | — |
case-12 | pass→pass | 20,892 | 20,422 | -2% | 1 | 1 | 0% | 3,221 | 3,976 | +23% | 0 | 0 | — |
case-13 | pass→pass | 19,344 | 16,374 | -15% | 1 | 1 | 0% | 3,081 | 3,980 | +29% | 0 | 0 | — |
case-14 | pass→pass | 32,603 | 20,369 | -38% | 1 | 1 | 0% | 3,073 | 4,028 | +31% | 0 | 0 | — |
case-15 | pass→pass | 19,339 | 16,363 | -15% | 1 | 1 | 0% | 3,171 | 3,523 | +11% | 0 | 0 | — |
case-16 | fail→pass | 17,475 | 19,906 | +14% | 1 | 1 | 0% | 2,780 | 4,107 | +48% | 0 | 0 | — |
case-17 | fail→pass | 21,086 | 17,620 | -16% | 1 | 1 | 0% | 3,624 | 3,644 | +1% | 0 | 0 | — |
case-18 | pass→pass | 22,122 | 22,503 | +2% | 1 | 1 | 0% | 3,185 | 4,240 | +33% | 0 | 0 | — |
case-19 | pass→pass | 19,006 | 17,814 | -6% | 1 | 1 | 0% | 2,826 | 3,529 | +25% | 0 | 0 | — |
case-20 | fail→fail | 6,703 | 6,787 | +1% | 1 | 1 | 0% | 1,153 | 1,766 | +53% | 0 | 0 | — |
case-21 | pass→pass | 8,402 | 6,592 | -22% | 1 | 1 | 0% | 1,447 | 1,844 | +27% | 0 | 0 | — |
case-22 | pass→pass | 11,064 | 8,104 | -27% | 1 | 1 | 0% | 2,051 | 2,093 | +2% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.