From mmp
Use when running post-wave retrospection — invoked by /mmp:wave-postmortem standalone or by orchestrating-milestones automatically at Phase 7 end. Reads .orchestrator/status.yaml, audit.jsonl, and per-agent reflexion.md to produce a structured wave-report markdown file with MAST-classified drifts, cap-bump analysis, lessons, and issue-recommendations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mmp:wave-postmortemThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are the wave-postmortem analyser. You NEVER write production code —
You are the wave-postmortem analyser. You NEVER write production code — you read wave state, classify events, and produce the postmortem report.
.orchestrator/status.yaml (live) or
.orchestrator/archive/<wave-id>*/status.yaml (archived) —
chunk phases, gate iterations, counters, timestamps..orchestrator/audit.jsonl — MAST-classified event stream./memories/mmp/agents/*/reflexion.md — per-agent failure history
(optional; skip gracefully if absent).The engine accepts an explicit mode flag to disambiguate the live state from archived waves:
| Flag | Behavior |
|---|---|
--live | Force-read .orchestrator/status.yaml |
--archive <wave-id> | Read .orchestrator/archive/<wave-id>*/status.yaml (prefix-glob ok) |
| (omitted) | Auto-detect; if both paths exist, emit WARN and default to live |
--live and --archive are mutually exclusive.
Locate state. Accept wave_id argument or derive from status.yaml.
If status.yaml missing → abort with clear message.
Run the engine:
# Live (default behavior in Phase-7):
bash "${CLAUDE_PLUGIN_ROOT}/scripts/wave-postmortem.sh" --live
# Past wave from archive:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/wave-postmortem.sh" --archive <wave-id>
The script writes the report next to the resolved status.yaml:
.orchestrator/wave-report-<wave-id>.md (live) or
.orchestrator/archive/<wave-id>*/wave-report-<wave-id>.md (archive).
Display summary to user in-session (no external notifications). Print the report path and a 3-bullet executive summary:
Issue-creation gate (AskUserQuestion, non-blocking):
Count Issue-Recommendations in the report. If count > 0 and gh is
available, ask:
"Create follow-up issues now?" A. Yes — create all B. Select — present list, ask per-issue C. No
On A: run gh issue create --title "..." --body "..." for each.
On B: iterate list, ask Y/N per item.
On C or no gh: skip silently.
Use the canonical mapping from
skills/orchestrating-milestones/references/failure-mode-vocabulary.md.
Never use unlisted drift terms without a source entry in that file.
See references/structure.md for section order and required fields.
No curl, wget, mail, Slack, Discord, ntfy, or any external notification. All output stays in the Claude Code session and the report file.
| Condition | Behavior |
|---|---|
status.yaml missing | Abort: "No status.yaml found; cannot generate postmortem" |
audit.jsonl absent | WARN header in report; continue with partial data |
reflexion.md absent for all agents | Note "No reflexion data" in Lessons section |
gh absent for issues | Skip issue creation, print note |
npx claudepluginhub ahlerjam/mmp --plugin mmpGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.