Analyze recent changes and update affected architecture visualizations
37
33%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/update-visualizations/SKILL.mdYou are updating project visualizations (mermaid diagrams) based on recent changes. This skill works standalone — it can be used in any project, not just devflow.
Diagram complexity — before drawing, rate it:
- 🟢 simple — linear / ≤4 nodes → plain ASCII is fine.
- 🟡 moderate — fork-join, 5–8 nodes, or one crossing → OFFER a rendered Excalidraw (the render-diagram skill).
- 🔴 complex — bidirectional, multi-lane, >8 nodes, or cycles → render with the render-diagram skill AND show it inline via the Read tool.
Check for visualization configuration in this order:
.devflow/visualizations.json (project-specific)~/.config/devflow/visualizations.json (global)docs/visualizations/, visualizations/, docs/diagrams/docs/visualizations/)Read the config to determine:
path: Where visualizations livestyle: Which color palette and init settings to use (default: "devflow")categories: Which subfolder categories existformat: Which diagram format to emit — mermaid (default) or excalidraw. Treat a missing/absent format key as mermaid (backward-compatible).format (opt-in Excalidraw)format selects HOW diagrams are produced for the rest of this skill — it does not change WHICH visualizations get updated:
mermaid (default / absent) — keep the existing behavior unchanged: edit/create inline Mermaid fenced blocks directly in the .md files, following all the steps below.excalidraw (opt-in) — for each affected visualization, instead of writing Mermaid, produce/update the diagram via the /devflow:render-diagram skill: author (or edit) the .excalidraw next to the visualization .md, run devflow visualizations render <file>.excalidraw, Read the resulting PNG to show it inline during this session, and embed it in the visualization .md with . Commit the .excalidraw + .svg + .png alongside the .md. Everything else about Steps 2–8 (which files to touch, the index, the commit) is identical — only the diagram body changes from a Mermaid block to a rendered-PNG embed.The rest of this skill is written for the mermaid path; when format is excalidraw, apply the render-diagram substitution wherever a Mermaid block would otherwise be written.
Run git diff HEAD~1 (or git diff for unstaged changes) to understand what was modified.
If the user provided a description via $ARGUMENTS, use that as additional context for what changed.
Read <viz-path>/README.md to understand:
For each changed file, determine which visualization(s) it might affect. Use these heuristics:
For devflow projects:
lib/services.sh, docker/docker-compose.yml → architecture/runtime-architecture.mdlib/sync.sh, MCP/skill config changes → architecture/sync-architecture.mdlib/worktree.sh, skill workflow changes → workflows/development-workflow.mdlib/init.sh setup changes → architecture/devflow-ecosystem.mdbin/devflow (new commands) → architecture/devflow-ecosystem.mdintegrations/For general projects:
architecture/ diagramsarchitecture/data-model.mdintegrations/ diagramsworkflows/ diagramsFor each affected visualization:
%%{init} blocks for spacingIf a visualization doesn't exist for a new component, create one in the appropriate subfolder using the style guide template.
If
formatisexcalidraw(per Step 1b): produce each diagram via/devflow:render-diagram(author.excalidraw→devflow visualizations render→ Read the PNG to show it inline → embedin the.md) instead of writing a Mermaid block. The set of visualizations to update is the same; only the diagram body differs.
If the visualization folder was just created (no existing diagrams), create these defaults:
architecture/system-overview.mdA high-level diagram showing the project's main components and how they connect. Analyze the project structure (package.json, directory layout, config files) to infer the architecture.
workflows/main-workflow.mdA diagram showing the primary workflow (e.g., request lifecycle, data pipeline, build process). Infer from the project type.
If new files were created, update <viz-path>/README.md:
Stage and commit visualization changes:
git add <viz-path>/
git commit -m "docs: update visualizations for [brief description]"$ARGUMENTS
8d872bf
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.