graphify について
Graphify は、コードベースや複合コーパスの構造グラフを構築、検索、更新、エクスポートする CLI スキルです。開発者や研究者が対象範囲とコマンドモードを選び、グラフレポートや関係、レビュー情報を確認できるよう支援します。
主な機能
- 01グラフ化の前に対象範囲を限定
- 02グラフ成果物の構築と更新
- 03グラフ関係の検索、説明、追跡
- 04HTML などの形式へエクスポート
- 05レビュー情報と影響フローを生成
活用シーン
- 01編集前にリポジトリ構造を把握
- 02既存グラフ内の関係を追跡
- 03変更ファイルと影響フローをレビュー
- 04コードと文書を横断する構造を維持
MCP 対応
`graphify serve` を実行すると、`graph.json` を stdio MCP サーバーとして提供し、MCP クライアントからグラフデータを利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ akillness/ jeo-skills --skill graphifyインストール後、Claude Code で/graphifyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
SKILL.toonevals/evals.jsonreferences/build-and-fallback-recipes.mdcli-command-map.mdinstall-matrix.mdmode-packets-and-route-outs.mdscripts/patch_wikilink.py詳細
Graphify
Graphify は CLI です。このスキルでのすべてのリクエストは、スラッシュコマンドや場当たり的な Python スクリプトではなく、実際の
graphify … コマンドを主な手段として処理します。
「どの範囲を対象に、どの graphify コマンドを実行すればこの質問に答えられ、次に何を読むべきか?」 が主な質問である場合に、このスキルを使用します。
このスキルでは、次の作業を行います。
- リクエストを1つのグラフパケットに分類する
- CLI モードを1つ選ぶ
- 実行時間やトークンコストが急増する前にコーパスの範囲を絞る
- 成果物と、品質が低下した出力があれば、その事実を正確に報告する
- 検索のみ、Wiki のみ、またはプロジェクトメモリに関する作業を、適切な隣接スキルに振り分ける
実際のフラグを含むすべてのコマンドについては、references/cli-command-map.md をお読みください。 インストールする前に、特に jeo / jeopi / gjc / opencode については、references/install-matrix.md をお読みください。 依頼の内容が不明な場合は references/mode-packets-and-route-outs.md を、ネイティブ抽出の品質が低い場合は references/build-and-fallback-recipes.md をお読みください。
CLI クイックスタート
pip install graphifyy # PyPI package is graphifyy; the binary is graphify
graphify --version
graphify scope # what would actually be graphed?
graphify update . # build -> .graphify/graph.json + .graphify/GRAPH_REPORT.md
graphify summary # hubs, communities, representative nodes
graphify query "where is auth enforced?" --budget 1500
graphify explain <node> # one node, plain language
graphify path <source> <target> # shortest path between two nodes
graphify tree <node> --depth 2 # local neighbourhood
graphify export html # -> .graphify/graph.html
回答の正確性を保つための重要な事実が3つあります。
graphify buildは存在しません。 ビルドコマンドはgraphify updateです。graphify build --helpはエラーを表示せずにルートのヘルプへフォールスルーします。- 状態は
graphify-out/ではなく.graphify/に保存されます。graphify-out/は旧レイアウトです。graphify migrate-stateで移行できます。すべての--graph <path>フラグの既定値は<cwd>/.graphify/graph.jsonです。 graph.htmlはgraphify updateでは生成されません。graphify export htmlで生成されます。
このスキルを使用する場合
- ユーザーが
GRAPH_REPORT.md、graph.json、graph.html、コードベースのグラフ、または永続的なナレッジグラフを明示的に求めている - リクエストがリポジトリ/コーパスの構造、関係の追跡、パスクエリ、または現在のセッション終了後も保持すべきアーキテクチャの調査に関するものである
- コーパスにコード、ドキュメント、PDF、メモ、スクリーンショットが混在しており、ユーザーが永続的な構造化レイヤーを1つ求めている
- ユーザーが生のファイルを読み直すのではなく、既存のグラフを更新、クエリ、または説明したい
- ユーザーが差分や PR について、変更を考慮したレビュー用の情報、影響を受ける実行フロー、またはリスクスコアを求めている
- ユーザーが Graphify を jeo、jeopi、gjc、opencode、Claude、Codex、Gemini、またはその他の対応エージェントにインストールしたい
このスキルを使用しない場合
- シンボル、ファイルの所有者、設定ファイルの場所、または参照チェーンを見つけるだけの場合 →
codebase-search - 永続的な Markdown ナレッジベースや、整理して保存する調査メモを求めている場合 →
llm-wiki - プロジェクト/リポジトリのメモリ、マニフェスト、またはエージェント間の引き継ぎパケットを求めている場合 →
opencontext - 永続的なグラフではなく、依存関係に限定した JS/TS 分析や、手早いリポジトリツリー図が必要な場合
- 具体的な Graphify の依頼を伴わない、一般的な GraphRAG/テキスト KG アーキテクチャの議論
jeo / jeopi / gjc / opencode へのインストール
graphify install [platform] が受け付ける ID は、次のものに限られます:claude、codex、gemini、
opencode、aider、copilot、claw、droid、trae、trae-cn、hermes、kimi、kiro、
antigravity、antigravity-windows、vscode-copilot-chat、windows、vscode。
jeo、jeopi、gjc はプラットフォーム ID ではありません — graphify install jeo は、
graphify install agents と同じように失敗します(error: unknown platform)。このリポジトリの
setup-all-skills-prompt.md によると、これら 3 つは共有の ~/.agents/skills ルートをネイティブに検出します。
このルートには、無条件の universal ID がファイルを配置します。したがって:
# CLI for everyone
pip install graphifyy && graphify --version
# skill into the shared root that jeo, jeopi, gjc and sst/opencode all read
npx skills add https://github.com/akillness/jeo-skills --skill graphify -a universal
ls "${SKILLS_ROOT:-$HOME/.agents/skills}/graphify/SKILL.md"
# optional: opencode plugin + tool.execute.before hook (sst/opencode only)
graphify install opencode # or: graphify install opencode --project
graphify install opencode --project は .opencode/skills/graphify/SKILL.md、
.opencode/plugins/graphify.js、.opencode/opencode.json、および AGENTS.md のセクションを書き込みます。
graphify install claude --project は .claude/skills/graphify/SKILL.md、
.claude/settings.json の PreToolUse フック、および CLAUDE.md のセクションを書き込みます。
アーカイブされた Go 製の opencode-ai/opencode TUI にはスキルローダーがありません — graphify install opencode
を実行しても、そこでスキルは表示されません。コマンドファイルとして橋渡しするか、CLI を使用してください。詳細:
references/install-matrix.md。
手順
ステップ 1:リクエストを 1 つのパケットに正規化する
repo-structure-packet— 編集前にコードベースまたはサブシステムをマッピングするrelationship-trace-packet— 既存のグラフからパス/クエリ/説明に関する質問に答えるmixed-corpus-memory-packet— コード+ドキュメント+アセットを横断する永続的な構造を構築するreview-diff-packet— 変更されたファイルのレビューコンテキストまたは影響を受けるフローを作成するinstall-packet— 常時利用できるように Graphify をエージェントに導入するrefresh-or-fallback-packet— 既存のグラフを更新する、出力が不十分な場合に復旧する、またはフォールバックする
ユーザーがすでに持っているパケットから始めてください。あらゆるリクエストを機能紹介に無理に通さないでください。
ステップ 2:CLI モードを 1 つ選ぶ
| モード | 主なコマンド |
|---|---|
cli-build | graphify scope → graphify update . |
cli-query | graphify summary → query / explain / path / tree |
cli-export | graphify export html|wiki|obsidian|svg|graphml|neo4j |
incremental-refresh | graphify check-update → graphify update / watch / hook install |
review-context | graphify review-context / affected-flows / detect-changes |
agent-serve | graphify serve(graph.json 用の stdio MCP サーバー) |
install | graphify install <platform> または ~/.agents/skills 経由の方法 |
structural-fallback | ネイティブ抽出結果が空または誤解を招く場合に、事実に即した最小の構造グラフを構築する |
主なモードを 1 つ指定してください。フォールバックについては最大 1 つまで言及してください。
ステップ 3:実行に時間をかける前にスコープを絞る
不慣れな対象では、まず graphify scope を実行してください。適切なデフォルトは次のとおりです。
- リポジトリ全体のアーキテクチャが本当に求められている場合に限り、リポジトリのルート
- 実装作業では
src/、app/、packages/<pkg>/、または 1 つのサービスディレクトリ - コーパスのグラフ化では
raw/、docs/、またはコードと資料が混在する調査フォルダー - 再構築ではなくクエリ/更新が目的の場合は、既存の
.graphify/
実行時の動作に期待するのではなく、--scope auto|committed|tracked|all と .graphifyignore を使用してください。
リクエストが実際には検索/参照であれば、codebase-search に振り分けてください。
ステップ 4:必要最小限のコマンドを実行する
モードに必要なコマンドだけにしてください。ユーザーが 1 つの質問をしているのに、ビルド、エクスポート、Wiki、監視ループを連続して実行しないでください。
ステップ 5:品質が低下した出力は正直に伝える
確認済みの動作:LLM API キーが設定されていなくても、graphify update . は
graph.json と GRAPH_REPORT.md を書き込みますが、次のメッセージが表示されます。
[graphify label] warning: community labeling failed (...); using Community N placeholders.
[graphify describe] description generation failed (...); continuing without descriptions.
この場合、グラフの構造は完成していますが、ラベルや説明は付いていないと伝え、バックエンドの設定後に
graphify update --fill-missing を実行することを提案してください。プレースホルダーである
Community N という名前を、意味のあるクラスター名として決して提示しないでください。
Step 6: 成果物を順番に読む
.graphify/GRAPH_REPORT.mdgraphify summary(エージェントでの作業では、HTML より低コストで要点を絞って確認できます).graphify/graph.html(graphify export htmlの実行後、人間が確認するため)- 最後に
.graphify/graph.jsonを確認します。貼り付けるより、graphify query --budget <n>を優先してください。
Step 7: 隣接する作業は適切なツールに振り分ける
codebase-search— グラフ化する前に、完全一致するテキスト、シンボル、設定の所有者、影響範囲をマッピングしますllm-wiki— ナラティブの統合、Wiki ページ、長期運用する Markdown ナレッジベースopencontext— 検索可能な意思決定記録、マニフェスト、安定したリンク、プロジェクトメモリーの引き継ぎsurvey— Graphify を採用する前のツールやプラットフォームの比較
Jevgrep のソース検出を明示的に依頼された場合は、.mex/context やスコープを絞ったソースツリーではなく
jevgrep に従ってください。リモートコンテンツとコストに関するゲートは別途適用されます。グラフの関係性には、ここで
query / path / explain を使用してください。Jevgrep は、デフォルトではグラフ成果物をアップロードせず、グラフの再構築も担当しません。
ユーザーが「グラフを構築またはクエリして」と依頼した場合は、ここで作業します。「ファイルをすぐに見つけて」「これを Wiki ノートとして記録して」「これをプロジェクトメモリーとして保存して」と依頼された場合は、適切なツールに振り分けます。
Step 8: 簡潔なグラフ概要を返す
パケット · 主なモード · 実際に実行したコマンド · 対象範囲 · 作成した成果物 · 出力の品質が低下していたか、フォールバックだったか · 次に実行するコマンドを 1~3 個 · 次のステップが別のツールの担当である場合は、その振り分け先を 1 つ。
出力形式
必ず、グラフ構築概要、グラフクエリ概要、グラフ更新概要、レビューコンテキスト概要、または Graphify インストール概要を、次の内容とともに返してください。
- 手元にあるパケットと、主なモードを 1 つ
- 実際に実行したコマンドと、その対象範囲
.graphify/以下に存在するファイル、または作成したファイル- 品質が低下した出力、プレースホルダー、フォールバック出力の明示
- 生の
graph.jsonより先にGRAPH_REPORT.md/graphify summaryを読んだこと - 隣接する作業が次のステップを担う場合の振り分け先を 1 つ
例
例 1: 編集前にリポジトリを理解する
入力
コードに手を加える前に、アーキテクチャを理解できるよう、このリポジトリをマッピングしてください。
望ましい出力の方向性
repo-structure-packet、モードcli-buildgraphify scope→graphify update .→graphify summary.graphify/GRAPH_REPORT.mdと.graphify/graph.jsonを報告し、graph.htmlの生成にはgraphify export htmlが必要であることも伝えます
例 2: 既存のグラフから関係性をたどる
入力
すでにグラフがあります。認証コントローラーと請求処理の間には何がつながっていますか?
望ましい出力の方向性
relationship-trace-packet、モードcli-querygraphify summary→graphify path <auth> <billing>→graphify explain <node>- 再構築は不要
例 3: 差分をレビューする
入力
この PR では実際に何が変更されていますか?差分をそのまま出すのではなく、レビュアー向けのコンテキストが欲しいです。
望ましい出力の方向性
review-diff-packet、モードreview-contextgraphify review-context --base main --detail-level standardとgraphify affected-flows --base main --json
例 4: エージェント向けにインストールする
入力
jeo、jeopi、gjc、opencode 用に graphify をインストールしてください。
望ましい出力の方向性
install-packetpip install graphifyyを実行し、jeo/jeopi/gjc には-a universalを使って~/.agents/skillsにスキルをインストールします。必要に応じてgraphify install opencodeも実行します。graphify install jeoは有効なプラットフォーム ID ではないことを明確に伝えます
例 5: 実際には検索の依頼
入力
この設定がどこで定義され、どこから参照されているのかだけを知りたいです。
望ましい出力の方向性
codebase-searchに振り分け、グラフは構築しません
ベストプラクティス
- 実在する
graphifyコマンドを最初に示し、決して作り出さないでください。graphify buildは存在しません。 graphify-out/ではなく.graphify/を使用してください。レガシーリポジトリではgraphify migrate-stateを使用してください。- 見慣れないコーパスで負荷の高いビルドを実行する前に、
graphify scopeを実行してください。 - 生の
graph.jsonよりもGRAPH_REPORT.mdとgraphify summaryを優先し、graphify query --budget <n>でトラバーサルの上限を設定してください。 - build、query、export、refresh、review、serve、install、fallback はそれぞれ独立したモードとして扱ってください。
- プレースホルダーの
Community Nラベルや説明の欠落は、成功ではなく品質低下として報告してください。 - アドホックな再ビルドではなく、継続的に最新状態を保つために
graphify hook installまたはgraphify watchを使用してください。 .graphifyアーティファクトをコミットする前に、graphify portable-checkを実行してください。- 構造的フォールバックは、隠れた失敗ではなく、正直に示す第一級のモードとして扱ってください。
- 検索を優先する作業は
codebase-searchに、物語的なメモリーはllm-wikiに、プロジェクトのメモリーはopencontextに振り分けてください。 - graphify の wiki ビルド後、または
pip install --upgrade graphifyyの実行後は、[[…]]リンクが壊れているように見える場合、scripts/patch_wikilink.pyを実行してください。graphify のジェネレーターは、slug 化されたCommunity_36.mdページに解決されない raw-label の[[Community 36]]リンクを出力します。このパッチャーはすべてのリンク先を[[slug|label]]に正規化し、冪等に動作します。アップグレード後も修正が維持されるよう、インストール/アップグレード手順(jeo ではgraphify update .の前に実行するpost-implementationフック)に組み込んでください。
参考資料
- CLI コマンド一覧 — 作業別にまとめたすべてのコマンドとフラグ
- インストールマトリックス — プラットフォーム ID、jeo/jeopi/gjc/opencode の経路
- モード別パケットと振り分け先
- ビルドとフォールバックのレシピ
scripts/patch_wikilink.py— 冪等なウィキリンク正規化パッチ(--self-test、--check)../codebase-search/SKILL.md·../llm-wiki/SKILL.md·../opencontext/SKILL.md- Graphify の上流リポジトリ:https://github.com/Graphify-Labs/graphify
- Graphify の PyPI:https://pypi.org/project/graphifyy/