gitnexus-impact-analysis について
gitnexus-impact-analysis は、コード変更の影響を評価する開発者向けの GitNexus スキルです。上流の依存関係と影響を受ける実行フローを追跡し、編集やコミット前のリスク評価を支援します。
主な機能
- 01シンボルの上流依存先を特定
- 02影響を受ける実行フローの確認
- 03Git の変更をフローに対応付け
- 04深さと確信度に基づく影響評価
- 05ステージ済み変更の確認
活用シーン
- 01関数変更前のリスク評価
- 02影響を受ける可能性のある直接の呼び出し元を特定
- 03コミット前に影響対象のフローを確認
- 04コード変更の影響範囲を見積もる
MCP 対応
このスキルは GitNexus の impact と detect_changes ツールを使い、リポジトリのプロセスリソースを読んで影響を受ける実行フローを調べます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindfold-ai/ trellis --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 対応