agentsclimarketplace

Architecture documentation

Skill SWEStash/swe-workflow-skills/plugins/architect/skills/architecture-documentation

Design and maintain architecture documentation with multi-level diagrams (C4) and docs-as-code. Triggers: architecture diagram, document the architecture, C4 diagram, system context, container diagram, component diagram, architecture docs, docs-as-code, PlantUML, Structurizr, D2, Mermaid architecture, infrastructure diagram, runtime flow. Use architecture-design for ADRs.From its SKILL.md

Install
npx -y skills add SWEStash/swe-workflow-skills --skill architecture-documentation

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

7.2 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Architecture Documentation

Help the user create and maintain architecture documentation that is version-controlled, multi-layered, and useful. Good architecture docs answer "what exists and how does it connect?" — not by drawing everything, but by drawing the right things at the right abstraction level.

Workflow

Step 1: Assess Documentation Scope

Understand what exists and what's needed before creating anything:

  • Current state: Are there existing diagrams, READMEs with architecture sections, or whiteboard photos? Scan the repo for docs/, architecture/, .puml, .d2, or Mermaid blocks in markdown.
  • Audience: Who will read this? New hires need conceptual overviews. Ops teams need runtime topology. Architects need structural boundaries.
  • System complexity: How many services, data stores, and external dependencies? This determines which abstraction levels are worth creating.

A simple monolith may only need one conceptual diagram. A distributed system with 5+ services likely needs canonical and runtime levels too.

Step 2: Choose Abstraction Levels

Architecture documentation works at three distinct levels. Not every system needs all three — apply YAGNI.

LevelPurposeAnswersStability
CanonicalWhat exists structurally"What are the building blocks?"Stable — changes with architecture
RuntimeHow it behaves operationally"How does data flow? Where does code run?"Medium — changes with deployment
ConceptualHow to explain it"What's the mental model?"Ephemeral — changes with audience

Guidelines for selection:

  • Always start with Conceptual — even a quick sketch helps align understanding
  • Add Canonical when the system has multiple services, teams, or bounded contexts
  • Add Runtime when deployment topology, data flows, or infrastructure matter for operations

See references/abstraction-levels.md for detailed guidance on each level, traceability rules, and the promotion model.

Step 3: Select Tooling and Establish Conventions

Choose tools that fit the team's stack. The framework is tool-agnostic — what matters is consistent usage, not specific tools.

Recommended defaults by level:

LevelRecommended ToolsAlternatives
CanonicalC4-PlantUML, Structurizr DSLMermaid C4 extension, Ilograph
RuntimeD2, MermaidPlantUML sequence/deployment, Diagrams-as-code (Python)
ConceptualMermaid, ExcalidrawWhiteboard photos, ASCII diagrams

Conventions to establish:

  • Shared vocabulary: Create a glossary of system names. Every diagram must use these names exactly — no aliasing or renaming per diagram.
  • File naming: Use a consistent pattern like {level}-{scope}.{ext} (e.g., canonical-system-context.puml, runtime-checkout-flow.d2)
  • Repository structure: Set up docs/architecture/ using the template at templates/architecture-doc.md
  • Docs-as-code: All diagrams must be text-based, version-controlled, and reviewable in PRs

See references/diagram-tooling.md for tool comparison and syntax examples.

Step 4: Create Diagrams

Work top-down — start at the highest level and add detail only where needed:

  1. System Context (canonical): The system as a black box, showing users and external dependencies. This is the single most valuable diagram.
  2. Container diagram (canonical): Zoom into the system — services, data stores, message brokers, frontends.
  3. Runtime views (as needed): Data flow diagrams, sequence diagrams for key interactions, deployment/infrastructure topology.
  4. Component diagrams (rarely): Internal structure of a single service. Only create when a service is complex enough to warrant it.

Per diagram:

  • Define scope — one diagram, one concern
  • Identify elements and relationships
  • Add brief annotations explaining non-obvious connections
  • Ensure traceability: every element in a detailed diagram should trace to a parent in a higher-level diagram

Linking to decisions: When an ADR changes architecture, reference the affected diagrams in the ADR and update them. For ADR creation, use the architecture-design skill.

Step 5: Validate

Run through the validation checklist before considering documentation complete:

  • All services/systems in the codebase appear in canonical diagrams
  • Runtime diagrams reference only elements defined in canonical diagrams (infrastructure-only components like load balancers are exceptions)
  • Naming is consistent across all diagrams and matches the glossary
  • ADRs that changed architecture reference affected diagrams
  • Diagrams are version-controlled and render correctly
  • Conceptual diagrams are clearly labeled as non-canonical
  • A new team member can orient themselves using only these docs

Step 6: Establish Maintenance Governance

Documentation that isn't maintained becomes misleading. Define when and how diagrams get updated:

Update triggers:

  • New service or data store added
  • Service boundary changed or service split/merged
  • New external dependency integrated
  • ADR accepted that affects architecture (use architecture-design skill)

Promotion model: Diagrams mature over time:

Conceptual sketch (idea / RFC)
   ↓  proves valuable, referenced repeatedly
Runtime diagram (structured, tooled)
   ↓  represents stable structural change
Canonical diagram (source of truth)

Review cadence:

  • Canonical diagrams: review quarterly or after major architecture changes
  • Runtime diagrams: review when deployment topology changes
  • Conceptual diagrams: no formal review — treat as disposable

Principles Applied

  • KISS: Start with one system context diagram. Add layers only when they serve a clear audience.
  • YAGNI: A monolith doesn't need four C4 levels. Document what exists, not what might exist.
  • Separation of Concerns: Each abstraction level serves a different purpose. Don't mix structural truth with runtime behavior in the same diagram.
  • DRY: Canonical diagrams are the single source of truth for system structure. Other diagrams reference — never redefine — those elements.

Cross-Skill References

  • architecture-design: For making and documenting architectural decisions (ADRs). Use when a documentation effort reveals undocumented or contested decisions.
  • project-documentation: For README, CONTRIBUTING, API docs, and other non-architecture documentation.
  • infrastructure-as-code: For aligning runtime/deployment diagrams with actual IaC definitions.
  • containerization: For Kubernetes-specific topology diagrams that align with actual manifests.

What ships with it: 4 files

20.5 KB alongside SKILL.md

evals/

templates/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.