prd-gate
Skill1 starsChanged 6 days agoMITView on GitHub
Mandatory plan-first gate. MUST trigger at the START of every sprint, feature request, enhancement, or refactor, before any code is written. No code without an approved PRD (Lite or Full). Use whenever the user says "new sprint", "let's build", "add a feature", "next sprint", describes new functionality, or asks for any change that touches architecture, schema, AI agents, scheduled jobs, or integrations. If you are about to write or edit code and no approved plan exists for the work, stop and run this gate first. Pairs with qa-gate.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- v60samurai/builder-ostheir own version, first seen Aug 13, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- v60samurai/builder-os★ 8same 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.
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. About 0 are common, 15 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Every sprint starts here. The point is to think through every angle, every connection and every architectural consequence BEFORE writing …
- Very specific: line 23
Update after ship: If decisions changed during the build, update the PRD to match what shipped and mark it Status: Shipped.
- Distinctive: line 27
Ask: "Does this change how parts of the system connect?"
- Distinctive: line 29
Full PRD: if the work involves ANY of:
- Distinctive: line 38
Lite PRD: only if ALL of these are true:
- Distinctive: line 40
No schema, endpoint, agent or scheduled-job impact
- Distinctive: line 44
When in doubt, Full. An unnecessary Full PRD costs 20 minutes.
- Distinctive: line 73
If any "Connections checked" item turns out false while you write it, upgrade to Full immediately.
- Distinctive: line 91
Open questions and rulings: Must be empty or ruled by name before Approved.
- Distinctive: line 110
Don't start until the owner says approved.
- Distinctive: line 114
Every acceptance criterion is verified before commit.
- Distinctive: line 115
Every box on the process map gets Match, Different or Not built before merge.
- Distinctive: line 116
Every retired piece passes qa-gate's kill guard: a test that fails if live code still calls it.
- Distinctive: line 118
Every scheduled job named in Section 6 appears in qa-gate's scheduled-job check.
- Distinctive: line 119
Every schema change passes qa-gate's schema check.
- Distinctive: line 125
If the work conflicts with a standing constraint or needs architecture changes beyond the sprint: don't expand scope or work around it.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PRD Gate: Spec Before Code
Every sprint starts here. The point is to think through every angle, every connection and every architectural consequence BEFORE writing code, so qa-gate has a contract to verify against and we never ship a bug born from an unexamined assumption.
The rule: no approved PRD, no code. No exceptions.
Workflow
- Human playback first. Three plain lines before anything else: the human situation (who, what went wrong, what they're trying to fix), the exact object and field changing (strict nouns from the project's canonical model file), and the Fogg read (when they notice, how hard the fix is). If the request could mean two or three things, list each meaning in one line and ask. See the playbook's
process/human-first.md. - Classify the work (Lite or Full, decision tree below).
- Scaffold the PRD in
docs/prds/from the template. - Fill every section from codebase inspection and the conversation. Mark real unknowns
TBD: [what's needed to resolve]. Never leave a section blank or skip one silently. Collapsing a section needs a one-line reason. - Interrogate the connections. Section 6 is the heart of the document: do the codebase archaeology, don't guess. 4b. Draw the process map (section 5b, Lite: the Map line). Every screen, every state (loading, in flight, success, error, empty, expired), every email, every side (asker, confirmer, viewer). Draw it from rulings or from code, never from memory. Every box gets a line in the gate: the file and the test that prove it. No map, no approval. 4c. Fill the new-user path from the code: which new-user steps this touches, which old pieces are still wired in, file and line. 4d. Kill check if anything retires: every dependent from the code with a verdict (retires with it / re-pointed to where / still live and why), plus the guard test. No section, no approval.
- Present to the owner for approval, map first. The owner's yes by name covers the map. Surface open questions and TBDs, each with a recommendation. Wait for an explicit yes by name. Nothing is approved in advance.
- Build against the PRD. Its acceptance criteria are the checklist qa-gate verifies before commit. Once approved, write the sprint's gates checklist at
docs/prds/gates/<plan name>.mdbefore any build code: one gate per acceptance criterion, with the qa-gate gate last. - Update after ship. If decisions changed during the build, update the PRD to match what shipped and mark it
Status: Shipped. A PRD that lies about the system is worse than no PRD.
Decision tree: Lite or Full
Ask: "Does this change how parts of the system connect?"
Full PRD if the work involves ANY of:
- New or changed tables or columns
- New endpoints, or changes to an endpoint's contract
- Any AI agent's behavior
- Any code path a scheduled job calls, even indirectly
- A new third-party integration or SDK
- Auth, payments, identity, permissions, or any score or status users rely on
- More than 3 files across module boundaries
Lite PRD only if ALL of these are true:
- One module, 3 files or fewer
- No schema, endpoint, agent or scheduled-job impact
- No new dependencies
- The change is cosmetic or isolated (copy, styling, log messages, config values)
When in doubt, Full. An unnecessary Full PRD costs 20 minutes. A missed connection costs days.
File convention
docs/prds/
PRD-2026-08-15-feature-name.md (Full)
LITE-2026-08-15-small-change.md (Lite)Status at the top of every PRD: Draft -> Approved -> In Progress -> Shipped -> Superseded
Lite template
# LITE: [Change name]
Status: Draft | Date: | Sprint:
**Problem:** [1-2 sentences: what's wrong or missing, and why it matters]
**Change:** [What will be done, which files]
**Out of scope:** [What this does NOT touch]
**Connections checked:** [Confirm: no schema / no endpoints / no agents / no scheduled jobs / no new deps]
**Acceptance criteria:** [Testable statements]
**Map:** [Process map: every screen, state, email and side touched, each box with its file and test. See templates/process-map.md]
**New-user path:** [Filled from the code: new-user steps touched, old pieces still wired in, file and line. "None" needs a reason]
**Kill check:** [Only if something retires: each dependent, its verdict, the guard test. Otherwise "nothing retires"]
**Risk:** [Worst case + rollback plan]If any "Connections checked" item turns out false while you write it, upgrade to Full immediately.
Full template
The full template is at assets/prd-template.md. Sections:
- Human walkthrough. The trigger moment, the screen-by-screen action, the other side of the loop, and the do-nothing path (what the person sees on days 3, 7 and 14 if they never act). Written before any requirement.
- Problem and why now. One paragraph in user terms. Name which leg of B=MAP (motivation, ability, prompt) it fixes.
- Goals and success metrics. Measurable. For AI features: accuracy, hallucination, latency and cost targets.
- Non-goals. Explicit exclusions. This section prevents agent drift more than any other.
- Users and use cases, including edge cases.
- Functional requirements and acceptance criteria. Numbered FR-1, FR-2, each testable. These are qa-gate's contract. 5b. Process map. The flow drawn box by box, with a gate line per box (file and test). The map is the contract the build is checked against. 5c. New-user path. Filled by the builder from the code. 5d. Kill check. Only if something retires.
- Architecture and connections. THE CORE SECTION.
- Failure modes and edge cases.
- Rollout and rollback. Switch (feature flag) name, migration order, how to undo.
- Open questions and rulings. Must be empty or ruled by name before Approved.
- Task breakdown. Agent-sized chunks in dependency order, each naming its design board if it's UI.
Section 6 discipline
Fill it from the actual code, not memory:
- Data model: for every table touched, paste the current column list from the schema file. For each new or changed column: name, type, nullability, default, and which similar tables do NOT have it (the wrong-table trap).
- Dependency map: for every function or service you change, search for its callers and list them. If a scheduled job is in the chain, name it.
- Endpoint contracts: method, path, request, response, auth, before and after.
- Standing constraints: confirm in writing that the design respects every hard guard in the project's
CLAUDE.md.
Approval gate
Present with:
- The process map, first
- A 3 to 5 sentence summary (what, why, biggest risk)
- The open questions, each with a recommendation
- Lite or Full, and why
Don't start until the owner says approved. If something mid-build invalidates part of the PRD: STOP, update the PRD and its map, flag it, and get re-approval on the changed sections.
Handoff to qa-gate
- Every acceptance criterion is verified before commit.
- Every box on the process map gets Match, Different or Not built before merge.
- Every retired piece passes qa-gate's kill guard: a test that fails if live code still calls it.
- Nothing a user sees is stamped Shipped until the new-user walk is done (
process/new-user-walk.md). - Every scheduled job named in Section 6 appears in qa-gate's scheduled-job check.
- Every schema change passes qa-gate's schema check.
- The qa-gate output includes:
PRD: [filename] - all acceptance criteria verified: YES/NO. A NO blocks the commit. - With a gates checklist, YES may only be written when
scripts/gates-check.shshows 0 open runnable gates.
Escalation
If the work conflicts with a standing constraint or needs architecture changes beyond the sprint: don't expand scope or work around it. Write the conflict into Open Questions, present options with trade-offs, and wait for direction.
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.

