From d2
Renders .d2 diagram files or extracts D2 code blocks from Markdown to SVG/PNG images in configurable output directory.
How this skill is triggered — by the user, by Claude, or both
Slash command
/d2:d2-renderThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
User request: "$ARGUMENTS"
User request: "$ARGUMENTS"
Render D2 diagrams from an existing .d2 file or a .md file with D2 code blocks to SVG or PNG images.
PLUGIN_DIR=$(find "$HOME/.claude/plugins/cache" -type d -name "d2" -path "*/skills/d2" 2>/dev/null | head -1)
[ -z "$PLUGIN_DIR" ] && PLUGIN_DIR=$(find "$HOME" -maxdepth 8 -type d -name "d2" -path "*/skills/d2" 2>/dev/null | head -1)
bash "$PLUGIN_DIR/scripts/ensure-deps.sh"
If .claude/d2.json does not exist, display a one-time nudge before continuing:
First time using the d2 plugin? Run
/d2-configto pick a theme and output settings. Using defaults for now (theme 0 / Neutral,./diagrams).
If .claude/d2.json exists, read:
output_directory (default: ./diagrams)output_format (default: svg)Resolve output path:
output_directory is "same" AND input file path is known:
OUTPUT_DIR=$(dirname {input_file})output_directory is "same" AND no input file:
OUTPUT_DIR=./diagramsOUTPUT_DIR={output_directory}From $ARGUMENTS:
.d2 file → render directly.md file → extract D2 blocks first:
bash "$PLUGIN_DIR/scripts/extract_d2.sh" {file.md}.d2 files:
find {dir} -name "*.d2" -not -path "*/node_modules/*"Run for each .d2 file:
mkdir -p {OUTPUT_DIR}
d2 {input_file} {OUTPUT_DIR}/{basename}.{output_format}
For PNG output: Warn the user if PNG fails that it requires Playwright:
PNG rendering failed. Playwright is required for PNG export.
Install: npm install -g playwright && playwright install chromium
Or switch to SVG: /d2-config → option 7
Note: Generated .d2 files already contain the vars { d2-config } block with the theme and layout settings — no additional CLI flags are needed. The d2 command will use the embedded configuration automatically.
List all output files generated with full paths:
Rendered {N} diagrams:
✅ diagrams/architecture-services-20260310.svg
✅ diagrams/sequence-auth-flow-20260310.svg
If any rendering failed:
❌ diagrams/er-schema-20260310.svg — {error message}
Run /d2-config → health check to diagnose issues.
Rendered {N} / {total} diagrams:
✅ {output_path_1}
✅ {output_path_2}
❌ {output_path_3} — {error}
npx claudepluginhub diegomarino/claude-toolshed --plugin d2Converts Mermaid flowcharts, sequence, ER, and class diagrams to D2 format. Auto-detects type from code or .md/.mmd files and applies specialist syntax rules.
Renders Mermaid diagrams from .mmd files or .md files with Mermaid blocks to SVG images using beautiful-mermaid. Supports themes, configs, batch directories, and extraction.
Generate architecture diagrams, flowcharts, decision trees, workflows, sequence flows, ERDs from declarative D2 text with automatic layouts, themes, and styling.