outcome-review
Skill2 starsChanged 51 days agoMITView on GitHub
Judges a shipped change against its target and kill criteria, has the person decide keep, iterate or kill, and writes the decision and cleanup. Use when an outcome review is due, someone asks whether a release worked, or a feature's future is open.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- dkpapadopoulos/auto-claude-skillstheir own version, first seen Sep 22, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- dkpapadopoulos/auto-claude-skills★ 6same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-designSkill
- agents-mdSkill
- bug-diagnosisSkill
- builder-osSkill
- business-caseSkill
- delivery-disciplineSkill
- domain-modelSkill
- evidence-ledgerSkill
- gate-checksSkill
- go-to-marketSkill
- ideation-methodsSkill
- opportunity-mappingSkill
- pressure-testingSkill
- problem-framingSkill
- product-analysisSkill
- release-opsSkill
- research-methodsSkill
- spec-writingSkill
- system-designSkill
- tracking-standardsSkill
- using-builder-osSkill
- ux-architectureSkill
- wayfindingSkill
The file
Files
Outcome Review
Phase 7 judges whether the shipped change did what it was supposed to, against what earlier phases committed: the phase 2 target, the phase 3 kill criteria, the phase 6 baseline. KILL is a successful outcome for the pipeline; a forced verdict on thin data is the failure.
Mode. Standalone compares the supplied baseline, target, actual and decision criteria, states missing windows or sources, and returns the review; a recommendation leaves rollbacks and flags to the person. The lifecycle runs every step and gate 7. Both per operating modes. Load the analysis skill the outcome metric needs, pressure-testing for a material unsupported explanation, and the analytics shapes when rerunning a query. Read judging the outcome for ambiguous results, re-entry choices, override patterns, learning examples, the watch, and the full list of traps.
Procedure
- Read
06-release.md,03-solution-bet.mdand02-definition.md: the baseline with its capture method and timestamp, the kill criteria, the success metric with its target; then the override log instate.json. Done when the baseline, the target and the kill criteria are in front of you, each tagged. - Check the date the kill criteria set. Before it the number has not stabilized, so the review defers with the reason and date (step 7). Done when the date has passed, or the deferral is the next step.
- Rerun the measurement with the same definition, shape, parameters and window length as phase 6; where that method cannot be rerun, say so and state what changed. Then rerun the guardrails. Specialist analysis (health, growth, cohorts, revenue) goes to its own skill; phase 7 orchestrates. Then read the go-to-market with
go-to-marketstep 7 (gate 7.8, feature and product tracks): per launch channel, reached, converted, its source and what happens next; on the product track the stage against its exit. Done when the actual, every guardrail and every launch channel have a tagged value or a stated gap. 3b. Feed the eval set. Where the spec declared model output, add each production output that failed the rubric in the window, and each model-caused incident, to the eval dataset: real input, what a correct output must contain,must_passfor safety or compliance. Done when every failure in the window is in the dataset, or the spec declared no model output. - Compare against the target (gate 7.1): baseline, actual, target, delta, all tagged. Done when the four numbers sit in one table.
- Apply the kill criteria as written (gate 7.2): metric, threshold, date, and the action they specified. State that verdict plainly before interpreting it; it often disagrees with step 4, and both stand. A reinterpretation after the fact is recorded as one. Done when the literal verdict is written above any interpretation.
- Read the overrides and the pace against the outcome: time per phase, gates failed before passing, who accepted what, spec changes after the build plan (
scripts/bos.mjs pacewhere commands run, the history events otherwise). Repeated spec rework after the plan means phase 4 was too thin, a process learning recorded next to the product one. Done when each override is weighed against the result. 6b. Retro on the agent's environment. Run retro on this cycle: the build's retro list from05-build-plan.md, then what the release and the review added. Done when the changes made are listed under**Environment:**. - Decide or defer. With an insufficient window or data, write
## REVIEW DEFERREDwith the reason and new date, runscripts/bos.mjs defer-review --review-due YYYY-MM-DD --reason "...", and stop with phase 7 open. Otherwise recommend KEEP, ITERATE or KILL (gate 7.3) with the re-entry phase and why, as onepressure-testinground with the comparison from steps 4 and 5 above it; the person decides, recorded as**Chosen by:**under the decision (gate 7.7). KEEP normally re-enters nowhere, ITERATE at phase 3 for a different mechanism or phase 4 for a different execution, KILL closes the bet. An ambiguous result defers, names the confounder, or states that the baseline was wrong; "we will keep an eye on it" is a deferral without a date. A closing KEEP writes the watch (gate 7.5): metric, bands, owner, recheck date. Every decision writes its Cleanup (gate 7.6): after KEEP the flag and the old path the rollout left behind, after KILL the code that shipped, with an owner, a date and a line inROADMAP.md→ Next; removing shipped code is achangeinitiative withremovalas its mandate. Done when the person's decision, its re-entry, the watch where due, and the cleanup are written. - Generalize the learning (gate 7.4): a reusable, evidence-bounded hypothesis or decision that stays true when the feature is gone, with population, observation, confidence, causal limitations and reopening condition. One before/after result is one observation. Done when the learning could change an unrelated decision.
- Persist it. A reversible learning goes to
.builderos/decisions/learning-{initiative}-cycle-{N}.mdwith source, population, confidence, limitations andRevisit when. A decision that is hard to reverse, surprising without context and a real trade-off (all three) also becomes an ADR perreferences/memory-templates.md. Done when the learning file and any ADR exist. - Write and gate. Write
.builderos/initiatives/{initiative}/07-outcome.mdper the outcome template, run gate 7 and record it with the decision (scripts/bos.mjs record 7 --verdict keep|iterate|kill [--reenter N]where commands run), which clearsreview_due. KEEP withRe-enters at: nonecloses the cycle; ITERATE incrementscycleand moves to the matching phase; KILL closes withRe-enters at: none, and another direction is a separately authorized initiative. InROADMAP.mda closed initiative moves to Done and dropped with the decision and the one-sentence learning; on ITERATE it stays under Now at the phase from step 7. Done when gate 7 is recorded and the roadmap matches state.
A later watch breach becomes a new initiative inside the lifecycle; recheck recording is in judging the outcome.
Watch for
| Do | Instead of |
| Rerun the recorded method, or state what changed | A different window or definition than phase 6 |
| Apply the kill criteria as written, then interpret | Reinterpreting them after seeing the result |
| REVIEW DEFERRED with a date and reason | Forcing thin data into KEEP |
| A learning that could change an unrelated decision | A summary of what happened |
Capabilities
| Capability | Used for | Floor if absent |
analytics.query | Rerunning the phase 6 measurement and guardrails | Ask the person for the number, tagged; gate 7.1 needs a tagged actual, live or supplied |
db.query | Outcomes that live in the application database | Same floor |
docs.search | What else changed in the window (confounders) | Ask what else shipped or ran |
files.read / files.write | Previous artifacts, this artifact, the ADR, state | Required |
An actual the person provides, tagged and compared against a tagged baseline, satisfies gate 7.1; the gate takes a source on both sides.
Output Contract
## OUTCOME RECORDED with the comparison, the kill-criteria verdict, the decision and who chose it, its re-entry point, the watch for a closing KEEP, the cleanup and the generalized learning; or ## REVIEW DEFERRED with the reason and the new date. Lifecycle output is 07-outcome.md per the outcome template.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

