code-context-finder について
Code Context Finderは、知識グラフ検索とコード関係の分析を組み合わせたコーディングスキルです。コードベースの調査、デバッグ、変更時に、過去の決定や依存関係、呼び出し元、関連テストを見つけます。
主な機能
- 01必要なコンテキストの自動検出
- 02知識グラフ内のエンティティ検索
- 03インポートと依存関係の分析
- 04呼び出し元とテストの特定
活用シーン
- 01不慣れなモジュールの調査
- 02エラーに関連するコンポーネントの追跡
- 03リファクタリング前の依存関係確認
- 04アーキテクチャ作業で過去の決定を確認
MCP 対応
MCP memoryツールを使い、知識グラフのエンティティ検索・表示や、グラフ上の関係の確認を行います。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 89jobrien/ steve --skill code-context-finderインストール後、Claude Code で/code-context-finderを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/detection-triggers.mdsearch-patterns.mdscripts/find-code-relationships.py詳細
コードコンテキストファインダー
概要
ナレッジグラフ検索とコードの関係性分析を組み合わせ、コーディング中に関連するコンテキストを見つけて提示します。追加のコンテキストが役立つ場面をスマート検出で特定し、次の情報を取得します。
- ナレッジグラフのエンティティ:過去の決定事項、プロジェクトのコンテキスト、関連する概念
- コードの関係性:依存関係、インポート、関数呼び出し、クラス階層
使用する場面(スマート検出)
次の状況を検出すると、このスキルが自動的に起動します。
| トリガー | 検索する内容 |
|---|---|
| 不慣れなファイルを開く | ファイル/モジュールのコンテキストをナレッジグラフで、インポート/依存関係をコードで検索 |
| 新機能に取り組む | 過去の決定事項、関連する概念、類似の実装 |
| エラーをデバッグする | 関連する問題、エラーパターン、影響を受けるコンポーネント |
| コードをリファクタリングする | 依存ファイル、呼び出し元/呼び出し先、テストカバレッジ |
| アーキテクチャ上の決定を行う | 過去の ADR、関連する設計ドキュメント、確立されたパターン |
| 設定/インフラストラクチャファイルを扱う | 関連するデプロイ、環境に関するメモ、過去の問題 |
検出トリガーの詳細については、references/detection_triggers.md を読み込んでください。
基本的なワークフロー
1. コンテキストの必要性を検出する
コンテキストが役立つことを示すトリガーを特定します。
Signals to watch:
- New/unfamiliar file opened
- Error messages mentioning unknown components
- Questions about "why" or "how" something works
- Changes to shared/core modules
- Architectural or design discussions
2. ナレッジグラフを検索する
MCP メモリツールを使って、関連するエンティティを見つけます。
# Search for related context
mcp__memory__search_nodes(query="<topic>")
# Open specific entities if known
mcp__memory__open_nodes(names=["entity1", "entity2"])
# View relationships
mcp__memory__read_graph()
検索方法:
- モジュール/ファイル名 → プロジェクトのコンテキスト
- エラーの種類 → 過去の問題、解決策
- 機能名 → 過去の決定事項、理由
- 人名 → 担当範囲、専門知識
3. コードの関係性を分析する
コードレベルのコンテキストを見つけます。
# Find what imports this module
grep -r "from module import" --include="*.py"
grep -r "import module" --include="*.py"
# Find function callers
grep -r "function_name(" --include="*.py"
# Find class usages
grep -r "ClassName" --include="*.py"
# Find test coverage
find . -name "*test*.py" -exec grep -l "module_name" {} \;
一般的な検索パターンについては、references/search_patterns.md を読み込んでください。
4. コンテキストをまとめる
調査結果を簡潔に提示します。
## Context Found
**Knowledge Graph:**
- [Entity]: Relevant observation
- [Decision]: Prior architectural choice
**Code Relationships:**
- Imported by: file1.py, file2.py
- Depends on: module_a, module_b
- Tests: test_module.py (5 tests)
**Suggested Actions:**
- Review [entity] before modifying
- Consider impact on [dependent files]
クイックリファレンス
ナレッジグラフのクエリ
| 目的 | クエリパターン |
|---|---|
| プロジェクトのコンテキストを探す | search_nodes("project-name") |
| 過去の決定事項を探す | search_nodes("decision") または search_nodes("<feature>") |
| 関連する概念を探す | search_nodes("<concept>") |
| 人物/担当者を探す | search_nodes("<person-name>") |
| すべてを閲覧する | read_graph() |
コードの関係性に関するクエリ
| 目的 | コマンド |
|---|---|
| インポート元を探す | grep -r "from X import|import X" |
| 呼び出し元を探す | grep -r "function(" |
| 実装を探す | grep -r "def function|class Class" |
| テストを探す | find -name "*test*" -exec grep -l "X" |
| 設定を探す | grep -r "X" *.json *.yaml *.toml |
コーディングワークフローとの連携
変更を加える前
- ナレッジグラフで、モジュール/機能に関するコンテキストを確認する
- 対象をインポートまたは依存しているすべてのファイルを見つける
- 関連するテストを特定する
- アーキテクチャに関わる場合は、過去の決定事項を確認する
変更を加えた後
- 重要な決定を行った場合は、ナレッジグラフを更新する
- 新しいパターンや学びを記録する
- 既存のエンティティに所見を追加する
デバッグするとき
- 類似のエラーがないか、ナレッジグラフを検索する
- 影響を受けるコンポーネントに至るすべてのコードパスを見つける
- 関連する問題/決定事項を確認する
- 新しい解決策であれば、記録する
リソース
references/
detection_triggers.md- スマート検出の詳細なトリガーパターンsearch_patterns.md- コードの関係性を調べる一般的な検索パターン
scripts/
find_code_relationships.py- インポート、依存関係、呼び出しグラフを分析します
コメント
Markdown 対応