mcpField
C
code-context-finder

code-context-finder

github.com/89jobrien開発437 回インストール9 週間前に更新
リポジトリ

code-context-finder について

Code Context Finderは、知識グラフ検索とコード関係の分析を組み合わせたコーディングスキルです。コードベースの調査、デバッグ、変更時に、過去の決定や依存関係、呼び出し元、関連テストを見つけます。

主な機能

  1. 01必要なコンテキストの自動検出
  2. 02知識グラフ内のエンティティ検索
  3. 03インポートと依存関係の分析
  4. 04呼び出し元とテストの特定

活用シーン

  1. 01不慣れなモジュールの調査
  2. 02エラーに関連するコンポーネントの追跡
  3. 03リファクタリング前の依存関係確認
  4. 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.md
search-patterns.md
scripts/
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

コーディングワークフローとの連携

変更を加える前
  1. ナレッジグラフで、モジュール/機能に関するコンテキストを確認する
  2. 対象をインポートまたは依存しているすべてのファイルを見つける
  3. 関連するテストを特定する
  4. アーキテクチャに関わる場合は、過去の決定事項を確認する
変更を加えた後
  1. 重要な決定を行った場合は、ナレッジグラフを更新する
  2. 新しいパターンや学びを記録する
  3. 既存のエンティティに所見を追加する
デバッグするとき
  1. 類似のエラーがないか、ナレッジグラフを検索する
  2. 影響を受けるコンポーネントに至るすべてのコードパスを見つける
  3. 関連する問題/決定事項を確認する
  4. 新しい解決策であれば、記録する

リソース

references/
  • detection_triggers.md - スマート検出の詳細なトリガーパターン
  • search_patterns.md - コードの関係性を調べる一般的な検索パターン
scripts/
  • find_code_relationships.py - インポート、依存関係、呼び出しグラフを分析します

コメント