blast-radius
Enumerate the full impact set of a symbol before or during a change — every reference, caller, implementation/subtype, and reverse import — plus an explicit…
Skill by jhlee0409
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jhlee0409-blast-radius
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/blast-radius
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Grep,Glob,Bash
What's inside
- Skill name
blast-radius- Description
- Enumerate the full impact set of a symbol before or during a change — every reference, caller, implementation/subtype, and reverse import — plus an explicit list of what could NOT be resolved (dynamic dispatch, reflection, generated code). Use before touching a shared / exported / widely-imported symbol, before an interface or signature change, or when the user asks "what breaks if I change this?", "어디까지 영향 가?", "누락 없이 찾아줘", "전부 찾았어?". Produces an evidence table + an "enumeration complete?" checklist; read-only.
- License
- MIT
- Allowed tools
- Read,, Grep,, Glob,, Bash
- Instructions
- 86 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves any shell command
Files (1)
- SKILL.md
SKILL.md (first lines)
# blast-radius — enumerate impact, surface the unknowns
You produce the **impact set** of a target symbol so a change can be made without
missing a callsite. The honest contract of this skill: **no tool guarantees
omission-free discovery.** LSP misses dynamic dispatch; grep misses renames;
generated code and reflection defeat both. So you do NOT claim "completeness" — you
guarantee **all *discovered* edges, deduped with provenance, plus an explicit list
of what you could not resolve.** The unknowns section is the point, not an
afterthought — it tells the human exactly where to look by hand.
## 1. Scope the target
Resolve the target symbol(s): a function / method / class / type / constant / API
route / DB field / component / exported name. For a signature or rename change,
capture BOTH the old and the new name. Note the declaring `file:line`.
## 2. Enumerate — layered, strongest signal first
Run every layer available; do not stop at the first. Cross-check the counts
between layers — a divergence is itself a finding (a match one layer sees and
another misses is a candidate omission).
1. **Code-intelligence (LSP / SCIP), if available** — the strongest signal,
because it resolves bindings, not text:
- `references` — every use of the symbol.
- `implementations` / type hierarchy — every impl / subtype (for an interface
or base type).
- call hierarchy — incoming callers and outgoing callees; traverse recursively
with a depth cap and a cycle guard.
Record the provider and that support was present. If no LSP/index is available,
say so explicitly (it changes the confidence of the result).
2. **AST inventory (tree-sitter), if available** — enumerate declarations,
imports/exports, class inheritance, and call-shaped expressions. Use it to
catch structural uses and to sanity-check the LSP count.
3. **Text sweep (ripgrep) — always** — grep both the old and new names across the
repo, excluding `node_modules`, `.venv`, `dist`, `build`, `.next`, `coverage`,
and vendored dirs. This catches string/symbol refs the import graph misses
(config keys, DI tokens, dynamic route strings, docs). Treat lexical matches as
*candidates*, never as resolved references — never present a grep hit as a
precise call edge.
## 3. Categorize the impact
Bucket every discovered edge so the human can reason about coverage:
- **Direct references** — uses of the symbol.
- **Callers** — incoming call sites (who breaks if the signature changes).
- **Implementations / subtypes** — every type that must change together.
- **Reverse imports / dependents** — modules that import the declaring module.
- **Tests / config / docs** — test files, fixtures, config keys, and docs that
name the symbol (often missed, often where a change actually breaks).
- **UNKNOWN / unresolved** — dynamic dispatch, reflection, `eval`/metaprogramming,
generated or macro-expanded code, framework-convention wiring, cross-language
boundaries, and monorepo edges an unconfigured LSP can't cross. List each with
why it's unresolved. THIS is where the human verifies by hand.
## 4. Report contract (BLUF)
- **Target**: the symbol(s) + declaring `file:line`.
- **Searched scope**: which layers ran (LSP? which provider / AST? / ripgrep) and
the exclusion set — so the reader knows what was and wasn't covered.
- **Impact table**: one row per edge — `file:line` · category · provider
(lsp/ast/grep) · confidence (resolved / candidate).
- **Unknowns**: every unresolved region + why. Non-empty is normal and expected.
- **Enumeration complete?** checklist — answer each:
- LSP available and used? (if no, recall is reduced — say so)
- Old AND new name swept (for a rename)?
- Tests / config / docs scanned?
- Any layer-count divergence investigated?
- Dynamic / generated / reflective code present and listed as unknown?
## Constraints
- **Never claim completeness.** State "all discovered edges + N unresolved regions
(listed)", never "all callsites" / "nothing else uses it". A terminal claim of
completeness on a symbol with unresolved dynamic edges is the failure mode this
skill exists to prevent.
- Degrade gracefully: no LSP → run AST + ripgrep and lower the stated confidence.
- **Consume a code-intelligence index if present; never ship one.** Use the host's
LSP or an existing SCIP/LSIF index when available — generating/maintaining an index
is heavy and out of scope (an enterprise-adapter concern, not the portable kit).
- Read-only — enumerate and report; make no edits.
- Cite every edge with a `file:line` confirmed by Read/grep; a count with no rows
is not evidence.From jhlee0409/omni-harness-kit, MIT.
More from jhlee0409/omni-harness-kit
- 0.507score
localize
jhlee0409
Resolve a change request into an EXACT edit target before touching code, then gate the edit on tests — the localize → edit → validate loop.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
llm-eng-checks
jhlee0409
Use when building or hardening an LLM feature — prompt design, RAG, eval harness, model/provider selection, guardrails, and token/cost budgeting — with…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
tdd
jhlee0409
Drive a single behavior change with Kent Beck's red → green → refactor loop — write the failing test FIRST, confirm it fails for the right reason, implement…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
accessibility-checks
jhlee0409
Use when verifying accessibility (WCAG 2.2 AA) of a rendered UI in a real browser before reporting done — the omp-native replacement for the chrome-devtools…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
perf-checks
jhlee0409
Use when investigating or optimizing performance in a real browser/build/DB before reporting a fix — the omp-native replacement for the chrome-devtools…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
ui-verify-checks
jhlee0409
Use when verifying a frontend UI change in a real browser before reporting done.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
chrome-verify-checks
jhlee0409
Use when verifying a chrome-extension/ change before reporting done.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
assess
jhlee0409
Read-only maintainability audit of a whole codebase — ranks the files most likely to cause maintenance pain (size × churn hotspots, test gaps, lint debt) and…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
db-verify-checks
jhlee0409
Use when verifying data-shape claims against a real store — MongoDB or a SQL store (SQLAlchemy / SQLite / Postgres) — before reporting any data-touching…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
diagnose
jhlee0409
Disciplined diagnosis loop for a hard bug or performance regression — reproduce → minimize → hypothesize → instrument → fix the cause → regression-test.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
handoff
jhlee0409
Write the live working-set state into a resume block so a FRESH session can continue this work without re-narration.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
new-spec
jhlee0409
Scaffold a spec triplet (spec.md / plan.md / context.md) under specs/YYYYMMDD-<name>/ before starting a non-trivial piece of work.
SkillCFreshness: C★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jul 22, 2026 (3 months ago)
- Last release
- Jul 22, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jhlee0409/omni-harness-kit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jhlee0409
- 0.507score
chrome-verify-checks
jhlee0409
Use when verifying a chrome-extension/ change before reporting done.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
db-verify-checks
jhlee0409
Use when verifying data-shape claims against a real store — MongoDB or a SQL store (SQLAlchemy / SQLite / Postgres) — before reporting any data-touching…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
llm-eng-checks
jhlee0409
Use when building or hardening an LLM feature — prompt design, RAG, eval harness, model/provider selection, guardrails, and token/cost budgeting — with…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
perf-checks
jhlee0409
Use when investigating or optimizing performance in a real browser/build/DB before reporting a fix — the omp-native replacement for the chrome-devtools…
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
ui-verify-checks
jhlee0409
Use when verifying a frontend UI change in a real browser before reporting done.
SkillCFreshness: C★ 2Claude Code +9 - 0.507score
accessibility-checks
jhlee0409
Use when verifying accessibility (WCAG 2.2 AA) of a rendered UI in a real browser before reporting done — the omp-native replacement for the chrome-devtools…
SkillCFreshness: C★ 2Claude Code +9
Cite this page
blast-radius skill. Agent Mart. https://agentmart.dev/skills/jhlee0409-blast-radius (last updated 2026-10-24)