Diagram
Generate versioned, text-based diagrams (Mermaid by default, PlantUML on request) — C4 architecture maps, sequence diagrams, ER diagrams, flow charts — from architecture decisions, the memory ledger, system design, data models, or user/API flows. Use when the user wants a visual representation of the system, a flow, or a data model.From its SKILL.md
npx -y skills add marcrabadan/praxis --skill diagramAssembled 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
3.5 KB, as published. Nobody here has run it
Diagram
Produce versioned, text-based diagrams directly from the memory ledger and the codebase. Text-based diagrams (Mermaid, PlantUML) live in the repo, diff cleanly, and render natively on GitHub — no external tools required.
The memory ledger already holds the architectural decisions that shape the system. This skill reads those decisions alongside the code and renders them as visual artefacts a team can share, review, and update.
When to use
- "Draw the system architecture."
- "Show the sequence for the auth flow."
- "Give me an ER diagram for the data model."
- "Map the deployment topology."
- "Show how data flows through the pipeline."
- "Generate a C4 diagram."
When not to use
- The user wants prose documentation, not a diagram → use the
docsskill instead. - The user wants to record a decision → use the
memoryskill. - The requested diagram type has no equivalent in Mermaid or PlantUML — confirm with the user before attempting.
Workflows
Pick the type that best matches the request. When uncertain, ask: "Is this about components/structure (architecture), interactions over time (sequence), data entities (ER), or data movement (flow)?"
| Type | File | When |
|---|---|---|
| Architecture (C4) | workflows/architecture.md | System/container/component overview |
| Sequence | workflows/sequence.md | Step-by-step interactions, API calls, event flows |
| ER | workflows/er.md | Data model entities and relationships |
| Flow | workflows/flow.md | Data pipelines, process flows, decision trees |
References
- references/mermaid.md — Mermaid syntax for each diagram type
- references/diagram-types.md — decision guide for choosing the right type
Output format
Default: Mermaid (renders on GitHub, Notion, most wikis with no setup).
Alternative: PlantUML — request it explicitly or use it when the diagram complexity exceeds Mermaid's limits (e.g. large class hierarchies, detailed deployment diagrams).
Each diagram is delivered as a fenced code block (mermaid` or plantuml) ready to paste into any Markdown file. If the user asks for a file, write it to docs/diagrams/<type>-<slug>.md` by default.
Output expectations
- Every diagram opens with a title comment (
%% Title) and a one-line description below the fence. - The diagram compiles without syntax errors — validate mentally against references/mermaid.md.
- Architecture diagrams include at least three levels of granularity (system, container, component) or clearly state which level they represent.
- Sequence diagrams include actor labels and numbered or labelled messages.
- ER diagrams label every relationship (verb phrase) and mark cardinality.
- Record each diagram to the memory ledger as an
artifactentry (pending).
Stop conditions
- The requested diagram is produced and free of syntax errors.
- A ledger
artifactentry is recorded. - If multiple diagram types are needed, all are produced before closing.