blast-radius
Analyze the blast radius of code changes with risk scoring. Shows affected nodes, untested functions, and review priorities using the code knowledge graph
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/athola/nm-pensive-blast-radiusNight Market Skill — ported from claude-night-market/pensive. For the full experience with agents, hooks, and commands, install the Claude Code plugin.
Blast Radius Analysis
Analyze the impact of current code changes using the code knowledge graph.
Prerequisites
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."
Steps
-
Show current changes: Run
git diff --statto show the user what files changed. -
Run impact analysis (requires gauntlet):
python3 "$GRAPH_QUERY" \ --action impact --base-ref HEAD --depth 2Fallback 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> fiThis traces real function-level dependencies instead of filename matching. See
leyline:sem-integrationfor 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 rg -l "$(basename $f .py)" --type py . 2>/dev/null done | sort -u else git diff --name-only HEAD | while read f; do grep -rl "$(basename $f .py)" --include="*.py" . 2>/dev/null done | sort -u fi -
Display results in priority order:
Format the output as a table:
Risk | Node | File | Reason 0.85 | auth.py::verify_token | auth.py:45 | untested, security 0.62 | db.py::execute_query | db.py:112 | high fan-in 0.41 | api.py::handle_request | api.py:78 | flow participant -
Highlight untested functions: List any affected functions that lack test coverage (no TESTED_BY edge).
-
Show overall risk: Display the overall risk level (low/medium/high) based on the maximum risk score.
-
Suggest actions:
- For high-risk nodes: "Consider adding tests before merging"
- For security-sensitive nodes: "Review authentication and authorization logic carefully"
- For high-fan-in nodes: "Changes here affect many callers; verify backward compatibility"
Risk Scoring Model
Five weighted factors (sum capped at 1.0):
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-athola-nm-pensive-blast-radius": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
extract
Analyze a codebase and build a knowledge base of business logic, architecture, data flow, and engineering patterns. The foundation for gauntlet challenges and agent integration
discourse
>- Scan community discussion channels (HN, Lobsters, Reddit, tech blogs) for experience reports and opinions on a topic
synthesize
>- Merge, deduplicate, rank, and format research findings from multiple channels into a coherent report. Use after research agents return their results
workflow-monitor
Detect workflow failures and inefficient patterns, then create GitHub issues for improvement via /fix-workflow
architecture-paradigm-hexagonal
Hexagonal (Ports and Adapters) architecture isolating domain logic from infrastructure