From ecw
Business impact assessment after code changes complete. Auto-runs after impl-verify for P0/P1; invoke manually via /ecw:biz-impact-analysis.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ecw:biz-impact-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
After code changes are complete, dispatch the `biz-impact-analysis` agent to analyze the impact of changes on business processes.
After code changes are complete, dispatch the biz-impact-analysis agent to analyze the impact of changes on business processes.
Announce at start: "Using ecw:biz-impact-analysis to assess business impact of code changes."
Output language: Read ecw.yml → project.output_language. Pass to dispatched agent prompt. Report headings and labels follow this language.
git diff abc123...HEAD): use git diff {args} directly.baseline_commit from .claude/ecw/session-data/{workflow-id}/session-state.json and use git diff {baseline_commit}...HEAD. This bounds the analysis to the current workflow.git diff main...HEAD (or master...HEAD in legacy repos). bash-preflight will rewrite this to {baseline}...HEAD when a baseline is available; if not, expect noise from unrelated historical commits.git diff --stat {diff_range} to get change statisticsgit diff --name-only {diff_range} to get file listpath-mappings.md, map file list to domainsKnowledge file robustness: If
path-mappings.mdis missing, pass the raw file list to the Agent without domain mapping. The Agent will use path-based heuristic grouping and note[Warning: path mappings not found, domain identification is heuristic]in the report.
./prompts/agent-prompt-template.md for the dispatch prompt structure and argument parsing rules. Model: opus (default from models.defaults.analysis; configurable via ecw.yml). Timeout: 300s. Budget cap: single agent, no retry loop — one attempt plus one retry on format failure only. Pass in preprocessed results, await impact analysis report[FAILED: biz-impact-analysis, reason: incomplete report][degraded: incomplete analysis] header, and warn user that manual impact review may be neededsession-data/{workflow-id}/biz-impact-report.md (read the workflow_id field from session-state.json). Then output the agent's formatted report directly; append backfill summary if any calls were addedWhen the agent's report flags "Unregistered Cross-Domain Calls", automatically backfill them into the knowledge base instead of relying on manual follow-up.
Extract unregistered calls — Parse the agent's report for all entries under "Unregistered Cross-Domain Calls" (or equivalent section). Each entry typically contains: caller domain, callee domain, call method (RPC/HTTP/MQ), caller class/method, callee class/method.
Read existing matrix — Read .claude/knowledge/shared/cross-domain-calls.md (path from ecw.yml paths.knowledge_shared).
[Warning: cross-domain-calls.md not found, skipping auto-backfill. Please create the file and backfill manually.]Deduplicate — For each unregistered call, check if an equivalent entry already exists in the matrix (match on caller domain + callee domain + call method + caller class). Skip entries that already exist.
Append new entries — Append only genuinely new calls to the end of the matrix table, preserving the existing table format. Use Edit tool (not Write) to append rows.
<!-- auto-backfilled by biz-impact-analysis {date} -->Report backfill result — Append the following summary to the end of the analysis report output. Section title and text follow project.output_language:
---
### Knowledge Auto-Backfill
Auto-backfilled {N} cross-domain call(s) to `cross-domain-calls.md`:
{list of added entries, one per line}
> Backfill strategy: append-only for confirmed new calls. Existing entries are never modified or deleted. Edit manually if adjustments are needed.
If N=0 (all flagged calls already existed), output instead:
---
### Knowledge Auto-Backfill
All unregistered calls flagged in the report already exist in the knowledge base. No backfill needed.
| Scenario | Handling |
|---|---|
cross-domain-calls.md not found | Skip backfill, warn in report, suggest manual creation |
cross-domain-calls.md has no table header | Skip backfill, warn: [Warning: cross-domain-calls.md format unrecognized, skipping auto-backfill] |
| Agent report has no "Unregistered Cross-Domain Calls" section | No backfill needed, skip silently |
| Agent report parsing ambiguous | Skip backfill for ambiguous entries, only backfill clearly parseable ones, note skipped count in summary |
| Scenario | Handling |
|---|---|
| Biz-impact-analysis Agent returns empty or fails | Log FAILED to trace (ecw_trace.jsonl) → retry once → still fails: escalate via AskUserQuestion: "Business impact analysis unavailable. Options: (1) retry, (2) proceed without impact analysis, (3) abort." |
path-mappings.md missing | Agent cannot map files to domains → output [Warning: path mappings not found, domain identification degraded] and proceed with file-path-based heuristic grouping |
| Knowledge files missing (cross-domain-calls.md, mq-topology.md, etc.) | Agent logs [Warning: {file} not found] per missing file → analysis continues with available data, "Analysis Coverage" section in report reflects gaps |
git diff returns empty | No changes to analyze → notify user and exit without dispatching agent |
prompts/agent-prompt-template.md — Agent dispatch prompt structure and argument parsing rulesprompts/common-rationalizations.md — Anti-patterns to avoidcross-domain-calls.md (conservative: append-only, no modification/deletion)npx claudepluginhub aimeerrhythm/enterprise-change-workflow --plugin ecwGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.