このスキルは Bun が必要です。スクリプトは bun:sqlite を使用します。
指定されたコード位置から、そこに到達可能なすべてのエントリポイントまでの呼び出しチェーンを追跡します。
対応言語: CodeGraphでインデックスされたあらゆる言語(C#、Java、Kotlin、Go、TypeScript、JavaScript、Rust、C、C++、Vue、JSX、TSX、Terraform、Helm YAML、…)
入力: シンボル名、ファイルパス、または file:line 参照。例:
FindToolNameCollisionsToolsMappingExtensions.cs:145src/services/auth.ts:89CheckCertificate
必要条件: このプロジェクトにCodeGraphがインデックスされていること(.codegraph/ ディレクトリが存在すること)。存在しない場合は、ユーザーに codegraph init を実行するよう伝えてください。
手順
1. スクリプトを実行する
スクリプトは、このスキルのベースディレクトリにある scripts/find-call-chain.ts です。カレントフォルダから .codegraph/ を検出するため、プロジェクトフォルダから実行してください:
bun <skill-base-directory>/scripts/find-call-chain.ts "<input>"
出力はそのままユーザーに表示してください。
2. 複数のシンボルが一致した場合
スクリプトが「Multiple symbols matched」と出力した場合、表示された候補をリストアップし、ユーザーに希望するシンボルを file:line 参照で再実行するよう依頼してください。
3. シンボルが見つからない場合
スクリプトが「No symbol found」で終了した場合:
- 別のスペルや
file:line参照を試す - CodeGraphが最新であることを確認する:
codegraph index
末端ノードの検出(スクリプトに組み込み — LLMの判断は不要)
スクリプトは、以下の条件でブランチの探索を停止します:
| 条件 | 例 |
|---|---|
kind = route(CodeGraphネイティブ) | 任意のフレームワークのルートノード |
| 言語名パターンの一致 | *Controller (C#/Java)、*Activity (Kotlin)、main (Go/Rust/C)、*Page/*Route (TS/JS) |
| 呼び出し元が見つからない | コールグラフの末端ノード |
| 深さ制限(6ホップ) | ツリー内で ⚠ depth cap とマーク |
| サイクルを検出 | ツリー内で ⟳ cycle とマーク |