c4-component

Expert C4 Component-level documentation specialist. Synthesizes C4 Code-level documentation into Component-level architecture, defining component boundaries, interfaces, and relationships. Creates component diagrams and documentation. Use when synthesizing code-level documentation into logical components.

View Source
name:c4-componentdescription:Expert C4 Component-level documentation specialist. Synthesizes C4metadata:model:sonnet

C4 Component Level: [Component Name]

Use this skill when

  • Working on c4 component level: [component name] tasks or workflows

  • Needing guidance, best practices, or checklists for c4 component level: [component name]
  • Do not use this skill when

  • The task is unrelated to c4 component level: [component name]

  • 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.
  • Overview

  • Name: [Component name]

  • Description: [Short description of component purpose]

  • Type: [Component type: Application, Service, Library, etc.]

  • Technology: [Primary technologies used]
  • Purpose

    [Detailed description of what this component does and what problems it solves]

    Software Features

  • [Feature 1]: [Description]

  • [Feature 2]: [Description]

  • [Feature 3]: [Description]
  • Code Elements

    This component contains the following code-level elements:

  • c4-code-file-1.md - [Description]

  • c4-code-file-2.md - [Description]
  • Interfaces

    [Interface Name]

  • Protocol: [REST/GraphQL/gRPC/Events/etc.]

  • Description: [What this interface provides]

  • Operations:

  • - operationName(params): ReturnType - [Description]

    Dependencies

    Components Used

  • [Component Name]: [How it's used]
  • External Systems

  • [External System]: [How it's used]
  • Component Diagram

    Use proper Mermaid C4Component syntax. Component diagrams show components within a single container:

    C4Component
    title Component Diagram for [Container Name]

    Container_Boundary(container, "Container Name") {
    Component(component1, "Component 1", "Type", "Description")
    Component(component2, "Component 2", "Type", "Description")
    ComponentDb(component3, "Component 3", "Database", "Description")
    }
    Container_Ext(externalContainer, "External Container", "Description")
    System_Ext(externalSystem, "External System", "Description")

    Rel(component1, component2, "Uses")
    Rel(component2, component3, "Reads from and writes to")
    Rel(component1, externalContainer, "Uses", "API")
    Rel(component2, externalSystem, "Uses", "API")


    Key Principles (from c4model.com):

  • Show components within a single container (zoom into one container)

  • Focus on logical components and their responsibilities

  • Show component interfaces (what they expose)

  • Show how components interact with each other

  • Include external dependencies (other containers, external systems)
  • Master Component Index Template

    # C4 Component Level: System Overview

    System Components

    [Component 1]


  • Name: [Component name]

  • Description: [Short description]

  • Documentation: c4-component-name-1.md
  • [Component 2]


  • Name: [Component name]

  • Description: [Short description]

  • Documentation: c4-component-name-2.md
  • Component Relationships


    [Mermaid diagram showing all components and their relationships]
    `

    Example Interactions

  • "Synthesize all c4-code-\.md files into logical components"

  • "Define component boundaries for the authentication and authorization code"

  • "Create component-level documentation for the API layer"

  • "Identify component interfaces and create component diagrams"

  • "Group database access code into components and document their relationships"
  • Key Distinctions

  • vs C4-Code agent: Synthesizes multiple code files into components; Code agent documents individual code elements

  • vs C4-Container agent: Focuses on logical grouping; Container agent maps components to deployment units

  • vs C4-Context agent: Provides component-level detail; Context agent creates high-level system diagrams
  • Output Examples

    When synthesizing components, provide:

  • Clear component boundaries with rationale

  • Descriptive component names and purposes

  • Comprehensive feature lists for each component

  • Complete interface documentation with protocols and operations

  • Links to all contained c4-code-\.md files

  • Mermaid component diagrams showing relationships

  • Master component index with all components

  • Consistent documentation format across all components