新規プロジェクトに投入された時、200,000行のコードベースを前にどこから読み始めるかは多くの開発者が直面する問題だ。Understand Anythingは、この「コードを読む」という行為そのものを再定義するClaude Codeプラグインとして、2026年4月時点で9,050スターを集めている。
この記事はClaude Codeプラグインを扱うクラスタ記事です。Claude Code全体の使い方はClaude Code完全ガイド2026:インストールから本番運用までをご覧ください。
Lum1104/Understand-Anythingは、コードベース全体をマルチエージェントパイプラインで解析し、ファイル・関数・クラス・依存関係を対話型ナレッジグラフとして可視化するオープンソースツールだ。Claude Code、Codex、Cursor、GitHub Copilot、Gemini CLI、Antigravity、Pi Agentなど10種類のAIコーディングプラットフォームで動作し、生成したグラフはJSONとしてGitにコミットしてチームで共有できる。
本記事では、リポジトリの設計思想、6種類のエージェントの役割、ナレッジベース解析機能、他の類似ツールとの違い、そして実運用での活用シナリオまでをまとめる。
Understand Anythingが解決する問題:「コードを読む」から「コードを探索する」へ
Understand Anythingの設計思想は、READMEの一行で端的に表現されている。
Graphs that teach > graphs that impress.(学ばせるグラフが、見栄えのするグラフに勝る)
つまり、装飾的な可視化ツールではなく学習補助ツールとして設計されている、という宣言だ。新規参画者や別プロジェクトから来た開発者が、巨大なコードベースを「最初の1行から順に読む」のではなく、「全体構造を把握してから興味のある部分にズームインする」ことを支援する。
この方針は、似たような目的を持つ既存ツールとの差別化ポイントでもある。
20万行のコード"] --> B["従来:READMEを読む
→ファイルを開く
→grep する"] A --> C["Understand Anything
マルチエージェント解析"] B --> D["全体像が掴めない
1〜2週間迷子になる"] C --> E["対話型グラフで
構造をひと目で把握"] E --> F["気になるノードを
クリックで深掘り"] F --> G["数時間で
主要な責務を理解"] style C fill:#4a9eff,color:#fff style E fill:#6af776,color:#000 style G fill:#6af7f0,color:#000
「グラフは見栄えではなく学習効率を最大化するために存在する」——これがUnderstand Anythingの根幹にある哲学だ。
実際、リポジトリには「You just joined a new team. The codebase is 200,000 lines of code. Where do you even start?」(新しいチームに加わったあなたの前にあるのは20万行のコード。どこから始める?)という問いがそのまま貼られている。Understand Anythingはこの問いに対する具体的な回答として位置づけられている。
構造グラフと業務ドメイングラフ:2つの視点でコードを見る
Understand Anythingが提供するビューは大きく2種類ある。それぞれの違いを理解することが、ツールを使いこなす最初のステップだ。
Structural Graph(構造グラフ)
ファイル・関数・クラス・依存関係を、技術的な視点でマッピングしたビュー。アーキテクチャレイヤー(API・Service・Data・UI・Utility)ごとに色分けされ、ノードをクリックするとプレーンな英語での要約と関連ノードが表示される。
クラス図やUML依存図に近いが、決定的に違う点が2つある。1つは意味的なノード説明——AIエージェントが各ノードに自然言語の要約を付与する。2つ目はガイドツアー機能——依存順に並んだ自動ウォークスルーが生成され、「読むべき順序」を学べる。
Domain Graph(業務ドメイングラフ)
技術的な構造ではなく、業務プロセス視点でコードをマッピングしたビュー。「決済フロー」「ユーザー登録フロー」「商品検索」のようなドメインごとに、関わる関数・APIエンドポイント・DBテーブルを横方向のフローとして並べる。
PMやドメインエキスパートと会話する時、開発者がDomain Graphを見せながら「このフローのこのステップが原因ですね」と説明できれば、技術的な詳細を知らない相手にも問題の所在を共有できる。
バグ修正・リファクタリング・パフォーマンス改善は Structural Graph が向く。新機能の影響範囲ヒアリング、PM/QA とのコミュニケーション、業務要件のレビューは Domain Graph が向く。同じコードベースを2つの視点で同時に持てる点が、Understand Anything 最大の独自性だ。
マルチエージェントパイプライン:6つの専門エージェントが協調する
/understandコマンドを実行すると、6種類の専門エージェントが順に動作する。エージェントごとに役割が分かれているのが設計のポイントだ。
| エージェント | 役割 |
|---|---|
project-scanner |
プロジェクト全体をスキャンし、使用言語・フレームワークを検出 |
file-analyzer |
ファイル単位で関数・クラス・importを抽出し、グラフのノードとエッジを生成 |
architecture-analyzer |
API/Service/Data等のアーキテクチャレイヤーを識別 |
tour-builder |
依存関係順に並んだガイドツアー(学習用ウォークスルー)を生成 |
graph-reviewer |
グラフの完全性・参照整合性を検証(デフォルトは軽量検証) |
domain-analyzer |
業務ドメイン・フロー・プロセスステップを抽出(/understand-domainで起動) |
実行"] --> B["project-scanner
言語・FW検出"] B --> C["file-analyzer
並列5プロセス
20-30ファイル/バッチ"] C --> D["architecture-analyzer
レイヤー識別"] D --> E["tour-builder
学習ツアー生成"] E --> F["graph-reviewer
整合性チェック"] F --> G["knowledge-graph.json
に保存"] G --> H["/understand-dashboard
で可視化"] style A fill:#7c6af7,color:#fff style C fill:#f7a76a,color:#000 style G fill:#6af776,color:#000
並列実行とインクリメンタル更新
file-analyzerは最大5プロセス並列で動作し、1バッチあたり20〜30ファイルを処理する。10万行規模のリポジトリでも、解析時間は分単位に収まる設計だ。
さらに重要なのがインクリメンタル更新だ。最後の解析以降に変更されたファイルだけを再解析するため、巨大コードベースでも継続的にグラフを最新化できる。/understand --auto-updateを有効化すれば、Gitのpost-commitフックで差分が自動的にグラフへ反映される。
Wikiやナレッジベースも解析できる
/understand-knowledgeコマンドは、コードではなくMarkdownベースのナレッジベースを解析する。Andrej Karpathy氏が公開した「LLM Wiki」のような相互リンク型のWikiを対象に、article-analyzerエージェントがエンティティ・主張・暗黙的関係性を抽出し、コミュニティクラスタリング付きの力学モデルグラフ(force-directed graph)を生成する。
社内のConfluence・Notion・Obsidianといった知識ベースからindex.md形式でエクスポートしたものを食わせれば、知識の地図が得られる。
ダッシュボードのコア機能:6つの探索パターン
/understand-dashboardを実行すると、ブラウザでインタラクティブダッシュボードが開く。READMEで強調されている6つの機能を順に見ていこう。
Guided Tours(ガイドツアー)
依存順に並んだ自動ウォークスルー。「このリポジトリを読むならこの順番」というガイドが自動生成されるため、新規参画者がREADME・GETTING_STARTEDだけでは掴めない実装の文脈を学習できる。
Fuzzy & Semantic Search(あいまい・意味検索)
ノード名のあいまい検索に加え、「認証を担当している部分は?」のような自然言語クエリで意味検索ができる。リポジトリ内のgrepでは見つからない関連コードも、ベクトル検索で発見できる仕組みだ。
Diff Impact Analysis(差分影響分析)
/understand-diffコマンドで、未コミットの変更がシステムのどの部分に影響するかを可視化する。コミット前にリプル効果を確認できるため、PRレビューの事前準備として強力だ。
Persona-Adaptive UI(ペルソナ適応UI)
ジュニア開発者・PM・パワーユーザーといったペルソナに応じて表示の詳細度が切り替わる。同じグラフでも、PMには高レベルなドメインビューを、ジュニア開発者には依存関係の入門解説を優先表示する設計だ。
Layer Visualization(レイヤー可視化)
API・Service・Data・UI・Utilityといったアーキテクチャレイヤーで自動グルーピングし、色分けする。レイヤー違反(UIから直接DBアクセスするなど)を視覚的に見つけられる。
Language Concepts(言語概念の文脈解説)
12種類のプログラミングパターン(Generics、Closure、Decorator、Observerなど)を、コードに登場する文脈ごとに解説する。新言語を学ぶエンジニアが、概念を抽象的に理解するのではなく実装例とセットで把握できる仕組みだ。
これら6機能の組み合わせが、Understand Anythingを「単なるコード可視化」から「コード学習プラットフォーム」へと押し上げる。
10プラットフォーム対応:Claude Code以外の環境でも動く
Understand AnythingはClaude Codeネイティブを謳っているが、実際には10種類のAIコーディング環境に対応している。
| プラットフォーム | ステータス | インストール方法 |
|---|---|---|
| Claude Code | ✅ ネイティブ | /plugin marketplace add Lum1104/Understand-Anything |
| Codex | ✅ サポート | AI主導インストール(INSTALL.md取得) |
| OpenCode | ✅ サポート | AI主導インストール |
| OpenClaw | ✅ サポート | AI主導インストール |
| Cursor | ✅ サポート | リポジトリクローン(自動検出) |
| VS Code + GitHub Copilot | ✅ サポート | リポジトリクローン(自動検出) |
| Copilot CLI | ✅ サポート | copilot plugin install |
| Antigravity | ✅ サポート | AI主導インストール |
| Gemini CLI | ✅ サポート | AI主導インストール |
| Pi Agent | ✅ サポート | AI主導インストール |
Claude Code以外への導入はほとんどが「AI主導インストール」というユニークな方式を採る。たとえばCodexの場合、ユーザーがCodexに対して以下のように指示するだけだ。
Fetch and follow instructions from https://raw.githubusercontent.com/Lum1104/Understand-Anything/refs/heads/main/.codex/INSTALL.md
エージェント自身が公式のINSTALL.mdを取得して手順を実行する。手作業でのファイル配置やパスの設定が不要で、エージェントの指示追従能力に依存した「セルフインストール」となっている。Cursor・VS Codeに至っては.cursor-plugin/plugin.json/.copilot-plugin/plugin.jsonがリポジトリに含まれているため、クローンするだけで自動認識される。
Anthropic公式のAnthropic SkillsがClaude系(API/CLI/Web)に閉じているのに対し、Understand Anythingは「ナレッジグラフ」というユースケースに特化することで全プラットフォームに広げる戦略を採る。Cursorユーザー、Copilotユーザー、Gemini CLIユーザーが同じグラフ仕様で会話できる「共通言語」を提供する位置づけだ。
チームでの活用:JSONをGitにコミットして共有する
Understand Anythingの運用面で重要なのが、生成したグラフはJSONファイルなのでGitで共有できるという点だ。
共有ワークフロー
- リードエンジニアが初回の
/understandを実行 - 生成された
.understand-anything/knowledge-graph.jsonをGitにコミット - チームメンバーはリポジトリをクローンし、
/understand-dashboardで同じグラフを開く
これにより、チームメンバー全員が解析パイプラインを実行せずに済む。AIコーディングプラットフォームのトークン消費を1人分に集約できるため、コストメリットも大きい。
# 中間ファイルとローカル専用差分はコミットしない
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
実際のリファレンスとして、READMEにはGoogleCloudPlatform/microservices-demoのフォークが示されている。Go・Java・Python・Node混在の参考実装で、グラフがコミット済みなのでクローンしてすぐにダッシュボードを開ける。
大規模グラフの取り扱い
10MBを超えるグラフはgit-lfsで管理することが推奨される。
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
リポジトリのコミットサイズが膨れ上がるのを避けつつ、グラフの履歴を追跡できる仕組みだ。
レビュアーは
/understand-diff でPRの影響範囲をグラフ上で確認できる。「この変更がauthモジュール経由で課金処理に波及する」といったリプル効果が視覚的にわかるため、テキスト差分だけでは見落としがちなアーキテクチャ違反やレイヤー横断の依存をキャッチできる。
既存のコード解析・スキル系OSSとの違い
AIコーディング向けスキル集や解析ツールは複数存在する。Understand Anythingの位置づけを整理しよう。
| ツール | フォーカス | 出力形式 | 主要差別化点 |
|---|---|---|---|
| Understand Anything | コード&知識のグラフ化 | 対話型JSON+ダッシュボード | 6エージェント・Domainビュー・ガイドツアー |
| Anthropic Skills | Claudeの能力拡張 | Markdownスキル定義 | docx/pptx生成等の汎用拡張 |
| mattpocock/skills | TS開発プロセス強化 | スラッシュコマンド | TDD・型設計重視 |
| addy-osmani/agent-skills | エンジニアリング哲学注入 | 6フェーズ20スキル | アンチ合理化テーブル |
| 従来のコードグラフ系OSS | 静的依存図 | SVG/PNG | エージェント解析なし |
Anthropic SkillsはClaudeの汎用能力を拡張する位置づけで、ドキュメント生成や設計レビューにも使える広いスコープを持つ。一方Understand Anythingは「コードベースの知識グラフ化」という単一ユースケースに特化しており、Anthropic Skillsとは補完関係にある。
mattpocock/skillsやaddyosmani/agent-skillsはエンジニアリングプロセスにフォーカスしたスキル集で、書き方・テスト・レビューのプロセス改善を志向する。Understand Anythingは現状把握を志向するツールであり、これらと組み合わせると「現状把握→プロセス強化→品質ゲート適用」という流れが完成する。
従来の静的解析ツール(dependency-cruiser、Source Trail、Sourcegraphなど)と比べると、Understand Anythingはエージェントによる意味的な解説とドメイン抽出を持つ点が決定的に異なる。「依存図はあるが、何のための依存かはコードを読まないとわからない」という静的解析の限界を、AIエージェントで補強している。
結論:Understand Anythingは「現状把握」のレイヤーを担い、スキル系OSSは「プロセス改善」のレイヤーを担う。両者は競合せず、層をなして共存する。
実運用シナリオ:3つの典型的なユースケース
最後に、Understand Anythingが特に効果を発揮する3つのシナリオを紹介する。
シナリオ1:新規参画オンボーディング
新メンバーがリポジトリにアクセスした初日、/understand-dashboardを開いてもらう。Guided Toursで依存順にコードを案内し、Domain Graphで担当する業務領域に絞り込む。1週間の独習で済む内容を、初日の数時間で把握できる。
リード側は/understand-onboardコマンドで新規参画者向けのオンボーディングガイドを自動生成することも可能だ。
シナリオ2:レガシー巨大リポジトリのリファクタリング判断
何百万行の老朽化したリポジトリで、どこから手をつけるかを決める場面。Layer Visualizationでアーキテクチャ違反(UIから直接DB呼び出しなど)を可視化し、影響度の高いノードから着手する。Diff Impact Analysisで「リファクタしても他に波及しない」モジュールを優先することで、リスクを抑えつつ改善できる。
シナリオ3:PMやステークホルダーとの会話
非エンジニアと議論する際、コードを見せても会話が成立しない。Domain Graphで「決済フロー」「在庫管理」のような業務単位の地図を見せることで、機能の追加・変更が「どのフローのどのステップに影響するか」を視覚的に共有できる。スプリント計画やスコープ調整の議論が短時間で済む。
Understand Anythingのプラグイン自体はMITライセンスで無料だが、マルチエージェントパイプラインの実行はあなたが使うAIプラットフォームのトークンを消費する。10万行規模のリポジトリで初回解析を行うとAnthropic APIなら数ドル〜数十ドル単位のコストが発生し得る。ただしJSONをチームで共有すれば1人分のコストで済む点が大きい。トークン最適化ガイドと組み合わせると、巨大コードベースでも費用対効果を維持しやすい。
導入の最初の一歩
Claude Codeユーザーであれば、導入はわずか2行だ。
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
その後/understandを実行すればパイプラインが動き、/understand-dashboardでグラフが開く。最初は小さめのリポジトリ(数千〜1万行程度)から試すのがおすすめだ。トークン消費が少なく、ツールの挙動が把握しやすい。
慣れてきたら以下のコマンドを順に試そう。
/understand-chat— コードベースに自然言語で質問/understand-diff— 未コミット変更の影響範囲を可視化/understand-explain <path>— 特定ファイル/関数の詳細解説/understand-onboard— オンボーディングガイドを自動生成/understand-domain— 業務ドメインの抽出/understand-knowledge— Karpathy形式Wikiやナレッジベースの解析
「読む」を「探索する」に置き換えるという発想は、AIコーディングが普及する2026年以降の開発スタイルとして大きな意味を持つ。コードと向き合う時間が長い開発者ほど、このツールから受けられる恩恵は大きいはずだ。
Tipsと運用上の注意点
実運用で得たい効果を最大化するため、いくつかのTipsを共有する。
初回解析は小さなスコープで:いきなり全リポジトリに/understandを当てると、トークン消費とパイプライン時間が読みにくい。最初はpackages/coreのように単一サブディレクトリに対象を絞り、グラフのアウトプットと操作感を確認してから全体に広げる。
graph-reviewerの--reviewオプション:デフォルトでは軽量な整合性チェックだけが走るが、参照漏れやノードの重複が気になる本番運用前には--reviewオプションで完全レビューを走らせる。トークンは増えるが、グラフの完全性が大きく上がる。
ペルソナとUIの切り替え:ペルソナ適応UIは「最初に表示される情報量」が変わるだけで、深掘りすれば全員が同じ情報にアクセスできる。「ジュニア向けが情報を隠している」と誤解されないよう、チーム導入時には設計意図を共有しておくとよい。
/understand-knowledgeの意外な使い道:コードレポジトリではなく、社内WikiやAGENTS.md集、設計ドキュメント群に対しても使える。Markdown形式のナレッジベースさえあれば、その分野の知識マップが自動生成される点はDocs as Codeを実践しているチームに刺さるはずだ。