Visual Flow GIF
Use this skill when a user wants to turn source material into a clear animated flow diagram.
The output should include:
- A static PNG diagram.
- An animated GIF with visible motion.
- The JSON spec used to render the diagram when useful for later edits.
Workflow
Read the source material and identify the system.
- Inputs, outputs, actors, modules, tools, stores, and feedback loops.
- Main steps, decision points, shared artifacts, and arrow direction.
- Any visual constraints from a reference image.
Create a JSON spec.
- Start from
${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/assets/default-spec.json for the default light theme.
- Start from
${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/assets/dark-spec.json only when the user asks for a dark version.
- Use short English labels unless the user asks for another language.
- Use explicit
x, y, w, and h values for predictable layout.
- Use custom multi-point paths for routed arrows. Corners are rounded by default.
- Add important modules to
animation.pulses; pulse highlights are strong by default.
- See
${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/references/spec-format.md for field details.
Render the diagram.
Requires Python 3.10+ and Pillow 10+. If Pillow is missing, install it first:
python3 -m pip install -r ${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/requirements.txt
python3 ${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/scripts/render_animated_gif.py \
--spec /path/to/spec.json \
--outdir /path/to/output \
--basename diagram \
--verify \
--check
- Inspect the PNG and GIF before delivery.
- Text is readable and not clipped.
- Labels and arrows do not overlap important content.
- Arrow directions match the source material.
- The GIF has visible motion.
- Pulse highlights are clearly visible in both light and dark modes.
- The full system fits inside the frame.
Style Guide
- Prefer a clean technical diagram with a lightweight editorial feel.
- Use the light theme by default.
- Use the dark theme only when the user asks for a dark version.
- Prefer Excalifont when available; the renderer falls back automatically.
- Keep important labels bold enough to scan quickly.
- Use rounded routed arrows instead of hard right-angle turns.
- Use color to separate roles:
- Blue for core process areas.
- Green for active loops, tools, memory, or operational panels.
- Purple for shared layers, archives, or internal systems.
- Red for friction, risk, warnings, or signals.
- Keep node labels short and concrete.
- Do not invent structure, metrics, claims, or arrow direction that is not present in the source.
Quality Bar
Always run with --verify --check before delivery.
--verify prints sampled frame differences so the GIF animation can be confirmed.
--check validates that:
- PNG and GIF files exist.
- Output dimensions match the spec.
- GIF frame count matches the spec.
- Sampled frames contain visible motion.
1---2name: visual-flow-gif3description: Create animated flow diagrams from articles, workflow notes, architecture sketches, or process descriptions using a JSON specification and a local Python/Pillow renderer. Use when the user wants to turn source material into a static PNG + animated GIF diagram.4---56# Visual Flow GIF78Use this skill when a user wants to turn source material into a clear animated flow diagram.910The output should include:1112- A static PNG diagram.13- An animated GIF with visible motion.14- The JSON spec used to render the diagram when useful for later edits.1516## Workflow17181. Read the source material and identify the system.19 - Inputs, outputs, actors, modules, tools, stores, and feedback loops.20 - Main steps, decision points, shared artifacts, and arrow direction.21 - Any visual constraints from a reference image.22232. Create a JSON spec.24 - Start from `${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/assets/default-spec.json` for the default light theme.25 - Start from `${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/assets/dark-spec.json` only when the user asks for a dark version.26 - Use short English labels unless the user asks for another language.27 - Use explicit `x`, `y`, `w`, and `h` values for predictable layout.28 - Use custom multi-point paths for routed arrows. Corners are rounded by default.29 - Add important modules to `animation.pulses`; pulse highlights are strong by default.30 - See `${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/references/spec-format.md` for field details.31323. Render the diagram.3334 Requires Python 3.10+ and Pillow 10+. If Pillow is missing, install it first:35 `python3 -m pip install -r ${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/requirements.txt`3637```bash38python3 ${CLAUDE_PLUGIN_ROOT}/skills/visual-flow-gif/scripts/render_animated_gif.py \39 --spec /path/to/spec.json \40 --outdir /path/to/output \41 --basename diagram \42 --verify \43 --check44```45464. Inspect the PNG and GIF before delivery.47 - Text is readable and not clipped.48 - Labels and arrows do not overlap important content.49 - Arrow directions match the source material.50 - The GIF has visible motion.51 - Pulse highlights are clearly visible in both light and dark modes.52 - The full system fits inside the frame.5354## Style Guide5556- Prefer a clean technical diagram with a lightweight editorial feel.57- Use the light theme by default.58- Use the dark theme only when the user asks for a dark version.59- Prefer Excalifont when available; the renderer falls back automatically.60- Keep important labels bold enough to scan quickly.61- Use rounded routed arrows instead of hard right-angle turns.62- Use color to separate roles:63 - Blue for core process areas.64 - Green for active loops, tools, memory, or operational panels.65 - Purple for shared layers, archives, or internal systems.66 - Red for friction, risk, warnings, or signals.67- Keep node labels short and concrete.68- Do not invent structure, metrics, claims, or arrow direction that is not present in the source.6970## Quality Bar7172Always run with `--verify --check` before delivery.7374`--verify` prints sampled frame differences so the GIF animation can be confirmed.7576`--check` validates that:7778- PNG and GIF files exist.79- Output dimensions match the spec.80- GIF frame count matches the spec.81- Sampled frames contain visible motion.