arc42-docs — community arc42-docs, community, ide skills, Claude Code, Cursor, Windsurf

v2.0.0
GitHub

About this Skill

A Model Context Protocol (MCP) server for AI-assisted software architecture documentation using the proven arc42 template. Provides tools to initialize, generate, update, and track documentation acros

h2nguyen h2nguyen
[1]
[0]
Updated: 3/9/2026
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

arc42-docs

Install arc42-docs, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Arc42 Architecture Documentation Skill

Guide for using the arc42-mcp-server MCP server to create and maintain architecture documentation following the proven arc42 template. The server provides 6 tools, supports 11 languages and 2 output formats (AsciiDoc, Markdown).

Prerequisites

The arc42-mcp-server MCP server must be configured and running. See setup instructions for installation and configuration.


Workflow: Starting Fresh

  1. Load the guidearc42-workflow-guide — understand the full arc42 structure and what belongs in each section
  2. Initialize workspacearc42-init — creates directory structure with all 12 section files, config.yaml, and README
  3. Check statusarc42-status — see current progress, completeness percentage, and which sections need work
  4. Generate templategenerate-template — get the detailed structure and guidance for a specific section before writing
  5. Write contentupdate-section — write or append content to a section
  6. Review contentget-section — read back existing content with metadata (word count, last modified)

Workflow: Existing Documentation

  1. Check statusarc42-status — assess current state and identify gaps
  2. Read sectionsget-section — review what's already documented
  3. Generate templategenerate-template — understand expected structure for incomplete sections
  4. Update sectionsupdate-section — fill gaps or improve existing content

Tool Reference

1. arc42-workflow-guide

Load the comprehensive arc42 documentation workflow guide. Always call this first when starting a new documentation effort — it explains what information belongs in each section.

ParameterTypeRequiredDefaultDescription
languageenumNo"EN"Language code: EN, DE, ES, FR, IT, NL, PT, RU, CZ, UKR, ZH
formatenumNo"asciidoc"Output format: asciidoc (or adoc), markdown (or md)

Returns: Complete workflow guide text with section explanations, available languages, supported formats, and workspace root path.

2. arc42-init

Initialize the arc42 documentation workspace. Creates arc42-docs/ directory with all 12 section files, config.yaml, README, and a main documentation file.

ParameterTypeRequiredDefaultDescription
projectNamestringYesName of the project being documented
languageenumNo"EN"Language code (see above)
formatenumNo"asciidoc"Output format: asciidoc/adoc or markdown/md
forcebooleanNofalseForce re-initialization even if workspace already exists
targetFolderstringNoserver defaultAbsolute path to target folder where arc42-docs/ will be created

Returns: Workspace root path, sections created count, config (including arc42 template reference version, date, and commit SHA).

Created structure:

<targetFolder>/arc42-docs/
├── README.md
├── arc42-documentation.adoc (or .md)
├── config.yaml
├── sections/
│   ├── 01_introduction_and_goals.adoc (or .md)
│   ├── 02_architecture_constraints.adoc (or .md)
│   └── ... (all 12 sections)
└── images/

3. arc42-status

Check documentation completion status. Shows per-section progress with word counts, completeness percentages, and overall progress.

ParameterTypeRequiredDefaultDescription
targetFolderstringNoserver defaultAbsolute path to folder containing arc42-docs/

Returns: Project name, initialized state, language and format info, arc42 template reference version, per-section status (exists, word count, completeness 0-100%, last modified), and overall completeness percentage.

4. generate-template

Generate a detailed template for a specific section. Always use this before writing content — it provides the expected structure, subsections, and guidance for what information to include.

ParameterTypeRequiredDefaultDescription
sectionenumYesSection ID (see section reference below)
languageenumNo"EN"Language code
formatenumNo"asciidoc"Output format: asciidoc/adoc or markdown/md

Returns: Complete template content with guidance, section metadata (title, description, order), format details.

5. update-section

Write content to a specific section. Format is auto-detected from existing files or config.yaml.

ParameterTypeRequiredDefaultDescription
sectionenumYesSection ID (see section reference below)
contentstringYesThe content to write to the section
modeenumNo"replace""replace" overwrites, "append" adds to existing content
targetFolderstringNoserver defaultAbsolute path to folder containing arc42-docs/

Returns: Section title, file path, detected format, word count, and write mode used.

Important: Use mode: "append" when adding ADRs (Section 9) or adding incremental content to avoid overwriting existing entries.

6. get-section

Read content from a specific section, including metadata.

ParameterTypeRequiredDefaultDescription
sectionenumYesSection ID (see section reference below)
targetFolderstringNoserver defaultAbsolute path to folder containing arc42-docs/

Returns: Section content, language, format, title, description, and file metadata (path, last modified timestamp, word count, file size in bytes).


The 12 Arc42 Sections

