minhtran3124/cursor-skills/visual
- community
Checking that the SKILL.md file is still in the repository.
Skill graph visualizer — scans all SKILL.md files in skills/, builds a directed relationship graph from explicit `relationships` frontmatter (falling back to content inference), and generates both a Mermaid markdown summary and an interactive HTML graph at .docs/skill-graph.html. Trigger: /visual
Install
npx vskill@latest install minhtran3124/cursor-skills/visualSKILL.md
Visual — Skill Graph Visualizer
Maps every skill in the project into a directed graph: what each skill consumes, what it produces, and how skills chain into workflows. Generates two outputs — a Mermaid markdown file for documentation and an interactive browser graph for exploration.
Announce at start: "Mapping skill graph..."
When to Use
Run /visual when you want to:
- Understand how all skills fit together at a glance
- Onboard contributors to the skill ecosystem
- Audit the graph after adding or modifying a skill
Workflow
Step 1: Scan all skills
Read each SKILL.md file in full.
Step 2: Extract metadata from each skill
For each skill file, extract:
| Field | Source | |
|---|---|---|
id | Directory name (e.g. skills/walkthrough/ → walkthrough) | |
label | name frontmatter, prefixed with its emoji from README if known | |
description | description frontmatter — first sentence only | |
triggers | Content: /command patterns found in the text | |
inputs | Content: files/sources the skill reads (e.g. git diff, docs/plans/) | |
outputs | Content: files the skill writes (e.g. .review/review.md) | |
relationships | relationships frontmatter array — see schema below |
Relationships frontmatter schema (explicit, preferred):
Relationship types:
| Type | Meaning | Arrow style | |
|---|---|---|---|
leads-to | Recommended next step after this skill | solid --> | |
alternative | Different approach to the same job | dashed -.-> | |
complements | Different purpose, works well alongside | solid --> | |
feeds-from | This skill consumes target's output | solid --> | |
analyzes | This skill reads and processes target's files | solid --> |
Step 3: Infer relationships (fallback only)
For any skill with no relationships frontmatter, infer from content:
- Named trigger references: Content mentions another skill's
/commandor directory name →leads-toedge toward the referenced skill. - Shared I/O: Two skills read/write the same file path →
complementsedge between them. - Workflow language: Content contains "after running X", "before using Y", "works well with Z" → create directed edge matching the phrasing.
- Knowledge-sink pattern: A skill that only writes to a knowledge store with no other skill's output as input → other skills that mention preserving learnings
leads-toit.
Mark all inferred edges: "inferred": true in the graph model. These render as dashed lines in both outputs.
Step 4: Build internal graph model
Produce this JSON structure internally (not written to disk):
Step 5: Write docs/SKILL_GRAPH.md
Create docs/ if it doesn't exist. Write docs/SKILL_GRAPH.md with four sections:
Section 1 — Overview graph
Rules:
leads-toandcomplementsedges: solid-->alternativeand inferred edges: dashed-.->- Node label format:
"emoji name\n/trigger"(use\nfor line break) - Skills with no outbound
leads-toedges get:::terminalclass - Mermaid node IDs must be valid identifiers — replace hyphens with underscores in IDs, keep label as-is
Section 2 — Workflow chains
Find all entry-point skills (skills with no incoming leads-to edges). For each, trace the full leads-to path and write a named workflow:
If two paths share the same terminal node, they may be shown in one diagram.
Section 3 — Data flow
Show input sources, skills, and output artifacts. Only include skills that have explicit inputs or outputs in their metadata:
Section 4 — Skill index
A table: Skill | Trigger | Description | Reads | Writes
Step 6: Generate interactive HTML outputs
Serialize the graph model from Step 4 to a single-line minified JSON string. Use this JSON string for both outputs below (same data, different templates).
6a — Skill dashboard (primary output)
Open skills/visual/references/dashboard-template.html. Replace /* GRAPH_DATA_JSON */ with the JSON string. Write to .docs/skill-dashboard.html.
The dashboard has three tabs:
- Skills — card grid with every skill's trigger, description, reads/writes, outgoing relationships
- Graph — interactive Cytoscape graph (lazy-initialized on first tab open)
- Workflows — auto-derived workflow chains, alternatives, and complements
6b — Standalone graph (secondary output)
Open skills/visual/references/graph-template.html. Replace /* GRAPH_DATA_JSON */ with the same JSON string. Write to .docs/skill-graph.html.
If either template file is not found, skip that output and note it in the report.
Step 7: Discoverability check
Search CLAUDE.md for SKILL_GRAPH. If not found, propose:
The skill graph atdocs/SKILL_GRAPH.mdis not yet referenced in CLAUDE.md.Add this block so future agents discover it automatically?```markdown## Skill GraphSkill relationships and workflows:docs/SKILL_GRAPH.mdDashboard (skills + graph + workflows):.docs/skill-dashboard.htmlStandalone graph:.docs/skill-graph.html```Add to CLAUDE.md? (yes/no)
Do not auto-write. Wait for approval before modifying CLAUDE.md.
Step 8: Print completion report
Key Constraints
- Never auto-write to CLAUDE.md — always ask first
- Explicit over inferred —
relationshipsfrontmatter always wins; inferred edges are dashed in both outputs - Idempotent — re-running
/visualfully overwrites both output files - Non-destructive — never modifies any SKILL.md file; only writes to
docs/and.docs/ - Mermaid node IDs: replace
-with_to avoid parse errors (e.g.review_diffnotreview-diff) - Node label length: keep
\n-split lines under 20 characters each for readability
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/visual/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/minhtran3124/cursor-skills/visual)