← ClaudeAtlas

draft-diagramlisted

Writes per-kind Mermaid diagram entries into `.canon/diagrams/`, covering system context, components, request flow, data pipeline, and deployment. Reads `.claude/ARCHITECTURE.md` and `REQUIREMENTS.md` when present, falls back to a code-structure scan. Use when asked to "draw the architecture", "diagram the system", "show the components", "give me a flow chart", "refresh the deploy diagram", or "visualize the project". Do NOT use for design tokens (use `design-extract`) or UI audits (use `ux-audit`).
erclx/canon · ★ 2 · Web & Frontend · score 68
Install: claude install-skill erclx/canon
# Draft diagram Write one entry per diagram kind. Never rewrite the folder wholesale. A pass that refreshes the deploy view leaves the other four files byte-identical, which is the whole reason the surface is a folder. ## Guards - If no `.claude/ARCHITECTURE.md`, no `.claude/REQUIREMENTS.md`, and no top-level folder structure to scan, stop: `❌ No source signal. Add .claude/ARCHITECTURE.md or run inside a project folder.` ## Step 1: read sources and locate the surface Read these from the project root in parallel, skipping any that do not exist: - `.canon/diagrams/index.md` and every `.canon/diagrams/*.md`: which entries exist and what they already say - `.claude/REQUIREMENTS.md`: users, external dependencies, tech stack, MVP feature list - `.claude/ARCHITECTURE.md`: layered components, key technical decisions - `CLAUDE.md`: project type, conventions - `package.json`, `pyproject.toml`, `Cargo.toml`: language and framework markers - Top-level folder layout and root config files via `ls`: deploy targets, infrastructure config, component boundaries Do not recurse speculatively. Follow `${CLAUDE_SKILL_DIR}/../../standards/diagrams.md` for frontmatter, entry kinds, and explanation rules. Follow `${CLAUDE_SKILL_DIR}/../../standards/mermaid.md` for what goes inside the fence: layout, budgets, accessibility, labels, and verification. ### Migrating a pre-split flat file When `.canon/diagrams/` holds no entry and `.claude/DIAGRAMS.md` exists, this pass converts it. An entry is