gitnexus-impact-analysis について
依存関係と実行フローを分析し、コード変更の影響を評価するGitNexusスキルです。開発者が変更やコミットの前に、シンボルへの影響、対象範囲、リスクを確認できるよう手順を示します。
主な機能
- 01シンボルの依存関係を追跡
- 02依存の深さ別に影響を分析
- 03影響を受ける実行フローを確認
- 04Gitの変更をフローに対応付け
- 05変更リスクを評価
活用シーン
- 01関数変更前に呼び出し元を確認
- 02コミット前に影響するフローを確認
- 03コード変更のリスクを見積もる
MCP 対応
GitNexus MCPツールのgitnexus_impactとgitnexus_detect_changesを使い、リポジトリのprocessesリソースを参照して影響を受ける実行フローを特定します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tony363/ superclaude --skill gitnexus-impact-analysisインストール後、Claude Code で/gitnexus-impact-analysisを入力して読み込まれたか確認します。
詳細
GitNexus による影響分析
使用する場面
- 「この関数を変更しても安全ですか?」
- 「X を変更すると、何が壊れますか?」
- 「影響範囲を示してください」
- 「このコードを使用しているのは誰ですか?」
- 大幅なコード変更を行う前
- コミットする前 — 変更が何に影響するかを把握するため
ワークフロー
1. gitnexus_impact({target: "X", direction: "upstream"}) → What depends on this
2. READ gitnexus://repo/{name}/processes → Check affected execution flows
3. gitnexus_detect_changes() → Map current git changes to affected flows
4. Assess risk and report to user
「インデックスが古くなっています」と表示された場合は、ターミナルで
npx gitnexus analyzeを実行してください。
チェックリスト
- [ ] gitnexus_impact({target, direction: "upstream"}) to find dependents
- [ ] Review d=1 items first (these WILL BREAK)
- [ ] Check high-confidence (>0.8) dependencies
- [ ] READ processes to check affected execution flows
- [ ] gitnexus_detect_changes() for pre-commit check
- [ ] Assess risk level and report to user
出力の理解
| 深さ | リスクレベル | 意味 |
|---|---|---|
| d=1 | 必ず壊れます | 直接の呼び出し元/インポーター |
| d=2 | 影響を受ける可能性が高い | 間接的な依存関係 |
| d=3 | テストが必要な場合があります | 推移的な影響 |
リスク評価
| 影響を受ける範囲 | リスク |
|---|---|
| シンボル数が 5 未満、プロセス数が少ない | 低 |
| シンボル数が 5~15、プロセス数が 2~5 | 中 |
| シンボル数が 15 超、またはプロセス数が多い | 高 |
| クリティカルパス(認証、決済) | 重大 |
ツール
gitnexus_impact — シンボルの影響範囲を調べる主要なツールです。
gitnexus_impact({
target: "validateUser",
direction: "upstream",
minConfidence: 0.8,
maxDepth: 3
})
→ d=1 (WILL BREAK):
- loginHandler (src/auth/login.ts:42) [CALLS, 100%]
- apiMiddleware (src/api/middleware.ts:15) [CALLS, 100%]
→ d=2 (LIKELY AFFECTED):
- authRouter (src/routes/auth.ts:22) [CALLS, 95%]
gitnexus_detect_changes — git diff に基づく影響分析です。
gitnexus_detect_changes({scope: "staged"})
→ Changed: 5 symbols in 3 files
→ Affected: LoginFlow, TokenRefresh, APIMiddlewarePipeline
→ Risk: MEDIUM
例:「validateUser を変更すると、何が壊れますか?」
1. gitnexus_impact({target: "validateUser", direction: "upstream"})
→ d=1: loginHandler, apiMiddleware (WILL BREAK)
→ d=2: authRouter, sessionManager (LIKELY AFFECTED)
2. READ gitnexus://repo/my-app/processes
→ LoginFlow and TokenRefresh touch validateUser
3. Risk: 2 direct callers, 2 processes = MEDIUM
コメント
Markdown 対応