跳到正文
cccskills
免费在 GitHub 公开

outcome-review

Post-launch review of a shipped PRD against the brief's success metrics. Did we move the metric? What did the data actually show? Which assumptions held, which broke? Which accepted-gap decisions resolved (confirmed vs. invalidated)? What would we do differently? Triggers on "outcome review", "did it work", "post-launch review", "did we move the metric", "retro the feature", "was it worth it". Produces a Confluence outcome-review page and updates the brief + linked decisions.

中文简介正在准备中。当前显示原文说明。

集成工具ConfluenceJira
查看安装方法

包含的文件(2)

  • SKILL.md6.3 KB
  • .reef-manifest.json295 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Outcome Review — did it work?

Prerequisites

  • A PRD that has shipped (or reshaped) exists in Confluence.
  • jira plugin (required); Atlassian MCP authorized.
  • Ideally, access to whatever dashboards / data the brief's success metrics depend on.

Load references:

Step 1 — Locate the PRD and brief

From $ARGUMENTS: PRD page ID or title. If none, CQL-survey the user's shipped PRDs:

creator = currentUser() AND label = "prd"

Filter client-side for status = shipped or status = ready-for-tickets (for PRDs where tickets are filed but the work hasn't been explicitly marked shipped). AskUserQuestion if multiple.

Read PRD → extract brief_ref + linked_jira + linked_decisions. Read the brief → extract the success metrics and the four-risks assumptions.

Fetch each linked Jira ticket's current status via getJiraIssue. Produce a short summary of which shipped and when.

Step 2 — Session scratch

Seed ${CLAUDE_PLUGIN_DATA}/sessions/<session-id>/outcome-review.md from template. Pre-fill the brief's success metrics and current Jira states.

Step 3 — Interview

Q1 — Metric movement

AskUserQuestion, based on the brief's primary success metric:

  • "Yes — the metric moved in the intended direction and at roughly the expected magnitude"
  • "Partially — some movement but below target, or in the right direction on a leading indicator without the lagging indicator following"
  • "No — the metric did not move (or moved the wrong way)"
  • "Too early — we don't have enough data yet"
  • "Can't tell — the instrumentation / data is missing or noisy"

Q2 — What the data shows

Open text. "In specifics: what did you actually see?" Push for numbers, not impressions. Push for sources: a dashboard link, a query result, a report.

If the answer is "I haven't looked," note that as a follow-up item — this review is premature and should be rescheduled.

Q3 — Assumptions: which held?

Walk through the brief's four-risks assumptions one by one. For each:

AskUserQuestion:

  • "Held — the assumption turned out to be correct"
  • "Broke — the assumption was wrong, and we can say in what way"
  • "Untested — the feature didn't stress this assumption enough to know"

Open text follow-up: "What happened? What did we learn?"

Q4 — Decisions: which resolved?

For each decision page in the PRD's linked_decisions:

Read the decision page → show the user the original risk_accepted text.

AskUserQuestion:

  • "Confirmed — the risk we accepted did not cause problems (or the gap was closed in practice)"
  • "Invalidated — the risk bit us, in the specific way described or differently"
  • "Still pending — we can't tell yet"

Open text follow-up for the "what actually happened" detail.

These answers will update each decision page's outcome field in Step 6.

Q5 — What would we do differently?

Open text. Look for concrete process or scoping lessons, not vague "we should have done more research" platitudes. Push for specifics: "What specifically would you change about how you ran this?"

Q6 — What's the next step on this feature?

AskUserQuestion:

  • "Ship as-is, monitor — done for now"
  • "Iterate — plan V2 based on what we learned"
  • "Reshape — the outcome suggests the solution should change materially"
  • "Kill / roll back — the outcome doesn't justify the maintenance cost"
  • "Too early — revisit in <X weeks>"

This becomes the next_step note at the bottom of the review.

Step 4 — Summary + sentiment

Show the user the full review. Ask for edits. Sentiment + free-text prompt.

Step 5 — Publish to Confluence

Default: PE › Retrospectives (ID 352157716), label outcome-review.

Resolve helper, render, createConfluencePage. No draft label (outcome reviews are one-shot artifacts — either published or not).

Step 6 — Update linked artifacts

  1. Brief Page Properties: set status to shipped (if reviewed) or reshaped / killed based on Q6. Add a link to the outcome review.
  2. PRD Page Properties: same status update; add link to outcome review.
  3. Each decision page: update outcome to match Q4 answer; add a link to the outcome review in its body.
  4. Jira tickets (if user confirmed): optionally append a comment on each linked ticket pointing to the outcome review.

Step 7 — Telemetry

Log session via MCP updateConfluencePage per references/telemetry.md. Skill = outcome-review, artifact_type = outcome-review.

One extra signal worth capturing: did this outcome review change the decision-log outcomes? If yes, that's a real data point for the spike-learnings doc — append an entry under the "Hook-acceptance feedback loop" dimension noting whether the decisions we forced to be recorded paid off.

Never

  • Never skip Q4 (decisions resolved). The whole point of the decision log is to close this loop.
  • Never let Q1 "Yes" through without Q2 specifics. A yes without data is a wish.
  • Never write an outcome review that simply says "it shipped, everyone seems happy." If the interview produces no specifics, that is itself the finding — record it and propose next steps to instrument the feature.
  • Never silently downgrade an invalidated assumption. Flag it visibly so V2 planning sees it.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

中文简介正在准备中。当前显示原文说明。

SDiamante13/dotfiles112026年10月2日 更新

catchup

免费

Rebuilds session context after a clear by reading git history, plans, and beads state. Triggers on 'catch up'.

中文简介正在准备中。当前显示原文说明。

SDiamante13/dotfiles112026年10月2日 更新

changelog

免费

Generate a bullet-point summary of branch changes for a PR description. Triggers on "changelog", "pr summary", "summarize branch", or "/changelog".

中文简介正在准备中。当前显示原文说明。

SDiamante13/dotfiles112026年10月2日 更新

commit

免费

Commit the current changes with quality checks, status review, staged diff inspection, appropriate tests, and a clear commit message. Use when the user says "commit", "c", asks to make a commit, or wants changes saved in git.

中文简介正在准备中。当前显示原文说明。

SDiamante13/dotfiles112026年10月2日 更新

declutter

免费

Refactor code to remove dead code, useless comments, unused variables, and unused imports. Use when asked to declutter a class, clean up noisy code, remove cruft, or run `/refactor:declutter`.

中文简介正在准备中。当前显示原文说明。

SDiamante13/dotfiles112026年10月2日 更新

dry

免费

Refactor duplicated code by extracting helpers, shared abstractions, or clearer reusable structure. Use when asked to apply DRY, remove duplication, consolidate repeated logic, or run `/refactor:dry`.

中文简介正在准备中。当前显示原文说明。

SDiamante13/dotfiles112026年10月2日 更新

查看 SDiamante13 的全部技能

报告此技能的问题