skills/dot-graph-intelligence/SKILL.md
Use when you need programmatic graph structure analysis — reachability, cycles, critical paths, and diffs without spending LLM tokens on structural questions code can answer
npx skillsauth add microsoft/amplifier-bundle-dot-graph dot-graph-intelligenceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Structural questions about graphs — "is this node reachable?", "are there cycles?", "what changed?" — are code problems, not language model problems. Graph analysis tools answer these in milliseconds with zero ambiguity. Reserve LLM reasoning for interpretation, not computation.
Core principle: Code answers structural questions — that is code's judgment to make. LLMs interpret what the answers mean. Use the right tool for each layer.
digraph when_to_use {
label="When to Use Graph Intelligence"
labelloc=t
rankdir=TB
node [shape=diamond style="rounded,filled" fillcolor="#FFF9C4" fontname="Helvetica"]
edge [fontname="Helvetica" fontsize=10]
Q1 [label="Is the question\nstructural?\n(reachability, cycles,\npaths, counts)"]
Q2 [label="Does it require\nunderstanding\nmeaning or context?"]
node [shape=box style="rounded,filled"]
UseCode [label="Use graph analysis\noperations" fillcolor="#C8E6C9"]
UseLLM [label="Use LLM reasoning\nwith graph as context" fillcolor="#E8F0FE"]
UseBoth [label="Run analysis first,\nthen interpret results\nwith LLM" fillcolor="#FFF9C4"]
Q1 -> UseCode [label="yes — pure structure"]
Q1 -> Q2 [label="no"]
Q2 -> UseLLM [label="yes — meaning only"]
Q2 -> UseBoth [label="both structure\nand meaning"]
}
| Operation | Question It Answers | Input | Output |
|-----------|--------------------|---------|----|
| reachability | Can node A reach node B? | source node, target node | yes/no + path |
| unreachable | Which nodes are isolated or stranded? | graph | list of unreachable nodes |
| cycles | Are there circular dependencies? | graph | list of cycle node sequences |
| paths | What are all paths between two nodes? | source, target | list of paths |
| critical_path | What is the longest path (bottleneck)? | graph (DAG) | ordered node list + length |
| subgraph_extract | What is the subgraph reachable from a node? | root node | subgraph DOT |
| diff | What changed between two versions? | graph A, graph B | added/removed nodes+edges |
| stats | How large and dense is this graph? | graph | node count, edge count, density |
A 7-step process for structured graph investigation:
When analysis returns results, apply these patterns:
Cycles detected:
Unreachable nodes found:
High density (edges >> nodes):
Multiple disconnected components:
| Task | Use Code | Use LLM | |------|----------|---------| | Count nodes in a graph | ✓ | | | Check if path exists between two nodes | ✓ | | | Find all cycles | ✓ | | | Determine longest path | ✓ | | | List unreachable nodes | ✓ | | | Compare two graph versions (diff) | ✓ | | | Extract subgraph from root | ✓ | | | Calculate graph density | ✓ | | | Explain why a cycle is a design problem | | ✓ | | Suggest how to break a cycle | | ✓ |
development
Use when you need true understanding of a complex system — not a quick answer. Parallax Discovery is a multi-agent, multi-pass investigation methodology that combines three perspectives (code tracing, behavior observation, integration mapping) to produce verified, evidence-backed findings.
development
Use when writing or reading DOT/Graphviz code and needing quick syntax reference — node declarations, edge syntax, attributes, subgraphs, HTML labels, and common gotchas
testing
Use when enforcing quality standards on DOT diagrams — checking completeness, structure, and visual clarity before sharing or committing
tools
Use when you need copy-paste DOT templates for common diagram types — start from a working pattern rather than blank canvas