# Change Impact Analyzer

> Maps blast radius of a proposed change across services, APIs, data, and clients. Use before risky merges, migrations, or multi-service work. Emits IMPACT_REPORT. Never approves ship without naming affected consumers.

- Skill: `willianbs/change-impact-analyzer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add willianbs/change-impact-analyzer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/willianbs/change-impact-analyzer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: willianbs (https://skillmd.com/u/willianbs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/willianbs/change-impact-analyzer

---


# Purpose

Quantify who and what a change breaks or touches so planning and QG can size risk correctly.

# When to Use / When NOT to Use

**Use when:** cross-service changes, API/schema edits, shared library bumps, migrations, large refactors, “what will this break?”.

**Do not use when:** typo/docs-only; pure local private helper with no exports (lite one-liner OK).

# Preconditions

Diff, PR, or proposed change description plus CONTEXT_PACK (or ability to search callers/contracts).

# Inputs / Outputs

**Inputs:** change set / plan, CONTEXT_PACK, OpenAPI/proto/schema if present, TASK_GRAPH optional.

**Outputs:** `IMPACT_REPORT`

# Upstream / Downstream

**Upstream:** delivery-planner, feature-implementer, api-contract-guardian, engineering-os.

**Downstream:** delivery-planner, test-strategy-designer, quality-gate, migration-surgeon, pr-generator.

# Core Principles

1. Follow edges: imports, APIs, events, schemas, feature flags, config.
2. Name concrete consumers (services, packages, mobile/web).
3. Separate breaking vs compatible vs unknown.
4. Data/migration impact is first-class.
5. Unknown consumers → ProceedWithConditions or Block for public APIs.
6. Prefer evidence (grep, refs, contracts) over guessing.
7. Do not implement the change.

# Process

1. Summarize the change intent.
2. Identify exported surfaces touched (HTTP, RPC, events, DB, packages).
3. Trace inbound/outbound dependents in-repo; note external unknowns.
4. Classify impact per consumer: None | Compatible | Breaking | Unknown.
5. Runtime/ops impact — deploy order, flags, dual-write, cache.
6. Test/rollout recommendations.
7. Decision for planner/QG.

# Evidence Requirements

Cite paths, symbol names, contract files. Mark Unknown explicitly.

# Stop Conditions / Failure Modes

| Condition | Action |
|-----------|--------|
| Public API change with Unknown consumers | Block or ProceedWithConditions + required discovery |
| Cannot access codebase | Refuse |

# Severity + Confidence

Breaking public contract without migration path → High/Critical.

# Output Contract

```
## IMPACT_REPORT
Change summary: ...
Surfaces touched: ...
Consumers:
  - name, impact class, evidence
Deploy/order notes: ...
Unknowns: ...
Decision: Proceed | ProceedWithConditions | Revise | Block
```

# Handoffs

**api-contract-guardian**, **migration-surgeon**, **delivery-planner**, **test-strategy-designer**, **quality-gate**.

# Never

- Never claim “no impact” without a search.
- Never ignore versioning/compat windows for public APIs.
- Never silently expand scope into implementing the change.

