outcome-tracker
Record the testable predictions inside a decision, then score them against reality later — so frameworks earn trust from outcomes, not vibes. Use wh…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Outcome Tracker Skill
Every prioritisation, forecast, and launch plan makes predictions — then everyone forgets to check them. This skill closes the loop: extract the predictions at decision time, park them somewhere durable, and score them against reality on a schedule. Over time it answers the question no one can answer today: which of our frameworks actually predict outcomes?
What This Skill Produces
- At decision time: a prediction record — each claim made falsifiable, with a metric, a direction/target, a check-by date, and a stated confidence
- At review time: an outcome scoring of due predictions (hit / miss / partial / unresolvable), with what was learned
- On demand: a calibration report — per-framework and per-confidence-band hit rates from the accumulated records
Required Inputs
Ask for (if not already provided):
- Mode — record (new decision), review (score due predictions), or calibrate (analyse the history)
- Record mode: the decision artifact (RICE table, forecast, launch plan, OKR set) and where records live (a
predictions/folder in the Brain, or a JSON/markdown file in the repo) - Review mode: the stored predictions plus current metric values for the due ones
- Calibrate mode: the prediction history (the calculator below reads it as JSON)
Making Claims Falsifiable (record mode)
Walk the artifact and force each implicit claim into this shape — a prediction that can't fill the row doesn't get recorded, it gets flagged as untestable:
| Field | Rule |
|---|---|
| claim | One sentence, future tense, about a measurable effect ("onboarding redesign lifts activation") |
| metric | The exact instrumented metric, with today's baseline |
| predicted | Direction + magnitude band ("+10-20% relative") — bands beat point estimates |
| confidence | 0.5–0.95, from the author, recorded before the outcome is knowable |
| check_by | The date the effect should be visible if real; also the review trigger |
| framework | What produced the claim (rice-prioritisation, gut call, sales-forecasting-model…) — this is what calibration is about |
Typical yields: a RICE table → one prediction per top-3 item (impact claims); a forecast → the quarter's number; a launch plan → its success metrics; an OKR set → each KR's target.
Scoring (review mode)
For each prediction past its check_by: hit (actual within the predicted band), partial (right direction, wrong magnitude), miss (wrong direction or no effect), unresolvable (metric never instrumented, or confounded by a simultaneous change — record why; a pile of unresolvables is itself a finding about how the team instruments its bets). Never rescore or reinterpret the original claim to make it a hit — the record is append-only.
Programmatic Helper
scripts/outcome_calibration.py (stdlib-only) computes the calibration report from a JSON array of prediction records:
python3 scripts/outcome_calibration.py predictions.json
echo '[{"framework":"rice-prioritisation","confidence":0.8,"outcome":"hit"}]' | python3 scripts/outcome_calibration.py -
It reports per-framework hit rates (hits + half-credit partials over resolved), per-confidence-band calibration (do 80%-confidence claims land ~80% of the time?), and flags overconfident bands. Use the computed numbers; don't estimate them.
Brain Integration
If a [professional-brain](../professional-brain/SKILL.md) (brain/) exists, records live in brain/predictions/<id>.md (one file per prediction, fields as frontmatter, [hunch]/[data] provenance on the baseline) and review mode starts by listing files with check_by in the past. Pair with schedule-recipe to run review mode monthly — outcome tracking only works as a ritual, not an intention.
Output Format
Record mode:
Predictions registered: [decision] — [date]
| # | Claim | Metric (baseline) | Predicted | Confidence | Check by | Framework |
|---|---|---|---|---|---|---|
Untestable claims flagged: [claim → what instrumentation would make it testable]
Review mode:
Outcome review — [date]
| # | Claim | Predicted | Actual | Outcome | Learning |
|---|---|---|---|---|---|
Now due next: [next check_by dates]
Calibrate mode: the calculator's report plus 2-3 sentences of interpretation — which framework has earned trust, where the team is overconfident, and the single instrumentation fix that would resolve the most unresolvables.
Quality Checks
- [ ] Every recorded prediction has all six fields — no "improve activation" without a metric, band, and date
- [ ] Confidence was stated before the outcome was knowable, never backfilled
- [ ] Review scored every due prediction, including the embarrassing ones — no silent skips
- [ ] Unresolvables carry a reason, and the calibration report counts them separately from misses
- [ ] Calibration numbers come from the calculator, not estimation
Anti-Patterns
- [ ] Do not reinterpret a claim after the fact so it scores as a hit — the original wording is the contract
- [ ] Do not record point estimates when the author thinks in ranges — bands are honest, points are theatre
- [ ] Do not let a framework take credit for hits and blame "execution" for misses — score the prediction as made
- [ ] Do not compute calibration on fewer than ~10 resolved predictions per framework — report "insufficient history" instead
- [ ] Do not skip recording because the decision feels obvious — obvious bets that miss are the most valuable calibration data
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
同名技能的其他版本
有 3 个不同仓库或目录里都有叫 outcome-tracker 的技能。它们内容并不相同,别混用:
- mohitagw15856/pm-claude-skills — Record the testable predictions inside a decision, then score them against reality later —
- mohitagw15856/pm-claude-skills — Record the testable predictions inside a decision, then score them against reality later —