Help us improve
Share bugs, ideas, or general feedback.
From all-skills
Builds a local knowledge graph of code, docs, and mixed media using tree-sitter extraction and LLM-based relationship inference. Query via CLI commands instead of reading raw files.
npx claudepluginhub vinnie357/claude-skills --plugin qaHow this skill is triggered — by the user, by Claude, or both
Slash command
/all-skills:graphifyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Graphify converts a folder of code, docs, PDFs, images, and videos into a queryable knowledge graph. It extracts symbols and relationships locally with tree-sitter (no code leaves the machine for AST extraction), writes the graph to `graphify-out/graph.json` plus an interactive `graph.html`, and answers questions by traversing the graph instead of re-reading files.
Gives agents low-token codebase context by querying a graphify knowledge graph instead of reading raw files. Use for research, impact analysis, and agent-loop integration.
Uses codebase knowledge graphs for architecture-aware task decomposition, dependency discovery, and context reduction during planning.
Transforms folders of files (code, docs, images) into a knowledge graph with community detection, producing interactive HTML, GraphRAG-ready JSON, and a plain-language audit report. Useful for understanding large document corpora or codebases as connected clusters.
Share bugs, ideas, or general feedback.
Graphify converts a folder of code, docs, PDFs, images, and videos into a queryable knowledge graph. It extracts symbols and relationships locally with tree-sitter (no code leaves the machine for AST extraction), writes the graph to graphify-out/graph.json plus an interactive graph.html, and answers questions by traversing the graph instead of re-reading files.
PyPI package: graphifyy (double-y). CLI command: graphify. License: MIT. Requires Python >= 3.10.
Activate when:
query, path, explain, or affectedgraphify hook install to rebuild the graph on git commitsgraphify install / graphify claude installFor using graphify to reduce agent token usage during research and decomposition, load graphify-agents.
Copy templates/mise.toml from this skill into the project's mise.toml, then run mise install. graphify is a PyPI package, so mise installs it through its pipx backend; the template pins uv as the backend installer and enables uvx mode so one mise install resolves uv then graphifyy:
[settings.pipx]
uvx = true
[tools]
python = "3.12"
uv = "latest"
"pipx:graphifyy" = "0.8.36"
mise trust && mise install # installs python, uv, then graphifyy
graphify --version # → graphify 0.8.36
Verify the backend sees the package before pinning a different version:
mise ls-remote pipx:graphifyy | tail -5
The project's own documented install (outside mise):
pip install graphifyy && graphify install
pip install graphifyy also accepts extras, e.g. pip install "graphifyy[all]". Available extras: pdf, office, google, video, mcp, neo4j, svg, leiden, ollama, openai, gemini, anthropic, bedrock, azure, sql, postgres, dm, terraform, chinese, all.
gemini|kimi|claude|openai|deepseek|ollama, auto-detected from available API keys). Skippable with --no-cluster / update.--no-label).graphify-out/graph.json (NetworkX node-link JSON), graph.html (interactive viz), and a markdown report.query/path/explain/affected traverse graph.json with no LLM call for the traversal itself.Default output directory: graphify-out/. Default graph path: graphify-out/graph.json.
graphify . # build the graph for the current directory
graphify ./raw # build for a specific path
graphify ./raw --mode deep # aggressive INFERRED-edge semantic extraction
graphify update . # re-extract code via AST only — no LLM, no API key
graphify cluster-only . # rerun clustering/report on an existing graph.json
graphify add https://arxiv.org/abs/1706.03762 # fetch a URL into ./raw, then update
update is the offline path: it rebuilds the graph from code with no LLM backend, which is what runs without any API key configured.
Export flags run on a build invocation:
graphify . --graphml # GraphML (Gephi, yEd)
graphify . --svg # SVG vector graph
graphify . --neo4j # Neo4j/Cypher MERGE statements
graphify . --wiki # Wikipedia-style markdown
graphify . --mcp # start the MCP stdio server
graphify export callflow-html # Mermaid-based architecture / call-flow HTML
graphify tree # D3 collapsible-tree HTML of the module hierarchy
graphify query "what connects attention to the optimizer?" # BFS traversal, default 2000-token budget
graphify query "..." --budget 1500 # cap output at N tokens
graphify query "..." --dfs # depth-first instead of breadth-first
graphify path "DigestAuth" "Response" # shortest path between two nodes
graphify explain "SwinTransformer" # plain-language explanation of a node + neighbors
graphify affected "add" # reverse traversal: nodes impacted by a change to "add"
query, path, and explain work on a raw AST-extracted graph.json. affected and community labels need a full clustered build (it errors with could not load graph: 'links' on an unclustered raw extraction).
graphify watch . # watch a folder, rebuild on code changes
graphify hook install # install post-commit/post-checkout git hooks
graphify hook status # check whether hooks are installed
graphify check-update . # cron-safe check of the needs_update flag
graphify honors a .graphifyignore file (gitignore syntax) in the target directory to skip dependencies, build output, caches, and secrets. Keep generated graphs and secrets out of the corpus.
For the full command and flag surface (extraction backends, global cross-repo graphs, merge-graphs, per-platform install targets, and every flag captured from graphify --help), see references/cli.md.
graphify --version before stating the installed version.graphify --help (or read references/cli.md) before documenting a command or flag — do not infer flags from blog posts.mise ls-remote pipx:graphifyy before pinning a version.query before claiming a graph answers a given question.graphify benchmark output or the project's own published figures, attributed as such — never as independent measurement.