Open any part
Start at the containers and double-click into the ones with something inside. Up to four levels.
A Claude Code skill that reads your code and writes one HTML file: C4 levels you can open, an inspector for every part, and runtime flows that play one hop at a time.
$ npx skills@latest add ShibaInu0817/draw-c4-skill -gRuns in Claude Code. The plugin updates itself. Needs Python 3, standard library only.
Step 1 of 12 · Upload posted
The real output
This is the diagram the skill wrote for Immich, a self-hosted photo server. Click into it: open a container, pick a flow on the left and press play.
Start at the containers and double-click into the ones with something inside. Up to four levels.
Flows are grouped by area. Each step lights one line and says what the code does there, failures included.
The inspector lists what each part talks to and who calls it, read from the real code.
Code over docs
It was built by reading the source, so it shows the system as it runs today.
Background jobs run from the same image, started as a worker. The docs still draw a separate service.
The API serves the built web app itself.
It carries the job queues and is also the websocket backplane.
Getting one
"Diagram this codebase", "how does a request flow through this?", or /draw-c4. It asks which flows and levels you want.
Compose files, modules, queues and handlers, not the README. Anything it cannot trace is left out.
architecture.html to open and share, and model.json to update it next time.
# what Claude runs for you
python3 plot.py layout model.json --all
python3 plot.py check model.json
python3 plot.py build model.json architecture.html
Keyboard
Before you install
Every box is meant to trace back to a file, a config entry or a route handler. check catches a dangling reference or two overlapping boxes, but not a wrong claim. Read a new diagram before you rely on it.
Claude Code and Python 3. The scripts use the standard library only, so there is nothing to pip install.
Ask Claude to refresh it. It reads the model back out of the HTML, edits it, keeps your layout and places the new parts.
Yes. It is one HTML file with no server and no build step. Commit it, send it, or open it from disk.
$ npx skills@latest add ShibaInu0817/draw-c4-skill -g