c4-architecture-c4-architecture – skill Lập trình cho agent AI
Tạo tài liệu kiến trúc C4 toàn diện cho repository/codebase hiện có bằng phương pháp phân tích từ dưới lên.
Cài skill c4-architecture-c4-architecture bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/c4-architecture-c4-architecture-ad4ae.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /c4-architecture-c4-architecture – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/c4-architecture-c4-architecture-ad4ae.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $c4-architecture-c4-architecture – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/c4-architecture-c4-architecture-ad4ae.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /c4-architecture-c4-architecture – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/c4-architecture-c4-architecture-ad4ae.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /c4-architecture-c4-architecture – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
C4 Architecture Documentation Workflow
Generate comprehensive C4 architecture documentation for an existing repository/codebase using a bottom-up analysis approach.
Use a bottom-up source inventory to support C4 views, while selecting only levels useful to the audience. Specialized agents are optional execution helpers, not bundled tools or evidence that source was reviewed.
Use this skill when
- Working on c4 architecture documentation workflow tasks or workflows
- Needing guidance, best practices, or checklists for c4 architecture documentation workflow
Do not use this skill when
- The task is unrelated to c4 architecture documentation workflow
- 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.
Overview
This workflow creates comprehensive C4 architecture documentation following the [official C4 model](https://c4model.com/diagrams) by:
1. Code Level: Analyzing every subdirectory bottom-up to create code-level documentation
2. Component Level: Synthesizing code documentation into logical components within containers
3. Container Level: Mapping components to C4 applications/data stores with API documentation (shows high-level technology choices)
4. Context Level: Creating high-level system context with personas and user journeys (focuses on people and software systems, not technologies)
Note: According to the [C4 model](https://c4model.com/diagrams), you don't need to use all 4 levels of diagram - the system context and container diagrams are sufficient for most software development teams. Select useful levels first; code-level diagrams are optional and are not a function catalog for every directory. Preserve a source inventory even when detailed diagrams are omitted.
Use the user’s requested location, otherwise propose a new C4-Documentation/ directory in the repository root.
Before writing, record repository/head, audience, system boundary and files actually inspected. Protect secrets/internal infrastructure details and follow existing docs conventions. C4 containers are applications or data stores, not synonymous with Docker containers or one deployment replica. Components belong inside one container; code directories do not by themselves establish component boundaries.
Phase 1: Code-Level Documentation (Bottom-Up Analysis)
1.1 Discover All Subdirectories
- Use codebase search to identify all subdirectories in the repository
- Sort directories by depth (deepest first) for bottom-up processing
- Filter out common non-code directories (node_modules, .git, build, dist, etc.)
- Create list of directories to process
1.2 Process Each Directory (Bottom-Up)
For each directory, starting from the deepest:
- If an authorized compatible subagent exists, delegate this bounded analysis; otherwise perform it directly. c4-architecture::c4-code is an example role name, not a bundled tool.
- Prompt: |
Analyze the code in directory: [directory_path]
Create comprehensive C4 Code-level documentation following this structure:
1. Overview Section:
- Name: [Descriptive name for this code directory]
- Description: [Short description of what this code does]
- Location: [Link to actual directory path relative to repo root]
- Language: [Primary programming language(s) used]
- Purpose: [What this code accomplishes]
2. Code Elements Section:
- Document all functions/methods with complete signatures:
- Function name, parameters (with types), return type
- Description of what each function does
- Location (file path and line numbers)
- Dependencies (what this function depends on)
- Document all classes/modules:
- Class name, description, location
- Methods and their signatures
- Dependencies
3. Dependencies Section:
- Internal dependencies (other code in this repo)
- External dependencies (libraries, frameworks, services)
4. Relationships Section:
- Optional Mermaid diagram if relationships are complex
Save the output as: C4-Documentation/c4-code-[directory-name].md
Use a stable collision-free path mapping: a/b and a-b must not overwrite each other. Prefer matching output subdirectories or append a short path hash, and record the map.
Ensure the documentation includes:
- Complete function signatures with all parameters and types
- Links to actual source code locations
- All dependencies (internal and external)
- Clear, descriptive names and descriptions
- Expected output: c4-code-<directory-name>.md file in C4-Documentation/
- Context: Only files directly owned by this inventory unit; link previously reviewed child inventories instead of repeatedly claiming the same files
Repeat for every subdirectory until all directories have corresponding c4-code-\*.md files.
Phase 2: Component-Level Synthesis
2.1 Analyze All Code-Level Documentation
- Collect all c4-code-\*.md files created in Phase 1
- Analyze code structure, dependencies, and relationships
- Identify logical component boundaries based on:
- Domain boundaries (related business functionality)
- Technical boundaries (shared frameworks, libraries)
- Organizational boundaries (team ownership, if evident)
2.2 Create Component Documentation
For each identified component:
- Use the available authorized helper or perform this component synthesis directly.
- Prompt: |
Synthesize the following C4 Code-level documentation files into a logical component:
Code files to analyze:
[List of c4-code-*.md file paths]
Create comprehensive C4 Component-level documentation following this structure:
1. Overview Section:
- Name: [Component name - descriptive and meaningful]
- Description: [Short description of component purpose]
- Type: [Application, Service, Library, etc.]
- Technology: [Primary technologies used]
2. Purpose Section:
- Detailed description of what this component does
- What problems it solves
- Its role in the system
3. Software Features Section:
- List all software features provided by this component
- Each feature with a brief description
4. Code Elements Section:
- List all c4-code-\*.md files contained in this component
- Link to each file with a brief description
5. Interfaces Section:
- Document all component interfaces:
- Interface name
- Protocol (REST, GraphQL, gRPC, Events, etc.)
- Description
- Operations (function signatures, endpoints, etc.)
6. Dependencies Section:
- Components used (other components this depends on)
- External systems (databases, APIs, services)
7. Component Diagram:
- Mermaid diagram showing this component and its relationships
Save the output as: C4-Documentation/c4-component-[component-name].md
Use a sanitized component name for the filename.
- Expected output: c4-component-<name>.md file for each component
- Context: All relevant c4-code-\*.md files for this component
2.3 Create Master Component Index
- Use the available authorized helper or perform this component synthesis directly.
- Prompt: |
Create a master component index that lists all components in the system.
Based on all c4-component-\*.md files created, generate:
1. System Components Section:
- List all components with:
- Component name
- Short description
- Link to component documentation
2. Component Relationships Diagram:
- Mermaid diagram showing all components and their relationships
- Show dependencies between components
- Show external system dependencies
Save the output as: C4-Documentation/c4-component.md
- Expected output: Master c4-component.md file
- Context: All c4-component-\*.md files
Phase 3: Container-Level Synthesis
3.1 Analyze Components and Deployment Definitions
- Review all c4-component-\*.md files
- Search for deployment/infrastructure definitions:
- Dockerfiles
- Kubernetes manifests (deployments, services, etc.)
- Docker Compose files
- Terraform/CloudFormation configs
- Cloud service definitions (AWS Lambda, Azure Functions, etc.)
- CI/CD pipeline definitions
3.2 Map Components to Containers
- Use the available authorized helper or perform this container synthesis directly.
- Prompt: |
Synthesize components into containers based on deployment definitions.
Component documentation:
[List of all c4-component-*.md file paths]
Deployment definitions found:
[List of deployment config files: Dockerfiles, K8s manifests, etc.]
Create comprehensive C4 Container-level documentation following this structure:
1. Containers Section (for each container):
- Name: [Container name]
- Description: [Short description of con
… (nội dung đầy đủ có trong gói tải về)
Skill liên quan
- python-configuration – Quản lý cấu hình Python qua biến môi trường và settings có kiểu dữ liệu. Dùng khi tách…
- opencode – Giao việc lập trình cho OpenCode CLI (tính năng, review PR).
- c4-code – Chuyên gia tài liệu C4 cấp độ Code. Phân tích thư mục mã nguồn để tạo tài liệu C4 cấp độ…
- c4-component – Chuyên gia tài liệu C4 cấp độ Component. Tổng hợp tài liệu C4 cấp độ Code thành kiến…
- python-design-patterns – Các mẫu thiết kế Python gồm KISS, Separation of Concerns, Single Responsibility và…
- grill-with-docs – Phiên “thẩm vấn” dựa trên tài liệu — đối chiếu kế hoạch với ngôn ngữ hiện có của dự án…
- openhands – Giao việc lập trình cho OpenHands CLI (độc lập với mô hình, LiteLLM).
- career-ops – Trung tâm chỉ huy tìm việc đa CLI: đánh giá offer, quét cổng tuyển dụng, tùy chỉnh CV…