mcpField
G
graphify

graphify

github.com/ariadossデータ・データベース1277 回インストール1 日前に更新
リポジトリ

graphify について

graphify は、研究資料、コード、メモなどを含むフォルダーを、探索可能なナレッジグラフにするスキルです。グラフを保存し、関係の根拠を分類するほか、コミュニティ検出でファイル間のつながりを見つけます。

主な機能

  1. 01フォルダーからナレッジグラフを作成
  2. 02関係の根拠を分類
  3. 03文書間のコミュニティを検出
  4. 04変更ファイルを差分処理
  5. 05HTML、JSON、レポートを出力

活用シーン

  1. 01コードベース内の概念関係を整理
  2. 02文書間の関連トピックを接続
  3. 03全ファイルを再処理せずグラフを更新

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/ariadoss/superskills --skill graphify

インストール後、Claude Code で/graphifyを入力して読み込まれたか確認します。

詳細

/graphify

任意のファイルフォルダーを、コミュニティ検出、信頼できる監査証跡、3つの出力ファイル(graph.html、graph.json、GRAPH_REPORT.md)を備えた、ナビゲーション可能なナレッジグラフに変換します。

ソース:safishamsi/graphify

使い方

/graphify                         # full pipeline on current directory
/graphify <path>                  # full pipeline on specific path
/graphify <path> --mode deep      # thorough extraction, richer INFERRED edges
/graphify <path> --update         # incremental — re-process only changed files
/graphify <path> --no-viz         # skip HTML visualization, just report + JSON
/graphify <path> --svg            # also export graph.svg (embeds in Notion, GitHub)
/graphify <path> --neo4j          # generate cypher.txt for Neo4j import
/graphify <path> --watch          # watch folder, auto-rebuild on code changes
/graphify <path> --wiki           # build agent-crawlable wiki (index.md + per-community articles)
/graphify add <url>               # fetch URL, save to ./raw, update graph
/graphify query "<question>"      # BFS traversal — broad context
/graphify query "<question>" --dfs  # DFS — trace a specific path
/graphify explain "<Node>"        # plain-language explanation of a node
/graphify path "A" "B"            # shortest path between two concepts

graphify の用途

graphify は Andrej Karpathy の /raw フォルダーのワークフローを中心に構築されています。論文、コード、スクリーンショット、メモなど、あらゆるものをフォルダーに入れるだけで、何がつながっているのかを見つけられる、構造化されたナレッジグラフが得られます。

Claude 単体ではできない、次の3つの機能があります。

  1. 永続的なグラフ — 関係が graphify-out/graph.json に保存され、セッションをまたいで保持されます
  2. 信頼できる監査証跡 — すべてのエッジに EXTRACTED、INFERRED、または AMBIGUOUS のタグが付けられます
  3. ドキュメント間の意外なつながり — コミュニティ検出により、検索しようとは思わなかったファイル間のつながりが見つかります

ステップ 1 — graphify がインストールされていることを確認する

# Detect the correct Python interpreter
PYTHON=""
GRAPHIFY_BIN=$(which graphify 2>/dev/null)
if [ -z "$PYTHON" ] && command -v uv >/dev/null 2>&1; then
    _UV_PY=$(uv tool run graphifyy python -c "import sys; print(sys.executable)" 2>/dev/null)
    if [ -n "$_UV_PY" ]; then PYTHON="$_UV_PY"; fi
fi
if [ -z "$PYTHON" ] && [ -n "$GRAPHIFY_BIN" ]; then
    _SHEBANG=$(head -1 "$GRAPHIFY_BIN" | tr -d '#!')
    case "$_SHEBANG" in
        *[!a-zA-Z0-9/_.-]*) ;;
        *) "$_SHEBANG" -c "import graphify" 2>/dev/null && PYTHON="$_SHEBANG" ;;
    esac
