Help us improve
Share bugs, ideas, or general feedback.
From claude-leverage
Generates Mermaid sequence diagrams or flowcharts for multi-step workflows, with optional insertion into markdown files and mmcd validation.
npx claudepluginhub filip-podstavec/claude-leverage --plugin claude-leverageHow this skill is triggered — by the user, by Claude, or both
Slash command
/claude-leverage:process-diagram <workflow-name> [--into <path.md>] [--type sequence|flowchart]<workflow-name> [--into <path.md>] [--type sequence|flowchart]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Produces a Mermaid diagram for a named workflow (the flow of
Generates Mermaid flowcharts visualizing workflows, CI/CD pipelines, deployment processes, and state machines from code or docs. Maps steps, decisions, and transitions.
Routes Mermaid diagram requests to type-specific guides (sequence, activity, ER, architecture); validates .md files, renders .mmd to SVG, architects from codebases.
Generates precise Mermaid diagrams (flowchart, sequence, state, ER, class, gantt, gitGraph). Redirects to chart or image skills when topic isn't diagrammatic.
Share bugs, ideas, or general feedback.
Produces a Mermaid diagram for a named workflow (the flow of
/security-review, how a hook intercepts a Bash call, how the
SessionStart bare-repo-nudge decision tree resolves, etc.) and
optionally inserts it into a target markdown file between idempotent
markers:
<!-- process-diagram:<name>:start -->
```mermaid
sequenceDiagram
...
## Workflow
1. **Parse arguments.**
- First positional arg: the workflow name (snake_case). Becomes the
diagram's identifier in the markers.
- `--into <path>`: target markdown file to insert into. If omitted,
just print the diagram to the user.
- `--type sequence|flowchart`: override the auto-pick. Default rule:
sequence diagrams for inter-component flows (actors talking to each
other), flowcharts for decision logic / state transitions.
2. **Resolve the workflow.** Three sources, in order:
- If a SKILL.md or command file with the workflow's name exists in
`skills/` or `commands/`, Read it for the participants and steps.
- If the user describes the workflow in conversation, use that.
- Otherwise, ask the user for participants and the 3–10 steps. Do not
hallucinate a flow.
3. **Generate the mermaid.**
- For `sequenceDiagram`: list participants first (`participant U as User`,
`participant M as Main session`, …), then the message arrows. Use
`->>` for sync, `-->>` for response, `Note over` for annotations.
- For `flowchart`: use `flowchart LR` (or `TB` if the user prefers).
Wrap labels containing special characters (parens, colons, slashes)
in double quotes — Mermaid's parser bails on bare ones (per the
known issue documented in `docs/specs/research/research_visualization.md`).
- Avoid Mermaid reserved IDs: `end`, `class`, `subgraph`. Pick
descriptive IDs (`User`, `MainSession`, `SecurityReviewer`).
4. **Validate with mmdc if available.**
- Write the mermaid to a temp file (`mktemp`).
- Run `mmdc -i <tmp.mmd> -o <tmp.svg> 2>&1`.
- If non-zero: read the error message, fix the specific issue, retry.
Cap at 3 retries — if still failing, surface the mermaid + error to
the user and let them decide.
- If `mmdc` is not on PATH: skip validation with a one-line warning.
5. **Insert or print.**
- With `--into <path>`: scan the target for existing markers with the
same `<name>`. If found: `Edit` to replace the entire block
atomically (both markers stay byte-identical, body changes). If not
found: append after the first H1 heading.
- Without `--into`: print the fenced mermaid block to the user.
## Examples
/process-diagram security-review /process-diagram bare-repo-nudge --into hooks/README.md /process-diagram stack-check-pipeline --type flowchart --into docs/specs/2026-05-24-pivot/05-stack-freshness.md
## Hard rules
- **Never overwrite content outside the markers.** Idempotence is the
whole point of the markers.
- **Never silently change marker IDs.** If the user says
`/process-diagram security-review` and the existing block is
`<!-- process-diagram:security-flow:start -->`, ask which one to update;
do not duplicate.
- **Refuse to invent a flow.** If the user gives only a workflow name and
no description, and you cannot find a SKILL/command file to read for
it, ASK for the participants and steps. Hallucinated diagrams are
worse than no diagram.
- **Cap retries at 3.** If `mmdc` keeps complaining, surface to the user
rather than burning a context window on infinite tweak loops.
## Common mermaid traps (and how to avoid)
| Failure | Fix |
|---------|-----|
| Label has `(parens)` and parser bails | Wrap label in `"..."` |
| Label has `:` or `/` | Wrap label in `"..."` |
| Node ID is `end` or `class` | Pick a different ID (e.g., `EndNode`) |
| Arrow type mismatch (`-->>` in flowchart) | Sequence uses `->>` / `-->>`; flowchart uses `-->` / `-.->` |
| Stale syntax (`graph TB` instead of `flowchart TB`) | Prefer `flowchart` for new diagrams |
## What this skill does NOT do
- **Generate diagrams from code AST.** That's `/repo-map` territory
(architecture overview from directory structure + AGENTS.md hints), or
dedicated tools (madge for JS/TS dep graphs).
- **Auto-update existing diagrams when code changes.** Run the skill
explicitly when the workflow shifts; the `docs-sync` skill can flag
drift.