Automated summary
Synthesizes C4 code-level documentation into component-level architecture documentation, defining component boundaries, interfaces, dependencies and Mermaid C4Component diagrams.
Strengths
- Enforces a consistent template (overview, purpose, features, interfaces, dependencies) for each component
- Produces Mermaid C4Component diagrams scoped to a single container, aligned with the C4 model
- Maintains traceability by linking each component back to the c4-code-*.md files it groups
- Ships a master component index template for systems with multiple components
Limitations
- Does not read source code: it requires existing c4-code-*.md files as input
- Templates are bracketed placeholders whose quality depends on how the agent fills them in
- No validation of Mermaid rendering or of naming consistency across components
Use it when code-level documentation already exists and needs to be grouped into logical components within a single container.
Avoid it when you need context- or container-level diagrams, or when there is no code-level documentation to synthesize.
Security analysis
SafeThis skill is purely a documentation template and methodology for C4 Component-level architecture. It declares no tools, contains no executable commands, and does not instruct destructive, exfiltrating, or obfuscated actions. The only external reference is a documentation link.
No concerns found
How this analysis is madeExamples
Synthesize all c4-code-*.md files in docs/architecture into logical components, write one c4-component-<name>.md per component, and generate a master component index with a Mermaid diagram of their relationships.Define the component boundaries for the authentication and authorization code and produce a Mermaid C4Component diagram showing each component's interfaces and dependencies.Create component-level documentation for the API layer of our order service, listing each component's interfaces, operations and external dependencies.name: c4-component description: 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. metadata: 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
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](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
# C4 Component Level: System Overview
## System Components
### [Component 1]
- **Name**: [Component name]
- **Description**: [Short description]
- **Documentation**: [c4-component-name-1.md](./c4-component-name-1.md)
### [Component 2]
- **Name**: [Component name]
- **Description**: [Short description]
- **Documentation**: [c4-component-name-2.md](./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
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/c4-component-diagram-specialist-ms47vpt8' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/c4-component-diagram-specialist-ms47vpt8/download' --output '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md.part' && mv '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md.part' '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Original excerpt: Dependencies
Components Used
- [Component Name]: [How it's used]
External Systems
- [External System]: [How it's used]
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md' && test -s '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/c4-component' && cp -R '.skill-downloads/c4-component-diagram-specialist-ms47vpt8' '.claude/skills/c4-component'Cursor
test -f '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md' && test -s '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/c4-component' && cp -R '.skill-downloads/c4-component-diagram-specialist-ms47vpt8' '.cursor/skills/c4-component'Codex
test -f '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md' && test -s '.skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/c4-component' && cp -R '.skill-downloads/c4-component-diagram-specialist-ms47vpt8' '.agents/skills/c4-component'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/c4-component-diagram-specialist-ms47vpt8'openskills read 'c4-component-diagram-specialist-ms47vpt8'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/c4-component-diagram-specialist-ms47vpt8/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Supabase Docs Authoring
Documentation
Write, edit, and review Supabase documentation content including guides, tutorials, reference docs, and partials. Follow style guides and MDX/TOML validation rules.
Create Architecture Decision Record
Documentation
Create a new Architecture Decision Record with sequential numbering, register it in the AgentDB graph, and link related ADRs.
Plan update with deep research
Documentation
Updates a plan document by launching parallel subagents to analyze a topic across all compiler passes, then consolidates findings into the plan doc.