C4 Context Level: System Context
Use this skill when
- Working on c4 context level: system context tasks or workflows
- Needing guidance, best practices, or checklists for c4 context level: system context
Do not use this skill when
- The task is unrelated to c4 context level: system context
- You need a different domain or tool outside this scope
Instructions
- Clarify goals, constraints, and required inputs.
- Apply relevant best practices and validate outcomes.
- Provide actionable steps and verification.
System Overview
Short Description
[One-sentence description of what the system does]
Long Description
[Detailed description of the system's purpose, capabilities, and the problems it solves]
Personas
[Persona Name]
- Type: [Human User / Programmatic User / External System]
- Description: [Who this persona is and what they need]
- Goals: [What this persona wants to achieve]
- Key Features Used: [List of features this persona uses]
System Features
[Feature Name]
- Description: [What this feature does]
- Users: [Which personas use this feature]
- User Journey: [Link to user journey map]
User Journeys
[Feature Name] - [Persona Name] Journey
- ...
[External System] Integration Journey
- ...
External Systems and Dependencies
[External System Name]
- Type: [Database, API, Service, Message Queue, etc.]
- Description: [What this external system provides]
- Integration Type: [API, Events, File Transfer, etc.]
- Purpose: [Why the system depends on this]
System Context Diagram
[Mermaid diagram showing system, users, and external systems]
Related Documentation
## Context Diagram Template
According to the [C4 model](https://c4model.com/diagrams/system-context), a System Context diagram shows the system as a box in the center, surrounded by its users and the other systems that it interacts with. The focus is on **people (actors, roles, personas) and software systems** rather than technologies, protocols, and other low-level details.
Use proper Mermaid C4 syntax:
```mermaid
C4Context
title System Context Diagram
Person(user, "User", "Uses the system to accomplish their goals")
System(system, "System Name", "Provides features X, Y, and Z")
System_Ext(external1, "External System 1", "Provides service A")
System_Ext(external2, "External System 2", "Provides service B")
SystemDb(externalDb, "External Database", "Stores data")
Rel(user, system, "Uses")
Rel(system, external1, "Uses", "API")
Rel(system, external2, "Sends events to")
Rel(system, externalDb, "Reads from and writes to")
Key Principles (from c4model.com):
- Focus on people and software systems, not technologies
- Show the system boundary clearly
- Include all users (human and programmatic)
- Include all external systems the system interacts with
- Keep it stakeholder-friendly - understandable by non-technical audiences
- Avoid showing technologies, protocols, or low-level details
Example Interactions
- "Create C4 Context-level documentation for the system"
- "Identify all personas and create user journey maps for key features"
- "Document external systems and create a system context diagram"
- "Analyze system documentation and create comprehensive context documentation"
- "Map user journeys for all key features including programmatic users"
Key Distinctions
- vs C4-Container agent: Provides high-level system view; Container agent focuses on deployment architecture
- vs C4-Component agent: Focuses on system context; Component agent focuses on logical component structure
- vs C4-Code agent: Provides stakeholder-friendly overview; Code agent provides technical code details
Output Examples
When creating context documentation, provide:
- Clear system descriptions (short and long)
- Comprehensive persona documentation (human and programmatic)
- Complete feature lists with descriptions
- Detailed user journey maps for all key features
- Complete external system and dependency documentation
- Mermaid context diagram showing system, users, and external systems
- Links to container and component documentation
- Stakeholder-friendly documentation understandable by non-technical audiences
- Consistent documentation format
1---
2name: c4-context
3description: Expert C4 Context-level documentation specialist. Creates
4 high-level system context diagrams, documents personas, user journeys, system
5 features, and external dependencies. Synthesizes container and component
6 documentation with system documentation to create comprehensive context-level
7 architecture. Use when creating the highest-level C4 system context
8 documentation.
9metadata:
10 model: sonnet
11---
12
13# C4 Context Level: System Context
14
15## Use this skill when
16
17- Working on c4 context level: system context tasks or workflows
18- Needing guidance, best practices, or checklists for c4 context level: system context
19
20## Do not use this skill when
21
22- The task is unrelated to c4 context level: system context
23- You need a different domain or tool outside this scope
24
25## Instructions
26
27- Clarify goals, constraints, and required inputs.
28- Apply relevant best practices and validate outcomes.
29- Provide actionable steps and verification.
30
31## System Overview
32
33### Short Description
34
35[One-sentence description of what the system does]
36
37### Long Description
38
39[Detailed description of the system's purpose, capabilities, and the problems it solves]
40
41## Personas
42
43### [Persona Name]
44
45- **Type**: [Human User / Programmatic User / External System]
46- **Description**: [Who this persona is and what they need]
47- **Goals**: [What this persona wants to achieve]
48- **Key Features Used**: [List of features this persona uses]
49
50## System Features
51
52### [Feature Name]
53
54- **Description**: [What this feature does]
55- **Users**: [Which personas use this feature]
56- **User Journey**: [Link to user journey map]
57
58## User Journeys
59
60### [Feature Name] - [Persona Name] Journey
61
621. [Step 1]: [Description]
632. [Step 2]: [Description]
643. [Step 3]: [Description]
65 ...
66
67### [External System] Integration Journey
68
691. [Step 1]: [Description]
702. [Step 2]: [Description]
71 ...
72
73## External Systems and Dependencies
74
75### [External System Name]
76
77- **Type**: [Database, API, Service, Message Queue, etc.]
78- **Description**: [What this external system provides]
79- **Integration Type**: [API, Events, File Transfer, etc.]
80- **Purpose**: [Why the system depends on this]
81
82## System Context Diagram
83
84[Mermaid diagram showing system, users, and external systems]
85
86## Related Documentation
87
88- [Container Documentation](./c4-container.md)
89- [Component Documentation](./c4-component.md)
90```
91
92## Context Diagram Template
93
94According to the [C4 model](https://c4model.com/diagrams/system-context), a System Context diagram shows the system as a box in the center, surrounded by its users and the other systems that it interacts with. The focus is on **people (actors, roles, personas) and software systems** rather than technologies, protocols, and other low-level details.
95
96Use proper Mermaid C4 syntax:
97
98```mermaid
99C4Context
100 title System Context Diagram
101
102 Person(user, "User", "Uses the system to accomplish their goals")
103 System(system, "System Name", "Provides features X, Y, and Z")
104 System_Ext(external1, "External System 1", "Provides service A")
105 System_Ext(external2, "External System 2", "Provides service B")
106 SystemDb(externalDb, "External Database", "Stores data")
107
108 Rel(user, system, "Uses")
109 Rel(system, external1, "Uses", "API")
110 Rel(system, external2, "Sends events to")
111 Rel(system, externalDb, "Reads from and writes to")
112```
113
114**Key Principles** (from [c4model.com](https://c4model.com/diagrams/system-context)):
115
116- Focus on **people and software systems**, not technologies
117- Show the **system boundary** clearly
118- Include all **users** (human and programmatic)
119- Include all **external systems** the system interacts with
120- Keep it **stakeholder-friendly** - understandable by non-technical audiences
121- Avoid showing technologies, protocols, or low-level details
122
123## Example Interactions
124
125- "Create C4 Context-level documentation for the system"
126- "Identify all personas and create user journey maps for key features"
127- "Document external systems and create a system context diagram"
128- "Analyze system documentation and create comprehensive context documentation"
129- "Map user journeys for all key features including programmatic users"
130
131## Key Distinctions
132
133- **vs C4-Container agent**: Provides high-level system view; Container agent focuses on deployment architecture
134- **vs C4-Component agent**: Focuses on system context; Component agent focuses on logical component structure
135- **vs C4-Code agent**: Provides stakeholder-friendly overview; Code agent provides technical code details
136
137## Output Examples
138
139When creating context documentation, provide:
140
141- Clear system descriptions (short and long)
142- Comprehensive persona documentation (human and programmatic)
143- Complete feature lists with descriptions
144- Detailed user journey maps for all key features
145- Complete external system and dependency documentation
146- Mermaid context diagram showing system, users, and external systems
147- Links to container and component documentation
148- Stakeholder-friendly documentation understandable by non-technical audiences
149- Consistent documentation format