<< All versions
Skill v1.0.0
currentAutomated scan100/100diegomarino/claude-toolshed/d2-validate
──Details
PublishedNovember 5, 2026 at 10:51 PM
Content Hashsha256:b5c7486d7cd24022...
Git SHA08bfac6ba057
──Files
Files (1 file, 2.3 KB)
SKILL.md2.3 KBactive
SKILL.md · 117 lines · 2.3 KB
name: d2-validate description: Validate D2 syntax in .d2 files or directories argument-hint: [path] allowed-tools: Read, Bash, Glob metadata: version: "1.0.0"
/d2-validate
User request: "$ARGUMENTS"
Task
Validate D2 syntax in .d2 files or .md files containing D2 code blocks.
Process
Step 1: Resolve Plugin Path
bash
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)
Step 2: Ensure D2 is installed
bash
bash "$PLUGIN_DIR/scripts/ensure-deps.sh"
Step 3: Determine Input
From $ARGUMENTS:
- `.d2` file → validate directly
- `.md` file → extract D2 blocks first with
extract_d2.sh, then validate each - Directory → find all
.d2files and.mdfiles with D2 blocks - No argument → ask: "Which file or directory should I validate?"
Step 4: Collect Files to Validate
For `.d2` files:
bash
# Validate directlyd2 validate {file.d2}
For `.md` files:
bash
# Extract D2 blocks to temp filesbash "$PLUGIN_DIR/scripts/extract_d2.sh" {file.md}# Then validate each extracted temp filed2 validate {temp_file}
For directories:
bash
# Find all .d2 filesfind {dir} -name "*.d2" -not -path "*/node_modules/*" -not -path "*/.git/*"# Find .md files containing d2 blocksgrep -rl '```d2' {dir} --include="*.md" 2>/dev/null
Step 5: Validate Each File
For each file:
bash
d2 validate {file} 2>&1# Exit 0 = valid, non-zero = error
Track: filename, pass/fail, error message (if any).
Step 6: Report Results
Validated {N} diagrams:✅ diagrams/architecture-services-20260310.d2✅ diagrams/sequence-auth-flow-20260310.d2❌ docs/design.md (block 2) — unexpected token at line 14: missing closing brace
If any failures:
{N} validation error(s) found.See $PLUGIN_DIR/references/guides/troubleshooting.md for fixes.
If all pass:
All {N} diagrams valid ✅
Output Summary Format
D2 Validation Summary─────────────────────Path: {input_path}Files checked: {N}Passed: {N} Failed: {N}{per-file results}{troubleshooting hint if any failures}