mbwsims/claude-universe/impact
Claude Code and agent skill by mbwsims/claude-universe
- community
Checking that the SKILL.md file is still in the repository.
This skill should be used when the user asks to "check the impact", "what will break if I change this", "blast radius", "impact analysis", "what depends on this", "who imports this", "is it safe to change this", mentions "/impact", or wants to understand the consequences of modifying a specific file or function before making changes.
Install
npx vskill@latest install mbwsims/claude-universe/impactSKILL.md
Impact Analysis
Before changing a file, understand the blast radius. What depends on it? What tests cover it? What breaks if you change its API? This skill prevents the "I changed one file and broke 12 others" problem.
Workflow
1. Identify the Target
Read the target file. Understand what it exports:
- Functions, classes, types, constants
- Whether consumers depend on a single exported entrypoint or multiple exported symbols
- What interface does it expose to consumers?
2. Find Direct Dependents
With lenskit-mcp (preferred): Call lenskit_graph to get the full dependency graph. Extract direct and transitive dependents from the graph data. Also call lenskit_analyze on the target file for metrics (churn, complexity, coupling).
If lenskit tools are unavailable: Build the dependency data manually:
- Use Grep with pattern
from.*{file}across source files to find importers - Use Grep on the target file for
fromandimportpatterns to find dependencies - Count importers manually for the risk assessment
Grep for files that import from the target:
For each importer, note WHAT they import (which specific exports they use).
3. Find Transitive Dependents
With lenskit_graph data (preferred): Use the graph edges to traverse transitive dependents programmatically. Starting from the target file, follow all incoming edges (files that import it), then follow THEIR incoming edges, up to 3 levels deep.
The deeper the chain, the wider the blast radius.
Without lenskit_graph: Build the transitive chain manually with iterative grep:
Substitute the actual module names at each level. Stop at 3 levels — transitive impact beyond that is noise for most decisions. If you find more than 20 transitive dependents, note the count but focus the report on the direct dependents and the highest-risk transitive paths.
Type-only imports: Distinguish between value imports and type-only imports:
import type { Foo } from './target'-- Type-only: changes to runtime behavior
won't break this importer. Only type signature changes matter.
import { Foo } from './target'-- Value import: any behavioral change may break
this importer.
When reporting dependents, annotate which ones are type-only. These have lower risk and don't need runtime testing when only implementation changes.
Circular dependency handling: If the graph data shows the target file is part of a circular dependency cycle, flag this prominently:
- Identify all files in the cycle
- Explain that changes can propagate around the entire cycle, not just outward from the target
- Recommend breaking the cycle before making changes (extract shared interface, use
dependency injection, or restructure to remove the circularity)
- Circular dependencies make impact analysis unreliable because changes propagate
in both directions
4. Find Test Coverage
Search for tests that cover the target file:
- Direct test file:
{name}.test.ts,{name}.spec.ts - Tests that import the target directly
- Higher-level tests that exercise the target through public callers
Note: if there are NO tests covering the target, that's a critical finding — changes are unprotected.
5. Assess Risk by Export
For each export from the target file:
| Export | Importers | Tests | Risk | |
|---|---|---|---|---|
functionA | 8 files | 3 tests | High — widely used, partially tested | |
TypeB | 12 files | N/A (type) | Medium — type change affects many files | |
CONSTANT_C | 2 files | 0 tests | Low — few users, but untested |
6. Present the Analysis
Report format:
Related Skills
- `/hotspots` — Check if the file is already a high-risk area
- `/explain` — Deep understanding of a module before changing it
Guidelines
- Be specific about WHAT each dependent imports. A file that only imports a type is less
affected than one that calls a function.
- Note the difference between implementation changes (safe — internal logic, same API)
and interface changes (risky — signature, return type, behavior change).
- If the file has zero dependents, it's a leaf node — changes are safe by default.
- If no tests exercise the target, flag that gap prominently. Any change to untested code is
higher risk.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/impact/SKILL.md
Popularity
- Repository stars
- 69
- Repository forks
- 8
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 29 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mbwsims/claude-universe/impact)