gitnexus-impact-analysis について
gitnexus-impact-analysisは、GitNexusでコード変更の影響を調べる開発者やコーディングエージェント向けのワークフロースキルです。シンボル依存関係、実行フロー、Git差分を確認し、リスク評価を支援します。
主な機能
- 01シンボル依存関係と影響範囲の分析
- 02実行フローの確認
- 03Git差分による変更影響の分析
- 04深さと信頼度に基づくリスク確認
活用シーン
- 01関数変更前の依存関係の確認
- 02コミット前の影響フローの確認
- 03変更による直接・間接リスクの見積もり
MCP 対応
impactやdetect_changesなどのGitNexus MCPツールを使い、リポジトリのプロセスリソースを参照して影響を受けるコードと実行フローを特定します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ arenukvern/ mcp_flutter --skill gitnexus-impact-analysisインストール後、Claude Code で/gitnexus-impact-analysisを入力して読み込まれたか確認します。
詳細
GitNexus による影響分析
使用する場面
- 「この関数を変更しても安全ですか?」
- 「X を変更すると何が壊れますか?」
- 「影響範囲を見せてください」
- 「このコードを使っているのは誰ですか?」
- 大規模なコード変更を行う前
- コミットする前 — 変更による影響を把握するため
ワークフロー
1. impact({target: "X", direction: "upstream"}) → What depends on this
2. READ gitnexus://repo/{name}/processes → Check affected execution flows
3. detect_changes() → Map current git changes to affected flows
4. Assess risk and report to user
「インデックスが古い」と表示された場合 → ターミナルで
node .gitnexus/run.cjs analyzeを実行します。
チェックリスト
- [ ] 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
- [ ] 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 個のシンボル、または多数のプロセス | 高 |
| クリティカルパス(認証、決済) | 重大 |
ツール
impact — シンボルの影響範囲を調べる主要なツールです。
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%]
detect_changes — git diff に基づく影響分析です。
detect_changes({scope: "staged"})
→ Changed: 5 symbols in 3 files
→ Affected: LoginFlow, TokenRefresh, APIMiddlewarePipeline
→ Risk: MEDIUM
例:「validateUser を変更すると何が壊れますか?」
1. 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 対応