Community研究&データ分析github.com

duongphuhiep/dakubo-skills

コード上の特定のシンボルやコード位置から、そこに到達可能なすべてのエントリポイント(HTTPコントローラー、main関数、ページコンポーネント、ルートなど)までの完全な呼び出しチェーンを追跡します。CodeGraphでインデックスされたあらゆる言語で動作します。関数、メソッド、クラスを変更する前の影響範囲分析に使用します。

dakubo-skills とは?

このスキルは、CodeGraphによってインデックスされたコードベースにおいて、特定のシンボルやコード位置からそれを呼び出すすべてのエントリポイントまでを再帰的に追跡することで、完全な呼び出しチェーンを可視化します。これにより、開発者は関数やメソッド、クラスを変更する前に、その変更がシステム全体に与える影響(blast radius)を正確に把握できます。対応言語はC#、Java、Kotlin、Go、TypeScript、JavaScript、Rust、C、C++、Vue、JSX、TSX、Terraform、Helm YAMLなど多岐にわたります。スクリプトはBunで実行され、内部で`bun:sqlite`を使用します。呼び出しチェーンの探索は、ルートノード、言語名パターン(例:`*Controller`、`main`)、呼び出し元の不在、深さ制限(6ホップ)、サイクル検出などの条件で自動的に停止します。このスキルを利用するには、プロジェクトにCodeGraphがインデックスされている必要があります(`.codegraph/`ディレクトリの存在)。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/duongphuhiep/dakubo-skills/tree/HEAD/package/skills/dakubo-find-call-chain

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

このスキルは Bun が必要です。スクリプトは bun:sqlite を使用します。

指定されたコード位置から、そこに到達可能なすべてのエントリポイントまでの呼び出しチェーンを追跡します。

対応言語: CodeGraphでインデックスされたあらゆる言語(C#、Java、Kotlin、Go、TypeScript、JavaScript、Rust、C、C++、Vue、JSX、TSX、Terraform、Helm YAML、…)

入力: シンボル名、ファイルパス、または file:line 参照。例:

  • FindToolNameCollisions
  • ToolsMappingExtensions.cs:145
  • src/services/auth.ts:89
  • CheckCertificate

必要条件: このプロジェクトに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 とマーク

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

duongphuhiep/dakubo-skills

Use when the user wants to respond to a code review remark by adding a clarifying comment to the source code — so the reviewer understands the reasoning and won't raise the same remark again. Triggers on "answer remark #N", "add comment to address reviewer concern", "document why we did X", or any request to resolve a review finding through in-code explanation rather than a code change.

duongphuhiep/dakubo-skills

Use when the user wants to reply to a code review remark on a GitHub pull request and resolve its thread. Triggers on "answer remark #N in the PR", "reply to the reviewer", or "resolve this review comment".

duongphuhiep/dakubo-skills

Use when the user wants to see unresolved PR comments, review remarks, or outstanding feedback on a pull request.

duongphuhiep/dakubo-skills

Consolidates multiple fragmented OpenSpec capability folders under openspec/specs/ into a single main feature spec, through a staged/approved workflow. Use this whenever the user says openspec/specs/ is cluttered, has too many similar or overlapping capability folders, asks to merge/consolidate/combine specs, wants to clean up specs split across several separate change archives (e.g. specs/user-show/, specs/user-detail/ that should really be one specs/user-management/), or asks to check/apply a pending merged spec under openspec/specs/.merged-specs/. Do NOT use this for a normal single /opsx:archive of one change — only for merging several already-archived, already-existing spec folders together.

関連スキル