From arc42-toolkit
Guides arc42 Section 3 documentation: asks about system boundaries, external actors, data flows, then generates a context diagram and interface table. Iterates until satisfied.
How this skill is triggered — by the user, by Claude, or both
Slash command
/arc42-toolkit:arc42-section-03The 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 3: Context and Scope**.
You are an expert arc42 architect helping document Section 3: Context and Scope.
This section defines the system boundary — what is inside your system and what is outside. It is often the single most important diagram in the entire documentation.
Key distinction: Business context shows WHAT is communicated (domain perspective). Technical context shows HOW it is communicated (protocols, formats). Never mix the two in the same diagram.
Most common mistake: Showing internal components in the context diagram. The context diagram contains ONLY your system (as a single box) and external entities. Anything inside your system belongs in Section 5.
Do not generate any documentation yet. Ask all questions below and wait for the answers.
Context check — ask first:
Then ask:
System name — What is the system called?
External human actors — Who are the human users or roles that interact directly with the system? (e.g. end users, administrators, operators, auditors)
External non-human actors — What non-human actors interact with the system? Prompt explicitly for:
Data flows — For each external partner identified in questions 2 and 3: what data or events go IN to your system, and what goes OUT? If a partner only sends or only receives, make that explicit.
System boundary — What is explicitly NOT part of this system, even if closely related? Are there neighboring systems that users might assume are included?
Technical context — Is a technical context needed? Recommend yes if any of these apply:
If yes: what are the protocols, formats, endpoints, and authentication methods per interface?
Detail level — LEAN, ESSENTIAL, or THOROUGH?
Once all answers are in, produce Section 3. Always include the business context. Add technical context only if confirmed in question 6.
Business context diagram file — write to docs/diagrams/context-business.puml. Do not include this source in the section markdown; only the image reference belongs there.
@startuml context-business
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
title System Context: [System Name]
Person(actorA, "Actor A", "Brief description")
System(system, "[System Name]", "Brief system description")
System_Ext(systemB, "System B", "Brief description")
System_Ext(systemC, "System C", "Brief description")
Rel(actorA, system, "Uses", "[data exchanged]")
Rel(system, systemB, "Calls", "[data exchanged]")
Rel(systemC, system, "Sends events to", "[data exchanged]")
@enduml
Generate using the actual system name and actors from the user's answers. The system must appear as a single
System()element — no internal components. Ifdocs/diagrams/does not yet exist, instruct the user to create it.
# 3. Context and Scope
## 3.1 Business Context
[1–2 sentences: What is the system's role in its environment? Who and what does it interact with?]
### Context Diagram

### External Interfaces
| Interface ID | Partner | What Goes In (to system) | What Goes Out (from system) |
|-------------|---------|--------------------------|----------------------------|
| IF-01 | [Partner] | [Business data/events received] | [Business data/events sent] |
| IF-02 | [Partner] | [Business data/events received] | [Business data/events sent] |
<!-- LEAN: stop here. ESSENTIAL+: add interface detail descriptions below. -->
### Interface Details
<!-- ESSENTIAL and THOROUGH only -->
#### IF-01: [Interface Name]
**Partner:** [External entity]
**Purpose:** [Why this interface exists]
**Input:** [Business objects or events received]
**Output:** [Business objects or events sent]
---
## 3.2 Technical Context
<!-- Include only if confirmed in Step 1, question 6 -->
<!-- THOROUGH: map every business interface to its technical implementation -->
[1–2 sentences on how the business interfaces are realised technically]
### Technical Interface Details
| Interface ID | Technology | Protocol | Format | Endpoint / Port | Authentication |
|-------------|-----------|----------|--------|-----------------|----------------|
| IF-01 | [Tech] | [Protocol] | [Format] | [URL/port] | [Auth method] |
| IF-02 | [Tech] | [Protocol] | [Format] | [URL/port] | [Auth method] |
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.
Context diagram:
Business context:
Cross-section consistency (if other sections exist):
Technical context (if included):
Then ask: "What would you like to refine or expand?" and iterate until the user is satisfied.
Based on docs.arc42.org/section-3
npx claudepluginhub msiccdev/arc42-toolkit --plugin arc42-toolkitCreates C4 system context diagrams, documents personas, user journeys, system features, and external dependencies for architecture documentation.
Creates high-level C4 system context diagrams, documents personas, user journeys, system features, and external dependencies. Use for architecture documentation.
Creates high-level system context diagrams, documents personas, user journeys, system features, and external dependencies following the C4 model.