#Section IDNameKey Content
101_introduction_and_goalsIntroduction and GoalsRequirements overview, quality goals, stakeholders
202_architecture_constraintsArchitecture ConstraintsTechnical, organizational, and political constraints
303_context_and_scopeContext and ScopeBusiness context, technical context, external interfaces
404_solution_strategySolution StrategyTechnology decisions, top-level decomposition, quality approaches
505_building_block_viewBuilding Block ViewStatic decomposition (Level 1, 2, 3) of the system
606_runtime_viewRuntime ViewKey scenarios, sequence diagrams, process flows
707_deployment_viewDeployment ViewInfrastructure, deployment diagrams, node mapping
808_conceptsCross-cutting ConceptsSecurity, persistence, logging, error handling patterns
909_architecture_decisionsArchitecture DecisionsADRs with context, decision, status, and consequences
1010_quality_requirementsQuality RequirementsQuality tree, quality scenarios
1111_technical_risksRisks and Technical DebtKnown risks, technical debt items
1212_glossaryGlossaryDomain terms and definitions

Start with the most impactful sections. You do NOT need to document all 12 sections sequentially.

PrioritySectionWhy
1stSection 1 — Introduction and GoalsAlways start here: establishes scope, quality goals, and stakeholders
2ndSection 3 — Context and ScopeDefine system boundaries and external interfaces early
3rdSection 4 — Solution StrategyCapture key technology and design decisions
4thSection 5 — Building Block ViewDocument the system's static structure
5thSection 9 — Architecture DecisionsRecord important ADRs while decisions are fresh
ThenSection 2 — ConstraintsDocument technical/organizational constraints
ThenSections 6–8 — Runtime, Deployment, ConceptsFill in dynamic behavior, infrastructure, cross-cutting concerns
LastSections 10–12 — Quality, Risks, GlossaryComplete the documentation

Behavioral Guidelines

Before Writing Any Section

  1. Generate the template first — call generate-template for the section to understand the expected structure and subsections
  2. Ask clarifying questions — never assume project details; ask the user about their specific context, technologies, and decisions
  3. Check existing content — call get-section to see if there's already content to build upon
  4. Respect the configured format — call arc42-status to check whether the project uses AsciiDoc or Markdown, then write content in that format

Content Quality

  • Document WHY, not just WHAT — focus on rationale and trade-offs behind decisions
  • Include diagrams — use Mermaid or PlantUML syntax for context diagrams, building block views, deployment views, and sequence diagrams
  • Be specific — use concrete technology names, version numbers, and measurable quality attributes
  • Keep sections focused — each section has a distinct purpose; avoid duplicating information across sections
  • Use proper formatting — match the output format (AsciiDoc uses = headings, admonitions with NOTE:, TIP:; Markdown uses # headings)

ADR Best Practices (Section 9)

  • Always use mode: "append" when adding new ADRs to avoid overwriting existing ones
  • Always call get-section first to read existing ADRs and determine the next ADR number
  • Follow a consistent ADR structure: Title with number, Status, Context, Decision, Consequences (positive and negative)

Using Tool Responses

Every tool response includes:

  • success — boolean indicating whether the operation succeeded
  • message — human-readable summary of what happened
  • data — structured response data (varies by tool)
  • nextSteps — array of suggested follow-up actions; use these to guide the user on what to do next

Multi-Language Support

11 languages are supported. Set the language during arc42-init; it persists in config.yaml and applies to all subsequent operations.

CodeLanguageCodeLanguage
ENEnglishPTPortuguese
DEGermanRURussian
ESSpanishCZCzech
FRFrenchUKRUkrainian
ITItalianZHChinese
NLDutch

Multi-Format Support

FormatAliasesExtensionBest For
AsciiDoc (default)asciidoc, adoc.adocProfessional docs — supports includes, admonitions, cross-references, TOC generation
Markdownmarkdown, md.mdSimplicity — widely supported, GitHub/GitLab rendering

Set the format during arc42-init. The update-section tool auto-detects the format from existing files or config.yaml. Format aliases (md/adoc) are accepted anywhere a format parameter is used.


Examples

See references/examples.md for detailed usage examples covering:

  • Starting a new project from scratch
  • Documenting a specific section (e.g., deployment view)
  • Adding Architecture Decision Records (ADRs) with proper append mode
  • Documenting cross-cutting concepts
  • Multi-language documentation
  • Reviewing and improving existing documentation
  • Re-initializing an existing workspace

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is arc42-docs?

A Model Context Protocol (MCP) server for AI-assisted software architecture documentation using the proven arc42 template. Provides tools to initialize, generate, update, and track documentation acros

How do I install arc42-docs?

Run the command: npx killer-skills add h2nguyen/Arc42-Node-MCP-Server/arc42-docs. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

Which IDEs are compatible with arc42-docs?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add h2nguyen/Arc42-Node-MCP-Server/arc42-docs. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use arc42-docs immediately in the current project.

Related Skills

Looking for an alternative to arc42-docs or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI