oaustegard/claude-skills/assessing-impact

Claude Code and agent skill by oaustegard/claude-skills

Trust tier 3
  • community
Source check pending

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-impact

SKILL.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

bash
uv venv /home/claude/.venv 2>/dev/null
uv pip install --python /home/claude/.venv/bin/python tree-sitter
export PYTHON=/home/claude/.venv/bin/python
export IMPACT=/mnt/skills/user/assessing-impact/scripts/impact.py

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
bash
$PYTHON $IMPACT /path/to/repo SYMBOL_NAME

Or target a whole file:

bash
$PYTHON $IMPACT /path/to/repo path/to/module.py
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:

bash
TREESIT=/mnt/skills/user/tree-sitting/scripts/treesit.py
$PYTHON $TREESIT /path/to/repo --no-tree 'source:caller_function'

Options

FlagDefaultPurpose
--features PATH_FEATURES.mdRoot _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 N500Cap refs per symbol name. Bump if you suspect truncation.
--jsonoffEmit JSON instead of markdown — for downstream tooling.

Output Sections

# Impact Report: <target>
## Target
Kind, definition sites with line ranges.
## Direct & Textual References (N total)
Top-line counts, then refs grouped by:
- Code references by package
- Test references
- Documentation mentions
## Affected Features (from _FEATURES.md) ← only if file present
Feature name → ref count + file count.
## Suggested Test Surfaces
Test files that already reference the target, plus tests neighboring
the definition. Likely the regression net for the change.
## Caveats
What the scan can't see (dynamic dispatch, cross-language, cross-repo).

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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/oaustegard/claude-skills/assessing-impact/badge)](https://verified-skill.com/skills/oaustegard/claude-skills/assessing-impact)

Something wrong with this skill or its page? Tell us.