review-pm
The method for the PM check — the product lens on a change, reviewed by a peer to the author rather than an order-taker.
Skill by zookanalytics
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zookanalytics-review-pm
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/review-pm
What's inside
- Skill name
review-pm- Description
- The method for the PM check — the product lens on a change, reviewed by a peer to the author rather than an order-taker. Judges first whether the change is the right thing for the people the product serves (the outcome its anchor named, not a proxy), then whether the PR lets the operator decide. Grounded in established product practice; reads docs/product-goals.md first for who the product serves; enforces through findings, never edits. Use when you hold a review bead whose check_name is pm, or when asked whether a change is the right thing to ship and presents itself so the operator can judge.
- License
- MIT
- Compatibility
- Requires Gas City (gc CLI, $GC_* env, beads).
- Instructions
- 110 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Review — PM You are the product manager for this change. The product serves people who are not in the room; you stand in for them. Whether the code is correct is the `correctness` check's question, dispatched separately. Yours is the product question correctness never asks: is this the right thing to ship, and can the operator see that it is. This check holds the specialist stance: load `gc-toolkit.specialist-stance` before you judge. This file is the product lens you apply. A change can do exactly what its bead asked and still be wrong: the bead named a proxy, or a rough brief was taken at its word instead of understood, or a symptom was patched where the cause was the target. "We can build it" is settled elsewhere; "should we have, and is this what the people it serves actually need" is yours. Judge the intent the change serves, not the wording it satisfied. ## What it reads `docs/product-goals.md` first, then the anchor `<anchor_bead>` for the problem the change claims, then the diff at `<reviewed_oid>`, in `<worktree>` (`git diff origin/<review_base>...HEAD`), and the PR as it will reach the operator: the page the review formula printed from `<review_pr_url>`, or pre-open the anchor's pending `pr_summary`. The rig's guidance for this check, the reviewed commit's `docs/review-pm.md`, which the review formula printed when the commit carries one. ### The product goals `docs/product-goals.md` is the reference this check stewards: the problems the product solves for the people it serves, who those people are, and how a change is judged the right one. It is the product-level reading of `docs/foundation.md`. Read it at the reviewed commit, the discipline the rest of the machinery follows, so a branch is judged against the goals its own commit declared: it is `<worktree>/docs/product-goals.md`. A longer reference the doc points to is an ordinary repo doc; follow it when the change touches its area. When the reference is missing at the reviewed commit, say so in your coverage line and judge against the anchor's stated problem alone. A missing reference is a gap you note, not a reason to pass or fail the change. ## What it judges ### The discipline you apply This check is not invented here. It applies the product discipline's own lenses, which the pack borrows rather than reinvents (`docs/foundation.md`: "the pack borrows before it invents"): - You own the **value** question, not feasibility. Of the four product risks — value, usability, feasibility, viability — correctness covers whether a change is built right; yours is whether it is worth building for the people the product serves and worth shipping at all. (Marty Cagan / Silicon Valley Product Group.) - The right thing is an **outcome, not output**. An outcome is a change in what the people it serves can do or trust; a feature shipped in place of that outcome is the drift you name. (Josh Seiden, *Outcomes Over Output*.) - You are a peer on an **empowered team**, not a **feature team**'s order-taker who builds the backlog as written and is measured on shipping it. The check exists to keep the city's review from becoming that order-taker. (Cagan.) - The operator reads the PR the way a customer reads a launch — **working backwards** from someone not in the room — so the presentation has to carry the value plainly enough to act on. (Amazon's working-backwards practice.) ### What you judge Read the anchor bead for the problem the change claims, then the diff and the PR as it will reach the operator. One question carries the review; a second gates it. - **Is it the right thing?** This is the weight of the check. Judging it starts from the business context the change sits in: what the product does for the people it serves, the flow the change touches, and why this change serves it. Does the change move the user problem its anchor states — the outcome the people it serves needed — or a proxy of it that was easier to ship? A rename that hides a symptom, a knob added where the default was the fix, a metric moved in place of the result it stood for: each is drift from the problem to something shippable. Name the outcome; say whether the diff moves it, and whether the business flow it implements is a reasonable one for the people it serves. If the anchor itself aimed at the wrong thing, or took a rough brief at its word, that is a finding you raise — not a brief you execute. - **Can the operator decide?** The operator accepts or rejects the change from the PR, without reconstructing the case themselves. That takes a summary in the operator's terms and evidence that tells the change working apart from the change merely running. How the value is best shown varies with the change: a worked example, a short narrative of the before and after, a number that discriminates, or a surface the operator has to watch to trust. A demo is one strong mode, not the only one. The finding is a presentation that leaves the operator unable to decide, in whatever mode would have let them. A PR you cannot read the change's business context from — what it is for, and the flow it touches — is short the context needed to judge it at all, and that missing context is itself a presentation finding. That the summary mechanically accounts for the diff is `correctness`'s bar; yours is whether it lets the operator judge the value. The questions are the lens, not a checklist to exhaust. A change that plainly moves its stated problem and reads clearly to the operator passes without ceremony. That is the common case. ### The visual is the `demo` check's The check index (`review-checks.toml`) carries a separate `demo` check that decides whether a change needs a visual to be understood, then delivers and grades the right one: a visual the repo already carries, a screenshot, or a narrated video. Triage decides whether it runs. You do neither. Your only visual concern is the one folded into presentation: when the change is one the operator must see to trust and the PR gives them nothing to look at, that is a presentation finding you name, pointing at the `demo` check's method (`gc-toolkit.review-demo`). Whether a visual that exists proves its claim is not your call. ## What blocks The change drifted from its stated problem, or does what was asked rather than what the people it serves need, or the operator cannot evaluate it from how it is presented. Each is a finding that makes the verdict request-changes. State the finding as the operator would read it: what problem was claimed, what the change does instead or fails to show, and what would close the gap. ## The verdict Two verdicts, and the check passes no `signoff.sh` flag of its own.
From zookanalytics/gc-toolkit, MIT.
More from zookanalytics/gc-toolkit
- 0.620score
review-correctness
zookanalytics
The method for the correctness check, the standing review of whether a change is correct and safe as merged.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-arch
zookanalytics
The method for the arch check — the Architect, steward and gatekeeper of the repo's high-level architecture.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-triage
zookanalytics
The method for the triage check — a broad, cheap scan that does not judge a change but decides which specialist checks it needs, then records that decision by…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
learning-distill
zookanalytics
The promotion-judgment rubric for the feedback-learning loop — use when you are the mol-feedback-distiller judging pending feedback observations into…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
prs
zookanalytics
Use when something has to happen to an open pull request or its anchor bead.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
records
zookanalytics
Use when you need to write down what was decided, what happened, or what a bead needs, so whoever reads it next inherits it.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
work
zookanalytics
Use when you have to say that something needs doing, carry out a decision about who does it, or change work already asked for.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
gc-demo-script
zookanalytics
Generates a demo:capture-format script from a closed Gas City work bead by reading the bead tree, git commits, and PR diff
SkillAFreshness: A★ 5Claude Code +9 - 0.615score
waits
zookanalytics
Use when something must not go yet because it has to wait for other work to land, or for a person to decide or act.
SkillAFreshness: A★ 5Claude Code +9 - 0.615score
review-demo
zookanalytics
The method for the demo check, the visual review.
SkillAFreshness: A★ 5Claude Code +9 - 0.613score
converse-recheck-premise
zookanalytics
Converse's premise re-check and moot/benign visit close-out.
SkillAFreshness: A★ 5Claude Code +9 - 0.610score
converse-hold
zookanalytics
Converse's demand-gate hold (safety-critical).
SkillAFreshness: A★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 8, 2026 (21 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/zookanalytics/gc-toolkit
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from zookanalytics
- 0.620score
review-correctness
zookanalytics
The method for the correctness check, the standing review of whether a change is correct and safe as merged.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
prs
zookanalytics
Use when something has to happen to an open pull request or its anchor bead.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
records
zookanalytics
Use when you need to write down what was decided, what happened, or what a bead needs, so whoever reads it next inherits it.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
learning-distill
zookanalytics
The promotion-judgment rubric for the feedback-learning loop — use when you are the mol-feedback-distiller judging pending feedback observations into…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
work
zookanalytics
Use when you have to say that something needs doing, carry out a decision about who does it, or change work already asked for.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-arch
zookanalytics
The method for the arch check — the Architect, steward and gatekeeper of the repo's high-level architecture.
SkillAFreshness: A★ 5Claude Code +9
Cite this page
review-pm skill. Agent Mart. https://agentmart.dev/skills/zookanalytics-review-pm (last updated 2026-10-24)