Safety analysis before refactoring -- dependency graph, test coverage, public API exposure, blast radius verdict.
How this skill is triggered — by the user, by Claude, or both
Slash command
/better-code-review-graph:refactor-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze whether a refactoring is safe BEFORE making changes. Produces a verdict with specific risks and mitigation steps.
Analyze whether a refactoring is safe BEFORE making changes. Produces a verdict with specific risks and mitigation steps.
Get the full dependency graph for the target:
graph(action="update") to ensure graph is currentquery(action="query", pattern="callers_of", target="<name>") -- who calls thisquery(action="query", pattern="callees_of", target="<name>") -- what this callsquery(action="query", pattern="imports_of", target="<name>") -- what this importsquery(action="query", pattern="inheritors_of", target="<name>") and query(action="query", pattern="children_of", target="<name>")Identify test coverage:
query(action="query", pattern="tests_for", target="<name>") -- direct teststests_for to see if callers have integration tests covering this function indirectlyFlag public API exposure:
__init__.py, index.ts, or similarEstimate blast radius:
query(action="impact", target="<name>") -- full impact analysisProduce verdict:
## Refactor Safety: <name>
### Target
- **Location**: <file_path>:<line>
- **Type**: function / class / method
- **Public API**: Yes / No
### Dependency Summary
- **Callers**: N functions depend on this
- **Callees**: Calls M other functions
- **Inheritance**: N subclasses (if class)
### Test Coverage
- **Direct tests**: N tests
- **Caller tests**: M/K callers have tests covering this path
- **Coverage gaps**: <list uncovered callers>
### Blast Radius
- **Impacted files**: N
- **Impacted functions**: M
- **Max depth**: K hops
### Verdict: SAFE / NEEDS MIGRATION / DANGEROUS
**SAFE** -- Low blast radius (<5 files), good test coverage, no public API exposure.
Make the change, run tests, done.
**NEEDS MIGRATION** -- Public API or moderate blast radius (5-15 files).
Recommended approach:
1. Create new version alongside old
2. Migrate callers incrementally
3. Deprecate old version
4. Remove after all callers migrated
**DANGEROUS** -- High blast radius (>15 files), poor test coverage, or public API with external consumers.
Specific risks:
- <risk 1 with affected files>
- <risk 2 with affected files>
Mitigation: <steps to reduce risk before proceeding>
| Condition | Verdict |
|---|---|
| <5 impacted files, not public API, >80% caller test coverage | SAFE |
| 5-15 impacted files OR public API with known consumers | NEEDS MIGRATION |
| >15 impacted files OR public API with unknown consumers OR <50% test coverage | DANGEROUS |
| Any external package/library depends on it | DANGEROUS |
npx claudepluginhub n24q02m/claude-plugins --plugin better-code-review-graphAnalyzes blast radius and dependency impact of code changes. Maps references, dependent files, test coverage, and provides structured risk assessment for safe refactoring.
Safe refactoring workflow using trace-mcp — assess risk, find candidates, check impact, and rename symbols across all files without missing import sites or cross-file references.
Analyzes impact of changes to files, APIs, components, or models. Provides dependency analysis, risk assessment, breaking changes, migration checklist, and test coverage gaps before modifications.