From karmaiq-impact
Compute blast radius before changing code. Loads in code files (Python, Go, Java, TypeScript, JavaScript, Ruby) or when the user mentions refactor, rename, delete, move, modify, "is it safe to change", "what depends on X", "who calls Y", or staged changes. Delegates multi-method/multi-service runs to the karmaiq-impact-analyzer subagent.
How this skill is triggered — by the user, by Claude, or both
Slash command
/karmaiq-impact:analyzing-change-impact**/*.py**/*.go**/*.java**/*.ts**/*.tsx**/*.js**/*.jsx**/*.rbThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The user is in (or about to enter) code that may have production callers. Before they refactor, rename, delete, or modify, surface the blast radius.
The user is in (or about to enter) code that may have production callers. Before they refactor, rename, delete, or modify, surface the blast radius.
Delegate to karmaiq-impact-analyzer subagent (preferred for multi-target). Use the Task tool with subagent_type=karmaiq-impact-analyzer whenever:
Pass the targets verbatim. Subagent returns a ranked dependents table per target.
Stay inline only when:
node_id or method hash1. search_catalog(catalog="service", class_names=[<class>]) # → service_name
2. analyze_code_path_impact(service_name=<resolved>, query="<Class.method>", include_flows=true)
3. Render: direct callers, transitive callers, amplification flags, top affected flows
1. search_catalog(catalog="graph", query="<service>") # → node_id
2. simulate_failure(node_id=<resolved>, detail="summary") # ranked blast counts
3. simulate_failure(node_id=<resolved>, detail="full", top_k=20) # ranked QPM-lost
4. Render: top 5 affected interfaces, total QPM impact, amplification flags >2×
traverse_dependencies(direction="upstream")explore_code_path(direction="callers")Read the active domain from ${CLAUDE_PLUGIN_DATA}/../karmaiq-core/domain.txt. Pass domain=... on every call.
## Finding
<is it safe / risky / load-bearing — 1 line>
## Evidence
<table of top dependents with QPM, amplification, and risk classification>
## Next step
<one concrete action: review the top caller, add a deprecation, or proceed safely>
| Class | Criteria |
|---|---|
| LOW | <50 QPM total dependent traffic, no amplification > 2× |
| MED | 50–500 QPM OR amplification 2–4× on any edge |
| HIGH | >500 QPM OR amplification > 4× OR appears in any critical path |
explore_code_path(direction="callers") first.search_catalog(catalog="service") returns multiple owning services, ask the user to clarify rather than guessing.${CLAUDE_PLUGIN_DATA}/../karmaiq-core/domain.txt. If unset, tell user to run /karmaiq-core:setup and stop.simulate_failure with failure_type="errors" as a substitute for regression_diff — different tool, different purposenpx claudepluginhub codekarma-tech-public/codekarma-mcp-plugin --plugin karmaiq-impactCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.