graphify
Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools.
npx skills add Graphify-Labs/graphify --skill graphify --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Turns any folder of files into a navigable knowledge graph with community detection, an honest audit trail, and three outputs: interactive HTML, GraphRAG-ready JSON, and a plain-language GRAPH_REPORT.md.
How it works
- Invoked as /graphify with various path and option flags to process a directory or repository.
- Step 0/1: Installs and verifies graphify, then Detects files in INPUT_PATH to categorize into code, docs, papers, images, and videos.
- Step 2: If video files exist, transcribes them before Step 3.
- Step 3: Performs structural extraction for code (AST) and semantic extraction for docs/papers/images; can run in parallel. Semantic extraction uses Gemini if GEMINI_API_KEY or GOOGLE_API_KEY is set; otherwise, the host agent performs semantic extraction.
- Part A (AST): Runs extract on code files to produce nodes and edges, stored in graphify-out/.graphify_ast.json.
- Part B (semantic): If keys are set, uses graphify.llm.extract_corpus_parallel(files, backend="gemini"); otherwise, maintains an empty semantic graph at graphify-out/.graphify_semantic.json.
- Part C: Merges AST and semantic results into the final graph outputs and generates reports.
- The pipeline includes options for exporting HTML, graphml, neo4j, wikies, and an obsidian vault, among others.
When to use it
Use when you need a navigable, queryable graph representation of a codebase, its architecture, file relationships, or project content, especially if a graphify-out/ exists and a graphify query is preferred first.
What it can touch
- Commands and files referenced in the usage block, including: /graphify, graphify-out/, graphify.json, graphify_ast.json, graphify_semantic.json, and related script invocations. Tools declared: claude-code, codex, cursor.
Caveats
- Requires per-invocation: GEMINI_API_KEY or GOOGLE_API_KEY to enable semantic extraction; otherwise, semantic work is performed by the host agent.
- If the repository is large (e.g., total_words > 2,000,000 or total_files > 500), clustering and top-folder narrowing may be triggered and require user input to select a subfolder.
- The stepwise process includes checks for existing graphify-out/graph.json to perform fast-path query routing when appropriate.
# /graphify Turn any folder of files into a navigable knowledge graph with community detection, an honest audit trail, and three outputs: interactive HTML, GraphRAG-ready JSON, and a plain-language GRAPH_REPORT.md. ## Usage ``` /graphify # full pipeline on current directory (HTML viz; add --obsidian for a vault) /graphify <path> # full pipeline on specific path /graphify https://github.com/<owner>/<repo> # clone repo then run full pipeline on it /graphify https://github.com/<owner>/<repo> --branch <branch> # clone a specific branch /graphify <url1> <url2> ... # clone multiple repos, build each, merge into one cross-repo graph /graphify <path> --mode deep # thorough extraction, richer INFERRED edges /graphify <path> --update # incremental - re-extract only new/changed files /graphify <path> --directed # build directed graph (preserves edge direction: source→target) /graphify <path> --whisper-model medium # use a larger Whisper model for better transcription accuracy /graphify <path> --cluster-only # rerun clustering on existing graph /graphify <path> --no-viz # skip visualization, just report + JSON /graphify <path> --html # (HTML is generated by default - this flag is a no-op) /gra
- Usage
- What graphify is for
- What You Must Do When Invoked
- Step 0 - GitHub repos and multi-path merge (only if a URL or several paths)
- Step 1 - Ensure graphify is installed
- Step 2 - Detect files
- Step 2.5 - Video and audio (only if video files detected)
- Step 3 - Extract entities and relationships
- Step 4 - Build graph, cluster, analyze, generate outputs
- Step 4.5 - Graph health check (read-only integrity gate)
- Step 5 - Label communities
- Step 6 - Generate Obsidian vault (opt-in) + HTML
- Step 9 - Save manifest, update cost tracker, clean up, and report
- Interpreter guard for subcommands
Detect the correct Python interpreter (handles uv tool, pipx, venv, system installs) if [ -z "$PYTHON" ] && command -v uv >/dev/null 2>&1; then if [ -n "$_UV_PY" ]; then PYTHON="$_UV_PY"; fi fi if [ -z "$PYTHON" ] && [ -n "$GRAPHIFY_BIN" ]; then case "$_SHEBANG" in esac if [ -z "$PYTHON" ]; then PYTHON="python3"; fi if ! "$PYTHON" -c "import graphify" 2>/dev/null; then if command -v uv >/dev/null 2>&1; then
What does the graphify skill do?
Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools.
How do I install it?
Run `npx skills add Graphify-Labs/graphify --skill graphify --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From Graphify-Labs/graphify, a repository with 102,260 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
