oaustegard/claude-skills/assessing-impact
Claude Code and agent skill by oaustegard/claude-skills
- community
Checking that the SKILL.md file is still in the repository.
Pre-change blast-radius report for a symbol or file. Walks tree-sitting references, augments with a plain-text scan over non-parsed files (configs, plain docs), and clusters affected sites by feature (`_FEATURES.md`) or top-level package. Use when about to refactor, rename, or delete something in a repo you don't own — "what breaks if I change `validateUser`", "who calls this", "is this safe to remove", "where is this used", "blast radius", "impact analysis". This is the CONVERGENT pre-change risk skill — for "what is this repo?" use exploring-codebases; for "where is X?" use searching-codebases.
Install
npx vskill@latest install oaustegard/claude-skills/assessing-impactSKILL.md
Assessing Impact
Cheap, ad-hoc impact analysis for a single target. Not a graph database — a focused walk over an AST cache plus a complementary text scan, clustered into a report that's easy to summarize.
Use this when you're about to refactor / rename / delete a symbol in a repo you don't work in daily, and you want a single artifact that says: "these N files will need to change, in these M packages, with these tests likely affected."
Don't use this for deep ongoing impact analysis on your own codebase — stand up GitNexus, SourceGraph, or your IDE's index. This skill is for the one-shot case.
Setup
The script depends on the tree-sitting skill — it imports engine.py directly. The bundled grammars live with tree-sitting; no separate language-pack install needed.
Workflow
1. Run the report
Or target a whole file:
2. Read the data, write the summary
The script prints a structured markdown report. Treat it as input for your final summary, not the deliverable. It deliberately doesn't assign a "high/medium/low" risk label — that's your job, after weighing:
- Refs concentrated in one package (low blast) vs. fanned across many (high)
- Test refs present (good — the change has a verification surface) vs. absent
- Doc mentions (renames need to update docs too)
- Caveats listed at the bottom (what the script can't see)
3. Drill if needed
If a particular package looks suspicious, follow up with tree-sitting to read the actual call sites:
Options
| Flag | Default | Purpose | |
|---|---|---|---|
--features PATH | _FEATURES.md | Root _FEATURES.md — when present, refs get clustered by feature in addition to by package. | |
--skip DIRS | (defaults from tree-sitting) | Extra comma-separated dirs to skip. | |
--limit-per-name N | 500 | Cap refs per symbol name. Bump if you suspect truncation. | |
--json | off | Emit JSON instead of markdown — for downstream tooling. |
Output Sections
Composition with Other Skills
- Run after `exploring-codebases` if the repo also has a freshly
generated _FEATURES.md — the impact report will cluster refs by feature, which makes the blast radius story much more legible than raw package directories.
- Use `tree-sitting` to drill specific call sites once impact has
identified them.
- Use `searching-codebases` when you want regex/AST search over the
same corpus rather than impact analysis on a known target.
Honest Limits
- Text-based ref discovery. Refs are matched by symbol name, not by
type-resolved call edges. Common names (run, init, handler) will pick up unrelated symbols. Prefer running this on distinctive names; otherwise expect noise and read the snippets.
- No type/MRO resolution. Dynamic dispatch (
getattr, duck-typed
method calls, virtual dispatch in C++) is missed or over-matched.
- No cross-language tracing. A TS frontend calling a Python backend
handler over HTTP appears as zero refs — they're not in the same AST.
- No cross-repo tracing. Consumers in separate repos (downstream
packages, sibling services) are invisible. For multi-repo impact, reach for GitNexus / SourceGraph.
- No persistent index. Each run re-scans. Fine for single-shot use;
acceptable cost (~700ms scan + sub-ms queries) for a few hundred files.
- Diff input not yet supported. v0.1 takes a symbol or file path.
Diff → affected-symbols extraction is a planned follow-up.
Files
scripts/impact.py— Single-entry CLI. Resolves target → walks AST
refs → augments with text scan → clusters by package and (optionally) by feature → renders markdown or JSON.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingassessing-impact/SKILL.md
Popularity
- Repository stars
- 151
- Repository forks
- 7
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
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/oaustegard/claude-skills/assessing-impact)