INTENT / graphify · LevelUp kit
← → / space · click to advance
LevelUp kit · new module · found, audited, adopted

Claude stops guessing
your codebase. It reads the map.

graphify turns any repo into a persistent knowledge graph: every file, symbol and relationship, clustered into the systems they actually form, queryable in plain English. You build it once and every session after that reads it.

ingest anything extract structure cluster into systems ask it anything
why vanilla guesses

A big codebase doesn't fit in a context window. So Claude re-learns it every session, by guessing.

limit 1 · re-reading it all is expensive

It won't re-read 185 files per question. So it greps.

Loading a whole repo into context for every question is slow and costly, so out of the box Claude reads a few files, greps for a string, and infers the rest. grep finds text, not structure. "What reaches the Mac daemon?" is a relationship across a dozen files, and a string search can't see it.

limit 2 · the knowledge evaporates

Every new session starts blind.

The architecture it pieced together last time is gone at /clear. It re-derives the same map, burns the same tokens, and sometimes derives it differently. That is exactly how confident, wrong answers happen.

graphify builds the map once, on disk, and lets every future session read it instead of guessing.

the pipeline

Index the repo into a graph. Then traverse it instead of grepping.

detect
code · docs · img
AST extract
tree-sitter · free
semantic
LLM edges
cluster
communities
graphify-out/
persistent · queryable

Two layers. The structural layer is free: tree-sitter parses every function, import and call. The semantic layer is an LLM pass that adds the relationships AST can't see. The result is a graph.json you keep and commit.

the build, step by stepone command · most of it free
1
Detect & triageFREE
Walk the tree, classify every file (code / document / paper / image / video), skip secrets and binaries. Big repos get chunked, not truncated.
2
AST extractionFREE
Tree-sitter parses each source file into nodes (files, functions, classes) and edges (imports, calls, contains). No LLM, no API spend. This is the structural backbone.
3
Semantic extraction
An LLM reads docs and code for the edges AST can't see: data flow, design rationale, cross-file coupling. Uses Gemini if you have a key, else falls back to a Claude subagent on your plan.
4
Assemble & dedupFREE
Merge both layers into one graph, collapse duplicate nodes, tag every edge EXTRACTED / INFERRED / AMBIGUOUS. An honest audit trail, not a black box.
5
Community detection + god nodesFREE
Graph clustering finds the real subsystems and names them; the most-connected "god nodes" become navigation hubs.
6
PersistFREE
graphify-out/ holds graph.json, an interactive graph.html and a GRAPH_REPORT.md. It survives /clear, commits with the repo, and stays queryable forever.
this is real, not a mockuplive · rendered from graph.json

We pointed it at a real 185-file agent system. It drew the whole thing.

brain: engine · MCP · scheduler
hands: Mac daemon · AX · browser
HUD: desktop UI
voice: LiveKit agent
infra: ingest · deps
each circle = a subsystem it found
size = files in it · lines = real edges
1,145
nodes
1,881
edges
92
subsystems

21 of the 92 subsystems shown. It separated the brain (Persistent Warm Engine, Second-brain MCP Server, Metacognition Spine) from the hands (Mac Daemon Core, OCR & Click-by-text) from the HUD. graphify generated these names itself, and they match how the system is actually built.

the numbers, from the live buildevery figure reconciles with graph.json

A whole multi-language stack, mapped for $0 of metered API.

files, ~214k words: TS, JS, Python, Rust, Swift, bash, docs
1,145
nodes · 1,881 edges across the whole repo
communities auto-detected · top ones auto-named
99%
of edges EXTRACTED from source · only 1% inferred
what it cost

90k in / 6k out tokens. $0 metered.

The structural layer is free (tree-sitter). The semantic layer ran on one Claude subagent riding the Max plan. No API key touched.

what it understood

The architecture, without being told.

Brain, hands, HUD, voice: the clusters and their names came out of the graph structure, and they match how the system is actually built.