fi
if [ -z "$PYTHON" ]; then PYTHON="python3"; fi
"$PYTHON" -c "import graphify" 2>/dev/null \
  || "$PYTHON" -m pip install graphifyy -q 2>/dev/null \
  || "$PYTHON" -m pip install graphifyy -q --break-system-packages 2>&1 | tail -3
mkdir -p graphify-out
"$PYTHON" -c "import sys; open('graphify-out/.graphify_python', 'w').write(sys.executable)"

graphify がインストールされておらず、pip でのインストールに失敗した場合は、ユーザーにインストールするよう伝えてください。

uv tool install graphifyy   # recommended
# or: pipx install graphifyy
# or: pip install graphifyy

以降のすべてのステップで、python3 を $(cat graphify-out/.graphify_python) に置き換えてください。

ステップ 2 — ファイルを検出する

$(cat graphify-out/.graphify_python) -c "
import json
from graphify.detect import detect
from pathlib import Path
result = detect(Path('INPUT_PATH'))
print(json.dumps(result))
" > graphify-out/.graphify_detect.json

INPUT_PATH をユーザーが指定したパス(デフォルト:.)に置き換えます。JSON を表示せずに読み取り、簡潔な概要を提示してください。

Corpus: X files · ~Y words
  code:    N files (.py .ts .go ...)
  docs:    N files (.md .txt ...)
  images:  N files

ファイル数が 0 のカテゴリは省略します。その後:

  • total_files が 0 の場合:「[path] に対応しているファイルが見つかりません。」と伝えて終了します。
  • total_words が 2,000,000 を超えるか、total_files が 200 を超える場合:ファイル数が多い上位5つのサブディレクトリを一覧表示し、どのサブフォルダーを対象に実行するかユーザーに尋ねます。回答を待ってください。
  • それ以外の場合:ステップ 3 に進みます。

ステップ 3 — グラフを構築する

$(cat graphify-out/.graphify_python) -m graphify INPUT_PATH [FLAGS]

ユーザーが指定したフラグ(--mode deep、--update、--no-viz など)はそのまま渡します。これにより、AST 抽出、Claude のサブエージェントによる LLM の概念・関係抽出、Leiden コミュニティ検出、エクスポートを含む、パイプライン全体が実行されます。

ユーザーが進行状況を確認できるよう、出力をストリーミングします。大規模なコーパスでは、パイプラインの実行に数分かかることがあります。

ステップ 4 — 結果を報告する

パイプラインの完了後、graphify-out/GRAPH_REPORT.md を読み取り、次の内容を提示してください。

  1. ゴッドノード — 最も多くつながっている概念(コードベースの構造的な基盤)
  2. 意外なつながり — 無関係だと思われる概念間のエッジ
  3. コミュニティの概要 — 各クラスターに含まれるもの
  4. 推奨する質問 — レポートの推奨クエリ

続けて、ユーザーに次の内容を伝えてください。

  • graphify-out/graph.html — 任意のブラウザーで開いて、インタラクティブに探索できます
  • graphify-out/graph.json — /graphify query でクエリ可能な永続グラフです
  • graphify-out/GRAPH_REPORT.md — 平易な言葉で記述された監査レポートです

次のように尋ねます:「今後のセッションで Claude がこのグラフを参照するように、ルールを追加しますか?」はいの場合は、.claude/rules/graphify.md を次の内容で作成します。

Reference graphify-out/graph.json and graphify-out/GRAPH_REPORT.md for knowledge graph context.
Use /graphify query "<question>" to traverse the graph before exploring unfamiliar code paths.

必要に応じて .claude/rules/ を作成してください。

ヒント

  • 増分実行には --update を使用します。変更されたファイルのみ再処理されます
  • より豊富な関係抽出を行うには、小規模なコーパスで --mode deep を使用します
  • graphify add <url> は URL を取得し、全体を再構築せずにグラフへ追加します
  • .graphifyignore でパスを除外できます(構文は .gitignore と同じです)
  • グラフはセッションをまたいで保持されます。graph.json はクエリ可能なインデックスです

コメント