New to Claude Skills? Learn how to install them →

sickn33 on GitHub

C4 Context Documentation

Free

Create high-level system context diagrams and documentation.

Get this skill

Free · Opens the source repo

What C4 Context Documentation does

The C4 Context skill is designed for professionals who need to produce comprehensive system context documentation using the C4 model. This skill focuses on creating high-level diagrams that illustrate the system's interactions with users and external systems, making it easier to understand the overall architecture without delving into technical details. It provides a structured approach to documenting personas, user journeys, system features, and external dependencies, ensuring that all stakeholders have a clear understanding of the system's context.

By utilizing this skill, users can clarify goals and constraints, apply best practices, and validate outcomes effectively. The skill guides users through actionable steps to create context diagrams and detailed documentation that can be shared with both technical and non-technical audiences. This is particularly useful in environments where clear communication of system architecture is crucial, such as during project kick-offs, stakeholder presentations, or team collaborations.

The C4 Context skill is ideal for software architects, business analysts, and project managers who are involved in system design and documentation. It helps streamline the documentation process by providing templates and guidelines that ensure consistency and clarity. Users can also reference an implementation playbook for detailed examples, enhancing their ability to produce high-quality documentation efficiently.

In summary, this skill empowers users to create stakeholder-friendly documentation that captures the essence of a system's context, making it an invaluable tool for anyone involved in system design and analysis.

When to use it

Use this skill when you need to create system context diagrams or document user journeys and external dependencies in a structured manner.

When not to use it

This skill is not suitable for tasks outside the scope of C4 context-level documentation, such as low-level technical details or unrelated domains.

What you can build with it

Creating System Context Diagrams

Use this skill to generate clear and concise system context diagrams that illustrate user interactions and external dependencies.

Documenting User Journeys

Leverage the skill to map out user journeys for key features, ensuring all interactions are well-documented.

Defining Personas

Utilize this skill to create detailed persona documentation that captures the needs and goals of various users.

How to install C4 Context Documentation

View source

1. Install with the skills CLI

npx skills add sickn33/agentic-awesome-skills/c4-context --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by sickn33

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.
  • If detailed examples are required, open resources/implementation-playbook.md.

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

  1. ...

[External System] Integration Journey

  1. ...

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

  • Container Documentation
  • Component 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

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Frequently asked questions about C4 Context Documentation

Similar skills