three ways to interrogate itask in english · it traverses the graph
graphify query
$ graphify query "how does a Discord message reach the Mac?" › BFS over graph.json … Discord Bot Entry Persistent Warm Engine Second-brain MCP Server Mac Daemon Core grounded in real edges · capped to a token budget
graphify path
$ graphify path "Discord Bot Entry" "OCR & Click-by-text" › shortest path: 4 hops the literal chain of files connecting two systems
graphify explain
$ graphify explain "Persistent Warm Engine" A long-lived streaming session per channel that avoids cold-start spawns. Neighbors: Bot HTTP API · Scheduler · Discord Bot Entry plain-language node summary + who it touches
graphify affected
$ graphify affected "Second-brain MCP Server" › reverse traversal, blast radius: Playbooks · Metacognition · Warm Engine"what breaks if I change this?" before you touch it

When graphify-out/ exists, the skill answers architecture questions from the graph first, without re-reading the repo. Node names above are real communities from the live build; exact output depends on your question.

the straight answerwhere it helps · where it doesn't

Grep finds text. The graph finds structure.

Vanilla Claude · grep + read
+ graphify · traverse the graph
Finds a string; misses structure that spans files
Follows relationships: calls, data flow, coupling
Re-derives the architecture every session
Reads a map built once, persisted on disk
Burns context loading files to "look around"
Answers from a token-budgeted traversal
Two sessions can reach different conclusions
One shared, auditable source of truth

The honest caveat: on a tiny repo, or a known string in a known file, plain grep wins and a graph is overkill. graphify earns its keep when "how does this actually work?" spans more files than fit in your head.

not just one repo, not just codemulti-modal · incremental · agent-native

Anything you can read, it can graph.

multi-modal corpus

Code, markdown, PDFs, images, even video transcripts land in one graph. Community detection then surfaces cross-document links you'd never think to search for.

incremental & live

graphify update re-extracts only changed files, no LLM needed. graphify watch rebuilds on save. The map stays current as the code moves.

cross-repo & exports

merge-graphs joins multiple repos into one view. Exports: Neo4j, FalkorDB, GraphML, SVG, Obsidian, or an agent-crawlable wiki.

agent-native

A companion graphify-mcp binary serves the graph over MCP (stdio or HTTP), so any agent queries structure directly. It installs into 19 agent platforms, not just Claude.

adopt it in two commandsglobal install · then point it at anything
install
# one global tool, not trapped in a project venv $ uv tool install graphifyy # two y's. that's the package name installed: graphify, graphify-mcp $ graphify install # drops the skill into ~/.claude # now /graphify works in every session
use
$ /graphify . # build the graph $ /graphify "how does X work?" # ask it
graphify-out/ graph.json the graph · commit it graph.html interactive viz GRAPH_REPORT.md community hubs + audit manifest.json per-file provenance cache/ incremental rebuilds
honest by construction

Fact vs guess, labelled.

Every edge is tagged EXTRACTED, INFERRED or AMBIGUOUS. Claude knows which is which, and so do you.

why it mattersgood practice, made cheap

Comprehension before change, at a price anyone can pay.

understand before you touch

The first rule of good engineering is to read the code fully before you change it. graphify makes that the default, even on a codebase too big to read.

memory that survives /clear

The architecture lives on disk, not in a context window. New sessions start oriented, not blind, and never burn tokens re-deriving the map.

about free on the max plan

The structural layer is free. The semantic layer rides your existing subscription. A 185-file map cost $0 of metered API.

fewer confident-wrong answers

Grounded traversal with an EXTRACTED/INFERRED audit trail beats "Claude skimmed three files and extrapolated."

Adopt it

You can't change what you can't see. graphify gives Claude the whole map.

Found in the wild, audited by scout, adopted on merit. On a real codebase, a map beats a guess.

$ uv tool install graphifyy $ /graphify . $ graphify query "…"

Part of the LevelUp kit · numbers from the live build, June 2026 · the keynote ↗ · the handbook ↗