Graphify: turn a codebase into a queryable knowledge graph
On a large codebase, Claude spends much of its context reading files just to find out how things connect. Graphify builds that map once: a graph of files, functions, classes and their relationships, plus a plain-language report of the most connected parts and surprising links between modules.
What’s inside: a skill, a Python CLI. Published by: a third party, safishamsi/graphify.
How it works
Code is parsed locally with tree-sitter (37 grammars, about 40 languages), so calls, imports and inheritance are resolved across files without any AI model. Docs, PDFs and images go through a semantic pass using your assistant’s model, and audio and video are transcribed locally. Every edge is tagged EXTRACTED (explicit in the source), INFERRED (resolved by Graphify) or AMBIGUOUS, so you can tell what was read from what was guessed.
The output goes to graphify-out/: an interactive HTML graph, GraphRAG-ready JSON and a GRAPH_REPORT.md with "god nodes" (the most-connected concepts), community clusters and suggested questions. The /graphify skill tells Claude to query this graph first when you ask about the codebase.
Install
uv tool install graphifyy # the graphify CLI
graphify install # registers the /graphify skill with Claude CodeGraphify isn’t a /plugin marketplace plugin: it is a Python CLI plus a skill. If your shell says graphify: command not found, run uv tool update-shell and open a new terminal (pipx install graphifyy also works). graphify install also adds a short note to ~/.claude/CLAUDE.md so Claude knows the skill exists.
Optional, per project: graphify claude install adds a Graphify section to the project’s CLAUDE.md and a hook that steers Claude to the graph before it searches files. graphify hook install adds git hooks that rebuild the graph on each commit.
How to use it
Run /graphify . in Claude Code to build the graph for the current folder, then ask questions in plain language or use the query commands. --update re-extracts only changed files.
/graphify ./graphify query "…"/graphify path "A" "B"/graphify explain "X"/graphify . --update
- /graphify .
- /graphify query "what connects auth to the database?"
- Which modules depend on the payment service?
Good use cases
- Getting oriented in a large or unfamiliar codebase
- Answering "what calls what" and "what breaks if I change this" without reading every file
- Exporting architecture to Obsidian, Neo4j or a wiki for documentation
When not to use it
Small projects that fit comfortably in Claude’s context, where reading the files directly is simpler than building and maintaining a graph.