agentsclimarketplace

Mermaid validate

Skill diegomarino/claude-toolshed/plugins/mermaid/skills/mermaid-validate

Validate Mermaid syntax in .md files or directoriesFrom its SKILL.md

Install
npx -y skills add diegomarino/claude-toolshed --skill mermaid-validate

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.1 KB, 548 tokens by cl100k_base, as published. Nobody here has run it

/mermaid-validate

User request: "$ARGUMENTS"

Task

Check Mermaid syntax for all diagrams found in a given file or directory.

Process

  1. Resolve Plugin Path: Run once before executing any scripts:

    find "$HOME/.claude/plugins/cache" -type d -name "mermaid" -path "*/skills/mermaid" 2>/dev/null | head -1
    

    If empty, run fallback (for dev/repo usage):

    find "$HOME" -maxdepth 8 -type d -name "mermaid" -path "*/skills/mermaid" 2>/dev/null | head -1
    

    Use the returned path as PLUGIN_DIR in all steps below.

  2. Ensure Dependencies:

    bash "$PLUGIN_DIR/scripts/ensure-deps.sh"
    

    If .claude/mermaid.json does not exist, display a one-time nudge before continuing:

    First time using the mermaid plugin? Run /mermaid-config to pick a theme and output settings. Using defaults for now (zinc-light, ./diagrams).

  3. Resolve Target Path:

    • If no path is provided, use the current directory.
    • If the path is a file, validate that single file.
    • If the path is a directory, find all .md files containing Mermaid blocks.
  4. Optional Config:

    • If .claude/mermaid.json exists, read defaults:
      • output_directory (default: ./diagrams)

    Resolve output path:

    • If output_directory is "same" AND an input file path is known: OUTPUT_DIR=$(dirname {input_file}) (for a directory argument, use the directory itself)
    • If output_directory is "same" AND no argument was provided: OUTPUT_DIR=./diagrams
    • Otherwise: OUTPUT_DIR={output_directory}
  5. Validate:

    • For each markdown file: node "$PLUGIN_DIR/scripts/extract_mermaid.js" <file> --validate
  6. Report:

    • Summarize pass/fail per file.
    • If a file fails, point to $PLUGIN_DIR/references/guides/troubleshooting.md.

Output

  • ✅ Summary of files validated
  • ❌ List of failures with errors

Reference

  • Troubleshooting: $PLUGIN_DIR/references/guides/troubleshooting.md

Keep looking

Skills are one crate of 615,606. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.