Skip to main content

ix-impact

Change risk analysis — blast radius, affected systems, and what to test. Depth scales with risk level; low-risk targets stop early.

Zur Installation springen

Quellinformationen

Repository
ix-infrastructure/ix-cursor-plugin
Letzte Quellaktivität
24. April 2026 um 21:13
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
ix-impact
description
Change risk analysis — blast radius, affected systems, and what to test. Depth scales with risk level; low-risk targets stop early.
argument-hint
<symbol or file path to assess change risk for> [--save [path]]
## Argument parsing Strip `--save` and any following path token from `$ARGUMENTS` before resolving the target. - If `--save <path>` is present, set `SAVE_PATH` to that path. - If `--save` is present without a path, auto-generate `ix-impact-<target-slug>.md` in cwd (target slug = the target with spaces and slashes replaced by `-`). - If `--save` is absent, `SAVE_PATH` is empty — do not write a file. ## Pro check (optional) Call `ix_briefing` with `{}`. If `ok` is `true`, Pro is available. Extract `data.plans` for use in Pro steps below. If it returns `ok: false`, skip all **[Pro]** labeled steps. ## Goal Answer: *what breaks if this changes, and is it safe to proceed?* Stop as early as the risk level allows. ## Phase 1 — Risk score (always) Call both in parallel: - `ix_impact` with `{ "target": "<target from $ARGUMENTS>" }` - `ix_explain` with `{ "symbol": "<target from $ARGUMENTS>" }` **God-module check:** If `facts.calleeCount > 20 AND facts.callerCount < 2` in the `ix_explain` result: > ⚠ This symbol has high callee count and low caller count — it reaches out to many dependents but has few callers. Standard blast-radius metrics may understate risk. Check callers of its key dependencies, not just direct dependents. This caveat applies regardless of the `ix_impact` risk classification. **Immediately classify using `risk_level` and `dependents` from the `ix_impact` result:** | Risk level | Action | |---|---| | `low` + `dependents` < 3 | **STOP** — safe to proceed. Report and suggest verification targets. | | `medium` OR `dependents` 3–10 | Go to Phase 2 | | `high` or `critical` OR `dependents` > 10 | Go to Phase 2 + 3 | ## Phase 2 — Callers and dependents (medium/high/critical) Call both in parallel: - `ix_callers` with `{ "symbol": "<target>" }` (limit 15 per token-budgets rule) - `ix_depends` with `{ "symbol": "<target>", "depth": 2 }` Extract: direct callers by name and subsystem, transitive dependent count from `traversal.nodes_visited`. **Stop here if risk is `medium`:** report callers, suggest verification, done. ## Phase 3 — Import chain and subsystem spread (high/critical only) Call `ix_imported_by` with `{ "symbol": "<target>" }`. Cross-reference callers + dependents + importers to identify: - Which subsystems are in the blast radius - Whether the change crosses an architectural boundary - Any tests that cover the affected paths ## Output ``` ## Impact: [target] **Risk level:** <critical | high | medium | low> **Verdict:** <SAFE TO PROCEED | REVIEW CALLERS FIRST | NEEDS CHANGE PLAN> **Blast radius:** - Direct dependents: N - Transitive (depth 2): M - Subsystems affected: [list — only if phase 3 ran] **Key callers:** [top 5, with subsystem label] **At-risk behaviors:** [from ix_impact at_risk_behavior field] **Recommended action:** - low: proceed, verify [specific callers] - medium: test [caller list] after change - high/critical: run `/ix-plan <target>` before editing **Known bugs in blast radius:** [Pro only — list open bugs touching callers/dependents, or omit section if none/Pro unavailable] ``` ## Phase 4 — Known bugs in blast radius **[Pro]** If Pro is available and `data.plans` from the briefing references this target area, cross-reference open plans against the direct callers and dependents identified in Phase 2. Any active plan touching the blast radius escalates the risk verdict — flag it explicitly in the output. Never read source code in this skill. Risk analysis is purely graph-based. ## Save step **Only if `SAVE_PATH` is non-empty:** - Write the full output to `SAVE_PATH`. - Confirm to the user: `Saved to <SAVE_PATH>`. - Do not write the file if `--save` was not passed.
Auf GitHub ansehen