c4-component

Expert C4 Component-level documentation specialist. Synthesizes C4 Code-level documentation into Component-level architecture, defining component boundaries, interfaces, and relationships.

31,392 stars
Complexity: easy

About this skill

This AI agent skill empowers the agent to act as an expert C4 Component-level documentation specialist. It enables the AI to synthesize detailed code-level information into clear, structured C4 Component-level architecture descriptions and outlines. The skill guides the AI in accurately defining component boundaries, public interfaces (APIs), and their relationships within a software system, ensuring consistency with C4 model best practices. It's designed to streamline the documentation process, enhance architectural clarity, and facilitate better understanding among development teams by producing precise component-level insights.

Best use case

Designing new software components or modules within an existing system. Refactoring or re-architecting parts of a system and needing updated, consistent documentation. Onboarding new team members by providing concise component-level overviews. Auditing existing software components for compliance with architectural standards. Generating detailed documentation for APIs and services at the component level.

Expert C4 Component-level documentation specialist. Synthesizes C4 Code-level documentation into Component-level architecture, defining component boundaries, interfaces, and relationships.

Well-structured and accurate C4 Component-level documentation, outlining specific component names, responsibilities, public interfaces (APIs), and dependencies, adhering to C4 model standards and best practices. The output will facilitate a clear understanding of the component's role and interactions within the broader system.

Practical example

Example input

Generate C4 Component-level documentation for the 'User Authentication Service' component. Detail its interaction with the 'User Database', 'Password Hashing Utility', and its public API endpoints for user registration, login, and token validation. Assume it's built using Node.js and RESTful APIs.

Example output

```
## C4 Component Level: User Authentication Service

### Component: User Authentication API
- **Description:** Exposes API endpoints for user registration, login, session management, and token validation. Orchestrates interactions with the user database and password hashing utility.
- **Technology:** Node.js, Express.js
- **Interfaces:**
    - `POST /register`: Registers a new user.
    - `POST /login`: Authenticates a user and issues a token.
    - `GET /validate-token`: Validates an existing authentication token.
    - `POST /logout`: Invalidates a user's session/token.
- **Relationships:**
    - **Depends on:**
        - **Internal Component:** User Database (for storing user credentials and profiles)
        - **Internal Component:** Password Hashing Utility (for securely hashing and verifying passwords)
        - **Internal Component:** JWT Service (for token generation and validation)
        - **Internal Component:** Logging Service
    - **Used by:**
        - **Internal Service:** User Profile Service (for user data retrieval after authentication)
        - **Internal Service:** Authorization Service (for checking permissions based on validated tokens)
- **Boundaries:** This component is responsible for all aspects of user authentication. It abstracts away the details of password storage and hashing, providing a secure and consistent authentication mechanism for the system.

### Component: User Database Access
- **Description:** Provides an interface for CRUD operations on user records within the database. Encapsulates database-specific logic.
- **Technology:** PostgreSQL, Sequelize ORM
- **Interfaces:** `getUserById(id)`, `getUserByEmail(email)`, `createUser(user)`, `updateUser(id, updates)`
- **Relationships:**
    - **Used by:** User Authentication API
    - **Depends on:** PostgreSQL Database

### Component: Password Hashing Utility
- **Description:** Handles the secure hashing and verification of user passwords using industry-standard algorithms.
- **Technology:** Node.js (bcrypt library)
- **Interfaces:** `hashPassword(password)`, `verifyPassword(password, hashedPassword)`
- **Relationships:**
    - **Used by:** User Authentication API
```

When to use this skill

  • When you need to create, update, or validate C4 Component-level documentation for a specific part of your software system.
  • When seeking best practices, guidelines, or checklists for C4 Component-level architecture tasks.
  • When an AI agent needs to understand and apply C4 model principles to documentation generation.
  • When transforming low-level code details or technical specifications into higher-level architectural views focused on components.

When not to use this skill

  • When the task involves C4 System Context or Container-level documentation (use a more specific skill for those levels if available).
  • When the documentation required is unrelated to the C4 model or software architecture.
  • When requiring a deep dive into implementation details or code-level documentation without the need for component-level synthesis.
  • When the scope is outside software documentation, e.g., project management, network configuration, or infrastructure planning.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/c4-component/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/c4-component/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/c4-component/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How c4-component Compares

Feature / Agentc4-componentStandard Approach
Platform SupportClaudeLimited / Varies
Context Awareness High Baseline
Installation ComplexityeasyN/A

Frequently Asked Questions

What does this skill do?

Expert C4 Component-level documentation specialist. Synthesizes C4 Code-level documentation into Component-level architecture, defining component boundaries, interfaces, and relationships.

Which AI agents support this skill?

This skill is designed for Claude.

How difficult is it to install?

The installation complexity is rated as easy. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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**:

```mermaid
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](https://c4model.com/diagrams/component)):

- 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

```markdown
# 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

Related Skills

event-store-design

31392
from sickn33/antigravity-awesome-skills

Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.

Software ArchitectureClaude

ddd-strategic-design

31392
from sickn33/antigravity-awesome-skills

Design DDD strategic artifacts including subdomains, bounded contexts, and ubiquitous language for complex business domains.

Software ArchitectureClaude

cqrs-implementation

31392
from sickn33/antigravity-awesome-skills

Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems.

Software ArchitectureClaude

c4-container

31392
from sickn33/antigravity-awesome-skills

Expert C4 Container-level documentation specialist.

Software ArchitectureClaude

backend-architect

31392
from sickn33/antigravity-awesome-skills

Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems.

Software ArchitectureClaude

hig-components-system

31392
from sickn33/antigravity-awesome-skills

Apple HIG guidance for system experience components: widgets, live activities, notifications, complications, home screen quick actions, top shelf, watch faces, app clips, and app shortcuts.

Design GuidelinesClaude

hig-components-status

31392
from sickn33/antigravity-awesome-skills

Apple HIG guidance for status and progress UI components including progress indicators, status bars, and activity rings.

Design GuidanceClaude

hig-components-menus

31392
from sickn33/antigravity-awesome-skills

Check for .claude/apple-design-context.md before asking questions. Use existing context and only ask for information not already covered.

Design GuidanceClaude

hig-components-layout

31392
from sickn33/antigravity-awesome-skills

Apple Human Interface Guidelines for layout and navigation components.

Design GuidanceClaude

hig-components-dialogs

31392
from sickn33/antigravity-awesome-skills

Apple HIG guidance for presentation components including alerts, action sheets, popovers, sheets, and digit entry views.

Design GuidelinesClaude

hig-components-controls

31392
from sickn33/antigravity-awesome-skills

Check for .claude/apple-design-context.md before asking questions. Use existing context and only ask for information not already covered.

Design GuidanceClaude

hig-components-content

31392
from sickn33/antigravity-awesome-skills

Apple Human Interface Guidelines for content display components.

Design GuidelinesClaude