prd-review
Skill1 starsChanged 32 days agoMITView on GitHub
Convene the crew's review of a project's brief (docs/PRD.md) and then of its design (docs/TDD.md): every live crew seat plus two Scrooge readers review the document independently against one rubric, the orchestrator synthesizes their verdicts into one consensus and puts it to the operator, and the build cards open only after the TDD passes. Use when a wake says "docs/PRD.md is the brief; run /trantor:prd-review", when asked to have the crew review a PRD or a TDD, or to resume at the TDD phase. Trigger: /trantor:prd-review [prd|tdd]
16 other projects use a version of this.
Adopted by
Most recently taken up by
- jikefan/product-manager-skillstheir own version, first seen Nov 8, 2026
- ritamgh/claude-skillstheir own version, first seen Nov 1, 2026
- The-AI-Thinker/claude-code-pm-startertheir own version, first seen Oct 15, 2026
- wuyining0130/c-roomtheir own version, first seen Oct 15, 2026
- osac-project/osac-ai-skillstheir own version, first seen Oct 13, 2026
- caiaffa/claude-code-ultimate-engineering-systemtheir own version, first seen Sep 14, 2026
Used with
Projects with it also use design-review and security-review.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
dillonluiSkilldesign-review
Review a view or flow for UX and UI issues. Provides severity-ranked, actionable findings grounded in established design heuristics. Use when the user asks for design feedback, UX review, or UI critique.
Also in 3 projects that use this
SentrySkillsecurity-review
Finds exploitable application security vulnerabilities in code changes. Use for Warden security scans, appsec review, OWASP-style checks, authentication or authorization bugs, injection, XSS, SSRF, path traversal, secrets, unsafe crypto, webhook verification, open redirects, or sensitive data exposure.
Also in 3 projects that use this
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- cenconq25/claude-code-app-studio★ 40same name
- TayaIntelligence/skills★ 32same name
- caiaffa/claude-code-ultimate-engineering-system★ 17same name
- The-AI-Thinker/claude-code-pm-starter★ 13same name
- andrewthetechie/andrew-skills★ 6same name
- yihannangua/prd-review-skill★ 5same name
- jikefan/product-manager-skills★ 4same name
- shitiandou83-maker/claude-skills★ 2same name
- janellecipriano/pm-skills★ 1same name
- mikeweib/claude-skills★ 1same name
6 more not listed
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.
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 0 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 80
Run the two Scrooge reads first (they are stateless and need no card id), then open the card with relay_task_add:
- Very specific: line 175
Start the build as the crew skill's phase 3: contracts over the bus, one file-set per seat.
- Very specific: line 176
Every contract ends the same way: the seat moves its card to testing with the evidence and stops there.
“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PRD review: the crew reads the brief before anyone builds
Ruled by the operator on 2026-09-02: every PRD that gets ingested is reviewed by as many members of the crew as are live, the crew reaches consensus on whether it is good enough to move on to the TDD, the TDD gets the same review, and only then does the build start. A solo orchestrator that recaps the brief and proposes a plan is exactly what this replaces: one reader's blind spots become the product's. Lateral cross-review is the reliability argument, so the reviews are INDEPENDENT.
You are the project's ORCHESTRATOR. You convene, you dispatch, you synthesize, you record. You do not review the document yourself and you never vote: a verdict of yours would be one more opinion from the one seat that also decides what the opinions mean.
Phase argument: none or prd runs the PRD phase and continues into the TDD phase on a pass;
tdd resumes at the TDD phase when the PRD card is already done (a turn or a session ended in
between).
0. The board first
relay_board. A card titledPRD review: <project>(fortdd:TDD review: <project>) that is not done is THE card: continue on it, never open a second one. Its notes hold the roster and every verdict so far.docs/PRD.mdmust exist in the checkout. If it does not, say so and stop: there is nothing to review, and a review of a brief that is not written down is not a review.
1. Establish the reviewers
The reviewers are, by the ruling, every live seat of the project's crew plus two Scrooge readers on two different models.
- Crew seats.
relay_peerslists the live sessions. A reviewer is every online<cli>:<project>seat of THIS project (codex:<project>,glm:<project>,kimi:<project>, …). Not reviewers: you, the operator's host session (<host>:<project>), and tool identities such asgenesis:<project>. - No crew live? Bring one up FIRST through
/trantor:crew:relay_advisewith the review as the work, thentrantor up …with the SUBSCRIPTION seats the operator's profile declares (trantor profile), and read the launcher's verdict: only a seat that verified on the bus reviews. Choosing the brief path already authorized a review crew; do not ask again, and do not substitute metered API seats the profile did not select. - Two Scrooge readers.
relay_scroogetwice with the identical rubric and the full text ofdocs/PRD.mdin the prompt (the cheap model sees only the prompt; usetask: "reason", ortask: "long-context"for a brief beyond about 40k characters). Each receipt names itsprovider/model; the two must differ. If the second lands on the same model, retry it at a differentdifficulty(the router escalates to a different model). If two distinct models cannot be had, proceed with one and say so on the card: never describe one model twice as two independent readers.
The roster (seat ids plus the two provider/model receipts) goes into the review card's opening
note and is FROZEN: the TDD phase uses the same seats and the same two models. A seat that dies
between phases is restored with trantor up, not replaced by a different reviewer.
2. The rubric
One rubric for every reviewer, in this order, in these words:
- completeness — what the brief covers and what it leaves unsaid;
- ambiguity — statements that two builders would implement differently;
- feasibility and risk — what is hard, what could fail, what depends on the unknown;
- missing requirements — what the brief needs and does not contain;
- a proposed scope cut — the one thing to drop or defer first;
- VERDICT: READY or VERDICT: REVISE, with the gaps listed.
A review note that lacks any of the six parts is incomplete: bounce it to the reviewer with a direct message naming the missing part. Never fill a part in on a reviewer's behalf.
3. One card, one item per reviewer
Run the two Scrooge reads first (they are stateless and need no card id), then open the card with
relay_task_add:
- title
PRD review: <project>, phasePRD, difficultyhard, assigned to you, statusdoing; checklist: exactly ONE item per reviewer, labelled with the reviewer's identity (codex:<project>,glm:<project>,scrooge deepseek/deepseek-v4-flash, …);- the opening
note: the document path, the frozen roster, the six-part rubric, and the consensus rule from §4; drill: what the operator does and sees for this card ("the operator reads the roster and every verdict in the ask, and their decision is the last note on this card"). Every card names its drill (build doctrine rule 1); the hub refuses a move to done on a card without one.
Append each Scrooge verdict UNCHANGED as a card note prefixed with its receipt's model, then tick that model's item. Carrying a reader's verdict onto the card is transport, not a vote of yours.
Then relay_send every crew seat the same contract, as a DIRECT message (broadcasts do not wake
a seat), under 280 characters:
PRD review card #
<id>: read docs/PRD.md in your worktree. Note on the card, in order: completeness, ambiguity, feasibility+risk, missing requirements, one proposed scope cut, then VERDICT READY|REVISE with the gaps. Tick your item (index<n>). No file edits.
A seat records its review with relay_task_move to the card's CURRENT status carrying the note
(the note is the review; the move is how a note lands), then ticks only its own checklist item
with relay_task_check. Reviews are independent: a seat that quotes another seat's note gets a
bounce, not a tick.
4. Consensus, then the operator
Supervise as the crew skill's foreman loop: relay_wait, sweep the card and relay_peers, nudge
a silent seat by direct message, trantor up a dead one and resend its contract. The review is
in when every checklist item is ticked and every note has the six parts.
- All READY = the crew's pass.
- Any REVISE = you merge every gap from every reviewer, READY ones included, into ONE revision request: deduplicated, attributed, ordered by how many reviewers raised it.
Either way the outcome goes to the OPERATOR in ask mode: this gate is always asked, never
auto-fired. Present the roster, one line per verdict, the merged revision request when there is
one, and the crew's outcome, then ask (AskUserQuestion when the harness offers it, plain chat
otherwise). The operator may confirm the consensus, override a REVISE into a pass, or send a
unanimous READY back for revision. Record the decision and its reason as a card note.
- Pass: move the card to
testingwith the tally (n READY / m REVISE, the decision), then todone. Continue with the TDD phase. - Revise: hand the operator the revision request; the operator revises
docs/PRD.mdor asks you to draft the revision for their approval. When the file changes, untick every item (relay_task_checkwithdone: false), re-dispatch the same roster on the SAME card, and repeat §3 and §4.
5. TDD phase (/trantor:prd-review tdd resumes here)
The PRD card is done. Now one author writes the design and the same reviewers review it.
- Author. Pick ONE live crew seat as the author (the strongest coding seat the profile
gives you; say which and why on the card). Its contract: write
docs/TDD.mdfrom the accepted PRD, covering architecture, the interfaces and data flow (the event/interface contract between agents), file ownership as one file-set per seat, dependencies, the verification plan, risks, and a work breakdown of build packages each taggedeasy|medium|hard. The author does not review its own design. - Card. Open or reuse exactly one
TDD review: <project>card in phaseTDD. Its checklist starts withauthor <seat>: docs/TDD.md written, followed by one item per reviewer of the frozen roster minus the author. The author ticks its item only once the file exists. - Rubric, adapted to a design: completeness (every PRD requirement has a home in the design),
ambiguity, feasibility and risk, missing design pieces (interfaces, ownership, verification),
a proposed scope cut,
VERDICT: READYorVERDICT: REVISEwith the gaps. Same Scrooge reads withdocs/TDD.mdin the prompt, same direct contracts to the seats, same note shape, same ticking rule. - Same consensus, same operator gate as §4, on the TDD card. A revision goes back to the author, not to the operator to write.
6. On a TDD pass: the build cards open themselves
The confirmed TDD is the gate. Do not ask the operator again merely to open its build cards.
But confirm the TARGET PROJECT before dispatching, always. An ambiguous instruction ("build it
where the answers are stored") is not a project name — it does not license bringing up seats in, or
sending contracts into, a DIFFERENT project than the one you are reviewing. Name the project and ask
the operator once if the brief points anywhere but here. Mechanically: the target project is
confirmed from the session's badge and cwd before any relay_send, relay_task_add or trantor up
— never inferred from the instruction. The same discipline guards attention: a session that is
asking the operator a question never triggers a wake — its messages batch until the answer arrives.
Cross-project action is a breach unless the
operator linked the projects (trantor policy link <a> <b> --reason "<why>"), and the hub, the
trantor up CLI, and every seat's runner all refuse it mechanically — belt and braces, not a
substitute for getting the target right in the first place.
- Move the TDD card through
testingtodonewith the tally and the decision. relay_advisewith the work breakdown's packages, then onerelay_task_addper package: phasebuild, the advisor's assignee andmodel, itsdifficulty,depson the packages it needs first, achecklistof its acceptance tests from the TDD's verification plan, and adrill: the exact thing a person does on the built artifact and what they must see, taken from the TDD's verification plan. A build card without its model set is a defect; a build card without its drill is not ready to be worked, and the hub refuses to close it (409 on a move to done with no drill line).- Start the build as the crew skill's phase 3: contracts over the bus, one file-set per seat.
Every contract ends the same way: the seat moves its card to
testingwith the evidence and stops there. The seat that wrote the code never closes its own card to done; you run the card's drill on the built artifact, write the result on the card, and close it. How far the build may go on its own (commit, push, deploy, handing off) is the project's autonomy dial (trantor autonomy); the dial governs the build, not the opening of its cards.
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.

