boshu2/postmortem
Optionally test a retrospective causal question against durable verdict evidence. Triggers: "postmortem", "causal retrospective", "test a retrospective hypothesis".
npx skills add https://github.com/boshu2/agentops --skill postmortem
> Purpose: Answer an explicit retrospective causal question using the
> already-validated outcome and evidence.
alternatives. Separate observed sequence, contributing conditions,
counterfactuals, and unknowns.
plausible alternatives.
tracker state, change the remaining plan, or promote a rule. Return evidence
to the caller.
lesson to make the retrospective feel useful.
question.
reasoning as fact.
alternative explanation.
differ if the claim were false?
evidence references, and suggested experiments. Stop.
A fix is proven when the mechanism is demonstrated, not when symptoms stop.
Promoting a claim from correlation to cause requires all three:
outcome, in terms a reader could check against the subject;
least one plausible alternative does not;
with the cited evidence showing it did differ.
Symptom disappearance after a change satisfies none of these on its own: the
change and the recovery may share an unobserved cause, or the symptom may be
intermittent. The named failure mode is post-hoc fix attribution — "we
changed X and the failure stopped, therefore X was the cause." Claims backed
only by symptom cessation stay in the report as correlations with the
untested alternatives listed, and the suggested experiment is the
discrimination that would settle them. Stop condition: every supported causal
claim in the report carries all three elements with citations; anything less
is filed under correlations or unknowns, never silently promoted.
.agents/scratch/postmortem/.YYYY-MM-DD-postmortem-<topic>.md.timeline, hypotheses, evidence, counterfactuals, unknowns, and experiments.
bash skills/postmortem/scripts/validate.sh.any bookkeeping, promotion, planning, or delivery decision.
Executable behavior is in postmortem.feature.
Take boshu2/postmortem 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.