c4-component
Expert C4 Component-level documentation specialist. Synthesizes C4 Code-level documentation into Component-level architecture, defining component boundaries, interfaces, and relationships.
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
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/c4-component/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How c4-component Compares
| Feature / Agent | c4-component | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | easy | N/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
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
AI Agent for YouTube Script Writing
Find AI agent skills for YouTube script writing, video research, content outlining, and repeatable channel production workflows.
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 componentsRelated Skills
event-store-design
Design and implement event stores for event-sourced systems. Use when building event sourcing infrastructure, choosing event store technologies, or implementing event persistence patterns.
ddd-strategic-design
Design DDD strategic artifacts including subdomains, bounded contexts, and ubiquitous language for complex business domains.
cqrs-implementation
Implement Command Query Responsibility Segregation for scalable architectures. Use when separating read and write models, optimizing query performance, or building event-sourced systems.
c4-container
Expert C4 Container-level documentation specialist.
backend-architect
Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems.
hig-components-system
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.
hig-components-status
Apple HIG guidance for status and progress UI components including progress indicators, status bars, and activity rings.
hig-components-menus
Check for .claude/apple-design-context.md before asking questions. Use existing context and only ask for information not already covered.
hig-components-layout
Apple Human Interface Guidelines for layout and navigation components.
hig-components-dialogs
Apple HIG guidance for presentation components including alerts, action sheets, popovers, sheets, and digit entry views.
hig-components-controls
Check for .claude/apple-design-context.md before asking questions. Use existing context and only ask for information not already covered.
hig-components-content
Apple Human Interface Guidelines for content display components.