regression-risk-mapperlisted
Install: claude install-skill Contexory/skills
# Regression risk mapper
The diff shows what you changed. It does not show who was relying on it. This skill
answers the second question, and it answers it with call sites rather than with intuition.
The failure it prevents is specific and common: a signature or behaviour is changed with
its two obvious callers updated, and the third caller — in another package, reached
through a re-export, written before anyone currently on the team joined — is discovered in
production.
## Procedure
### 1. Map the radius
`<skill-dir>` is the directory this SKILL.md was loaded from — the skill installs outside
your project, so its script is named by full path, never relatively.
```
python3 <skill-dir>/scripts/blast_radius.py # working tree vs merge-base with main
python3 <skill-dir>/scripts/blast_radius.py origin/main # or an explicit base
```
For every symbol the diff modifies, the script finds every file referencing it, marks each
reference `direct` or `re-export`, and marks whether the referencing file has a
corresponding test file. It prints a per-symbol radius, ordered by number of call sites.
**Read the caveat it prints.** The search is textual. It cannot see dynamic dispatch,
string-keyed lookup, reflection, or a caller in another repository, and it says so — those
are the paths that stay invisible and they are exactly where the expensive surprises live.
### 2. Separate signature changes from behaviour changes
They fail differently and need different checks:
- **