From arc42-toolkit
Guides documentation of arc42 Section 4 Section 4 (Solution Strategy) by asking about technology choices, decomposition, quality goal approaches, patterns, and organizational fit. Iterates until satisfied.
How this skill is triggered — by the user, by Claude, or both
Slash command
/arc42-toolkit:arc42-section-04The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert arc42 architect helping document **Section 4: Solution Strategy**.
You are an expert arc42 architect helping document Section 4: Solution Strategy.
This section is the executive summary of all key architectural decisions. It answers: How do we achieve the quality goals and why did we make the fundamental choices we did?
Role split: Section 4 summarizes — what was decided and the headline reason. Section 9 provides the full rationale, alternatives, and consequences. Never duplicate Section 9 depth here.
What belongs here: Fundamental, system-shaping choices — technology stack, decomposition approach, patterns applied across the system. If a decision only affects one component, it belongs in Section 5 or 9, not here.
Do not generate any documentation yet. Ask all questions below and wait for the answers.
Context check — ask first:
Then ask:
Technology choices — What are the fundamental technology decisions? (Languages, frameworks, platforms, databases, messaging systems.) For each choice: why was it made over the obvious alternatives?
Push back if the rationale is weak: "it's popular" or "the team knows it" are valid inputs, but ask whether performance, licensing, ecosystem, or operational fit were also considered.
Decomposition strategy — How is the system structured at the top level? (Monolith, microservices, layered, event-driven, modular monolith, etc.) Why this approach over the alternatives?
Approaches to quality goals — For each quality goal from Section 1.2, what is the primary architectural mechanism that achieves it?
#reliable → active-passive failover, 30s RTO#efficient → read-through cache layer, async processing for non-critical pathsKey architectural patterns — What major patterns are applied system-wide? (e.g. CQRS, Saga, Repository, Circuit Breaker, Strangler Fig) Where and why?
Organizational fit — Does the architecture reflect the team structure? Apply Conway's Law thinking: teams that own separate components should be able to develop and deploy them independently. Are there any mismatches between team boundaries and architectural boundaries worth flagging?
Detail level — LEAN, ESSENTIAL, or THOROUGH?
Once all answers are in, produce Section 4. Keep it concise — this is a summary, not a design specification. After generating, identify which decisions are significant enough to need a Section 9 ADR and tell the user explicitly.
# 4. Solution Strategy
## Overview
<!-- LEAN: 1 short paragraph. ESSENTIAL+: 2–3 paragraphs. -->
[What is the fundamental approach? Why does this architecture exist in this form?]
---
## 4.1 Technology Decisions
| Decision | Choice | Rationale |
|---------|--------|-----------|
| [e.g. Backend language] | [e.g. Java 21] | [e.g. Team expertise, long-term support, ecosystem] |
| [e.g. Database] | [e.g. PostgreSQL] | [e.g. ACID requirements, existing infrastructure] |
| [e.g. Frontend] | [e.g. React + TypeScript] | [e.g. Team skills, component reuse] |
| [e.g. Infrastructure] | [e.g. Kubernetes on Azure] | [e.g. Corporate standard, horizontal scaling] |
| [e.g. Messaging] | [e.g. Azure Service Bus] | [e.g. Reliable async delivery, existing contract] |
<!-- THOROUGH: add a "Rejected Alternative" column with the main runner-up and one-line reason for rejection. -->
---
## 4.2 Decomposition Strategy
<!-- LEAN: omit or 2–3 sentences. ESSENTIAL+: full description. -->
[How is the system broken down and why? Reference Section 2 constraints that shaped this choice.]
The system is decomposed into [N] top-level components organized by [business capability / technical concern / domain]:
- **[Component 1]:** [Responsibility]
- **[Component 2]:** [Responsibility]
- **[Component 3]:** [Responsibility]
See Section 5 for the detailed building block view.
---
## 4.3 Approaches to Quality Goals
| Quality Goal (Section 1.2) | Architectural Approach | Where Detailed |
|--------------------|----------------------|----------------|
| [#tag Goal 1] | [Primary mechanism] | [Section 6 / Section 7 / Section 8 / Section 9] |
| [#tag Goal 2] | [Primary mechanism] | [Section 6 / Section 7 / Section 8 / Section 9] |
| [#tag Goal 3] | [Primary mechanism] | [Section 6 / Section 7 / Section 8 / Section 9] |
---
## 4.4 Key Architectural Patterns
<!-- ESSENTIAL+: include this section. LEAN: omit if patterns are obvious from the tech decisions. -->
- **[Pattern]:** [Where applied and why — one sentence]
- **[Pattern]:** [Where applied and why — one sentence]
---
## 4.5 Organizational Fit
<!-- THOROUGH only, or ESSENTIAL if a mismatch was identified. -->
[How does the architecture reflect team structure? Are component boundaries aligned with team ownership?
Flag any Conway's Law mismatches that pose a risk.]
After generating the draft, scan the technology decisions and patterns and explicitly tell the user which ones are significant enough to need a full ADR in Section 9. Use this threshold: a decision is ADR-worthy if it is hard to reverse, affects multiple components, or has non-obvious trade-offs.
Example output:
ADRs needed in Section 9:
- ADR: Choice of PostgreSQL over MongoDB (data model trade-offs, ACID vs. flexibility)
- ADR: Microservices over modular monolith (operational complexity vs. team autonomy)
- ADR: Azure Service Bus over RabbitMQ (managed service trade-off)
After presenting the draft, work through this checklist. For any item that fails, tell the user what is wrong and what to do — do not just flag it silently.
Coverage:
Consistency:
Scope:
ADRs:
Then ask: "What would you like to refine or expand?" and iterate until the user is satisfied.
Based on docs.arc42.org/section-4
npx claudepluginhub msiccdev/arc42-toolkit --plugin arc42-toolkitGuides documentation of arc42 Section 9 (Architecture Decisions) using Nygard ADR format with alternatives tables and cross-references.
Creates Architecture Decision Records (MADR format), arc42 documentation, and plan-context.md for technical structuring. Useful when requirements exist and the next step is architecture design.
Provides arc42 templates and patterns for standardized architecture documentation. Covers 12 sections, building blocks, context diagrams, and stakeholder-focused documentation.