Analyzes code change impact with risk scoring and affected-node mapping. Use before merging to understand what a change touches and what lacks test coverage.
npx skills add https://github.com/athola/claude-night-market --skill blast-radius
Analyze the impact of current code changes using the
code knowledge graph.
pensive:bug-review)gauntlet:graph-build)This skill requires the gauntlet plugin for graph
data. Check if it's available:
GRAPH_QUERY=$(find ~/.claude/plugins -name "graph_query.py" -path "*/gauntlet/*" 2>/dev/null | head -1)
If gauntlet is not installed (GRAPH_QUERY is empty):
Fall back to a manual impact analysis using git diff
and grep to trace imports and call sites. Skip graph
steps and go directly to step 3 (manual mode).
If gauntlet is installed but no graph.db exists:
Tell the user: "Run /gauntlet-graph build first."
git diff --stat toshow the user what files changed.
python3 "$GRAPH_QUERY" \
--action impact --base-ref HEAD --depth 2
Fallback tier 1 (sem available, no gauntlet):
Use sem for cross-file dependency tracing:
if command -v sem &>/dev/null; then
sem impact --json <changed-file>
fi
This traces real function-level dependencies instead
of filename matching. See leyline:sem-integration
for detection patterns.
Fallback tier 2 (no sem, no gauntlet): Trace
callers of changed functions with rg (or grep):
# Prefer rg for speed; fall back to grep
if command -v rg &>/dev/null; then
git diff --name-only HEAD | while read f; do
stem="${f%.*}"; stem="${stem##*/}"
[ -z "$stem" ] && continue # skip dotfiles (.gitignore etc.)
rg -l "$stem" . 2>/dev/null
done | sort -u
else
git diff --name-only HEAD | while read f; do
stem="${f%.*}"; stem="${stem##*/}"
[ -z "$stem" ] && continue # skip dotfiles (.gitignore etc.)
grep -rl "$stem" . 2>/dev/null
done | sort -u
fi
Note: this searches all file types. For Python-only
projects, add --type py to rg or --include="*.py"
to grep to reduce false positives.
Format the output as a table:
Risk | Node | File | Anchor | Reason
0.85 | auth.py::verify_token | auth.py:45 | `def verify_token(token):` | untested, security
0.62 | db.py::execute_query | db.py:112 | `cursor.execute(query, params)` | high fan-in
0.41 | api.py::handle_request | api.py:78 | `def handle_request(req):` | flow participant
The Anchor column is the verbatim source text at the cited line.
It lets a reviewer confirm the finding without re-running the tool.
functions that lack test coverage (no TESTED_BY edge).
(low/medium/high) based on the maximum risk score.
merging"
and authorization logic carefully"
callers; verify backward compatibility"
blast-radius:findings-verified)Every finding must cite a real location and a verbatim anchor. Write
findings to .review/findings.json and confirm each citation resolves:
python plugins/imbue/scripts/citation_verifier.py \
--findings .review/findings.json --repo-root .
Drop or label UNVERIFIED any finding the verifier fails (exit 1); only
verified findings enter the report. See Skill(imbue:review-core) Step 5
and Skill(imbue:structured-output) for the schema.
File (file:line)and verbatim Anchor column.
maximum risk score.
Location + verbatim Anchorconfirmed by citation_verifier.py (exit 0), or unverified
findings were dropped or labeled UNVERIFIED.
Five weighted factors (sum capped at 1.0):
| Factor | Weight | Meaning |
|--------|--------|---------|
| Test gap | 0.30 | No test coverage |
| Security | 0.20 | Auth/crypto/SQL keywords |
| Flow participation | 0.25 | Part of execution flows |
| Cross-community | 0.15 | Called from other modules |
| Caller count | 0.10 | High fan-in function |
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Use when implementing any feature or bugfix, before writing implementation code
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
Cloud laboratory platform for automated protein testing and validation. Use when designing proteins and needing experimental validation including binding assays, expression testing, thermostability measurements, enzyme activity assays, or protein sequence optimization. Also use for submitting experiments via API, tracking experiment status, downloading results, optimizing protein sequences for better expression using computational tools (NetSolP, SoluProt, SolubleMPNN, ESM), or managing protein design workflows with wet-lab validation.
This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.
Take athola/blast-radius from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.