skills/graphify/SKILL.md
Use when exploring unfamiliar codebases, before searching for code, or after editing files. Builds a structural AST index (classes, functions, imports, call graph) from 12 languages via tree-sitter. Trigger: /graphify
npx skillsauth add howell5/willhong-skills graphifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Structural index of the codebase. Know what exists, where, and how it connects — before you grep.
Requires CLI: npm i -g graphify-ts (uses Bun runtime).
Manual updates only. The graph does not refresh on its own — you (or the user) run graphify update or graphify build when you want a fresh index. This avoids write conflicts in git worktrees and other multi-session setups.
npm i -g graphify-ts # install CLI
Then, once per project:
graphify build .
After that, refresh manually whenever the index drifts from the code (see graphify update below).
/graphify build — Build index (first time, or full rebuild)graphify build .
Scans all source files, extracts AST structure, saves to graphify-out/graph.json.
Report: "Indexed {files} files, {nodes} symbols, {edges} relationships"
/graphify query <name> — Search for symbolsgraphify query graphify-out/graph.json <name>
Case-insensitive search. Returns matching symbols with file locations.
/graphify update <files...> — Incremental update after editsgraphify update graphify-out/graph.json <file1> [file2...]
Re-extract only the specified files. Run this after editing code if you plan to query the graph again in the same session.
/graphify auto-update — Bulk update from git diffgraphify auto-update [dir]
Computes changed code files via git diff + untracked files, then calls updateIndex. Silent when there's nothing to do. Convenient for refreshing after a batch of edits without naming each file.
Before searching code: If graphify-out/graph.json exists, query it before Glob or Grep. The graph tells you which files contain which symbols. This is the main value — replace blind keyword search with structured lookup.
After editing: If you'll query the graph again in the same session, run graphify update <edited-files> (or graphify auto-update for a bulk refresh). Otherwise leave it — the next graphify build or update will catch up.
Exploring unfamiliar code: Run /graphify query <concept> to find entry points without guessing filenames.
Python, JavaScript, TypeScript (JSX/TSX), Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP
Saved as graphify-out/graph.json:
{
"nodes": [{ "id": "main::app", "label": "App", "sourceFile": "main.py", "sourceLocation": "main.py:5" }],
"edges": [{ "source": "file::main", "target": "main::app", "relation": "contains", "confidence": "EXTRACTED" }],
"metadata": { "files": 10, "nodes": 45, "edges": 62 }
}
Edge relations: contains, method, imports, imports_from, calls (INFERRED), inherits
development
Generate VitePress documentation sites for source code learning and analysis. Use when creating tutorials that explain how a codebase is implemented internally.
testing
从核心观点生成优质社媒长文。运用 4D 框架深度分析选题,去除 AI 味,6 维度评审确保质量。
development
End-to-end i18n orchestration for frontend repositories. Use when a user wants to internationalize React/Vue/Next/Nuxt/Vite projects with minimal questions: auto-detect stack and current i18n state, ask only unresolved business decisions, migrate hardcoded strings to locale keys, localize formatting and routing/SEO, and enforce CI quality gates.
testing
检查本次对话的改动是否需要更新项目 CLAUDE.md。分析代码变更,识别新模式和约定,建议更新内容。