gitnexus-debugging について
コードの不具合、エラー、予期しない動作を調査する GitNexus スキルです。実行フローと呼び出し関係をたどって原因候補を絞り、ソースファイルで確認する手順を支援します。
主な機能
- 01エラーに関連するコードの検索
- 02呼び出し元・呼び出し先・プロセスの表示
- 03リソースを通じた実行フローの追跡
- 04カスタム呼び出しチェーンのクエリ
- 05最近の変更による影響の確認
活用シーン
- 01エラーメッセージの発生元を追跡
- 02500 を返すエンドポイントの調査
- 03断続的な障害の原因調査
- 04リグレッションの影響範囲の確認
MCP 対応
このスキルは、クエリ、コンテキスト確認、Cypher による追跡、変更検出などの GitNexus ツールとプロセスリソースを使ったデバッグを案内します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tony363/ superclaude --skill gitnexus-debuggingインストール後、Claude Code で/gitnexus-debuggingを入力して読み込まれたか確認します。
詳細
GitNexus を使ったデバッグ
使用する場面
- 「この関数が失敗するのはなぜですか?」
- 「このエラーの発生元を追跡してください」
- 「このメソッドを呼び出しているのは誰ですか?」
- 「このエンドポイントが 500 を返します」
- バグ、エラー、または予期しない動作の調査
ワークフロー
1. gitnexus_query({query: "<error or symptom>"}) → Find related execution flows
2. gitnexus_context({name: "<suspect>"}) → See callers/callees/processes
3. READ gitnexus://repo/{name}/process/{name} → Trace execution flow
4. gitnexus_cypher({query: "MATCH path..."}) → Custom traces if needed
「インデックスが古い」と表示された場合は、ターミナルで
npx gitnexus analyzeを実行します。
チェックリスト
- [ ] Understand the symptom (error message, unexpected behavior)
- [ ] gitnexus_query for error text or related code
- [ ] Identify the suspect function from returned processes
- [ ] gitnexus_context to see callers and callees
- [ ] Trace execution flow via process resource if applicable
- [ ] gitnexus_cypher for custom call chain traces if needed
- [ ] Read source files to confirm root cause
デバッグのパターン
| 症状 | GitNexus のアプローチ |
|---|---|
| エラーメッセージ | エラーのテキストを gitnexus_query で検索し、throw 箇所で context を実行します |
| 戻り値が間違っている | 関数で context を実行し、データフローをたどるために呼び出し先を追跡します |
| 断続的な失敗 | context を実行し、外部呼び出しや非同期の依存関係を探します |
| パフォーマンスの問題 | context を実行し、呼び出し元が多いシンボル(ホットパス)を見つけます |
| 最近のリグレッション | detect_changes を実行し、変更が何に影響するかを確認します |
ツール
gitnexus_query — エラーに関連するコードを見つけます:
gitnexus_query({query: "payment validation error"})
→ Processes: CheckoutFlow, ErrorHandling
→ Symbols: validatePayment, handlePaymentError, PaymentException
gitnexus_context — 疑わしい箇所の全コンテキストを取得します:
gitnexus_context({name: "validatePayment"})
→ Incoming calls: processCheckout, webhookHandler
→ Outgoing calls: verifyCard, fetchRates (external API!)
→ Processes: CheckoutFlow (step 3/7)
gitnexus_cypher — カスタムの呼び出しチェーンを追跡します:
MATCH path = (a)-[:CodeRelation {type: 'CALLS'}*1..2]->(b:Function {name: "validatePayment"})
RETURN [n IN nodes(path) | n.name] AS chain
例:「決済エンドポイントが断続的に 500 を返す」
1. gitnexus_query({query: "payment error handling"})
→ Processes: CheckoutFlow, ErrorHandling
→ Symbols: validatePayment, handlePaymentError
2. gitnexus_context({name: "validatePayment"})
→ Outgoing calls: verifyCard, fetchRates (external API!)
3. READ gitnexus://repo/my-app/process/CheckoutFlow
→ Step 3: validatePayment → calls fetchRates (external)
4. Root cause: fetchRates calls external API without proper timeout
コメント
Markdown 対応