From graphy
Build and query a knowledge graph of any codebase via the graphy MCP server. Use whenever you need to locate a symbol, trace a call chain, find callers, audit imports, or understand module boundaries — instead of grepping or reading files blindly.
How this skill is triggered — by the user, by Claude, or both
Slash command
/graphy:graphyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
graphy turns a folder of source code into a structured knowledge graph: nodes are top-level declarations (functions, classes, structs, modules, …) and edges are imports, calls, and explicit references. Once a workspace has been graphed, you can query it through the `graphy` MCP server's tools instead of grepping.
graphy turns a folder of source code into a structured knowledge graph: nodes are top-level declarations (functions, classes, structs, modules, …) and edges are imports, calls, and explicit references. Once a workspace has been graphed, you can query it through the graphy MCP server's tools instead of grepping.
The plugin auto-builds the graph the first time you read source in a workspace and rebuilds in the background after edits, so the MCP tools are usually fresh.
Reach for graphy first whenever you would otherwise:
The graph is cheaper to query than re-reading files, deduplicates results across re-exports, and produces typed edges (calls, imports, references) so the answer is precise.
The graphy MCP server exposes five tools. Use them through the standard MCP tool-call mechanism.
| Tool | Input | Returns |
|---|---|---|
stats | {} | {nodes, edges, communities} for the loaded graph |
search_label | {q: string, limit?: number} | Up to limit (default 20) nodes whose label contains q (case-insensitive). Each entry includes id, label, source_file, source_location. |
neighbors | {id: string} | {outgoing: [{target, relation, confidence}…], incoming: […]} for the given node id |
query_node | {id: string} | Full metadata for a single node |
shortest_path | {from: string, to: string} | Array of node ids forming a shortest undirected path (empty if disconnected) |
Node ids are <source_file>::<symbol_name> (for example crates/graphy-core/src/cluster.rs::cluster). Imports use extern::<imported-path>.
Confidence labels on edges:
EXTRACTED — explicitly stated in the source (an import, a #include, …)INFERRED — second-pass call-graph match (the callee's leaf name matches a defined symbol in the workspace)AMBIGUOUS — flagged for human reviewstats once at the start of any investigation so you know the graph's shape. If nodes is 0, run /graphy to build the graph; the auto-build hook usually does this for you but a fresh checkout might not yet have a graph.search_label is faster than Grep and avoids matches in comments / strings / partial identifiers./graphy [path] — explicit (re)build/graphy-stats — one-liner summary/graphy-search <q> — substring search/graphy-neighbors <id> — adjacency listing/graphy-path <from> <to> — shortest path/graphy-report — the markdown reportThe MCP tools are always available regardless; the slash commands are wrappers that pre-format common workflows.
INFERRED call edges resolve by leaf name; two different helper functions in different modules collide. Use source_file on the resolved node to disambiguate.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub developerbeau/graphy --plugin graphy