Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 2.28 KB

File metadata and controls

49 lines (37 loc) · 2.28 KB
name skill-dependency-graph
description Generates visual dependency graphs of OpenClaw skills showing trigger relationships and execution paths. Use when: map skill dependencies, find circular dependencies, visualize execution paths, analyze skill architecture, query skill relationships.
version 1.0.0
metadata
openclaw
emoji requires
🕸️
bins
node

skill-dependency-graph

Scans OpenClaw skill directories for SKILL.md files, extracts dependency metadata from @invokes/@triggers tags, and builds a directed graph of skill relationships. Outputs Graphviz DOT, JSON, or ASCII text tree visualizations with circular dependency detection.

Usage

# Full dependency graph as DOT
node scripts/main.js show-all --skills-dir ~/.openclaw/skills

# Text tree view
node scripts/main.js text-tree --skills-dir ~/.openclaw/skills --depth 3

# Detect circular dependencies
node scripts/main.js find-circular --skills-dir ~/.openclaw/skills

# Export as JSON
node scripts/main.js export --format json --skills-dir ~/.openclaw/skills

# Query a specific skill
node scripts/main.js query skill-github --skills-dir ~/.openclaw/skills

When to Use / When NOT to Use

Use when Do NOT use when
You need to understand skill-to-skill relationships You need runtime performance profiling
You want to detect circular dependency chains You need to analyze non-OpenClaw packages
You need a visual map of your skill architecture You need real-time dependency monitoring
You want to find which skills trigger a given skill You need npm/package.json dependency analysis
You need JSON dependency data for tooling The skills directory has no SKILL.md files

Edge Cases and Limitations

  • Returns empty results gracefully when no skills are found in the scan directory
  • Handles missing or malformed SKILL.md files by skipping them without error
  • Detects multi-level circular dependency chains with full cycle path reporting
  • Self-references in a skill's own SKILL.md body are automatically filtered out
  • Skips node_modules and hidden directories during scanning
  • Skills without @invokes/@triggers tags appear as leaf nodes with no dependencies
  • DOT rendering requires Graphviz installed separately (dot binary)