Loading...
Loading...
Write, edit, or review chapters of an arc42 architecture documentation. Use when user says 'write arc42', 'update the architecture documentation', 'fill out chapter 5', 'arc42 chapter', 'architecture docs', or 'document our building blocks'. Do NOT use for ADRs (use document-decision — ADRs belong inside arc42 chapter 9) or user-facing feature docs (use document-feature).
npx skill4agent add thommann/skills arc42docs/arc42/docs/arc42/find . -type d -name 'arc42*'CLAUDE.mdARCHITECTURE.md| # | Chapter | What belongs here | Quality criterion |
|---|---|---|---|
| 1 | Introduction and Goals | Top 3 business goals, top 3 quality attributes, key stakeholders | Any newcomer understands WHY this system exists in 5 minutes |
| 2 | Constraints | Technical, organizational, and regulatory constraints imposed from outside | Reader knows which rules are non-negotiable |
| 3 | Context and Scope | System boundary: users, external systems, their interactions | Clear line between "our system" and "not our system" |
| 4 | Solution Strategy | The 5–10 load-bearing architectural decisions, with 1-line rationale each | Reader grasps the shape without reading chapters 5–10 |
| 5 | Building Block View | Static structure: components and their relationships, at multiple zoom levels | A dev knows which component owns a given concern |
| 6 | Runtime View | Sequence diagrams for 3–5 important scenarios | Reader understands dynamic behavior for critical flows |
| 7 | Deployment View | Where the software runs, in what topology | On-call engineer knows what's where |
| 8 | Cross-cutting Concepts | Patterns applied across the system (auth, logging, error handling, i18n) | One place to learn "how we do X" |
| 9 | Architecture Decisions | ADRs — each an immutable record | Decisions are traceable with their context |
| 10 | Quality Requirements | Measurable quality attributes with scenarios | Quality goals are testable |
| 11 | Risks and Technical Debt | Known risks, debt items, mitigations | Team and sponsors see what's parked and why |
| 12 | Glossary | Terms with precise definitions | Ambiguous language has a single meaning |
find . -type d -name 'arc42*' -not -path '*/node_modules/*'
# Common: docs/arc42/ OR documentation/arc42/01-introduction.md12-glossary.mddocument-decisionsrc/lib/errors/index.tsdocument-decisionCLAUDE.mdCLAUDE.mdundefined# The edited chapter has the right section structure
# (most chapters have sub-headings like ### Building blocks, ### Interfaces)
grep -c '^##\? ' docs/arc42/<chapter>.md
# Expected: several — chapter content has subsections.
# Links between chapters resolve
grep -oE '\[([^]]+)\]\(([^)]+\.md[^)]*)\)' docs/arc42/<chapter>.md | while read link; do
# Relative path check
target=$(echo "$link" | sed -E 's/.*\(([^)]+)\).*/\1/' | cut -d'#' -f1)
[ -n "$target" ] && [ ! -f "docs/arc42/$target" ] && echo "BROKEN: $link"
done
# Docs site builds (project-specific command)| Mistake | Correction |
|---|---|
| Filling every chapter because the template has 12 | Chapters are optional if empty. Better to have 8 load-bearing chapters than 12 skeleton-filled ones. |
| Treating chapter 4 and chapter 9 as the same | Chapter 4 is a summary (5–10 one-liners). Chapter 9 is ADRs (full immutable records). Both exist. |
| Chapter 5 with no diagram | The static structure is a diagram first, prose second. Add one (Mermaid or PlantUML). |
| Quality goals as adjectives | "Fast" is not a quality goal. Write it as a scenario: "when user clicks X, UI responds within 100ms at p95". |