PRD — [Human-Readable Name]
§1 Problem Statement
What fails without this: [One or two sentences on the gap this fills — what currently breaks, wastes time, or gets done poorly]
Transcript evidence:
“[direct quote from session]” — [Speaker]
§2 Trigger Surface
Should fire on (include indirect cases):
- “[real user phrasing]”
- “[alternate phrasing]”
- “[indirect case — user describes the need without naming the tool]”
Should NOT fire on (near-misses):
- “[phrase that sounds similar but needs a different tool]”
- “[context where this is the wrong approach]”
- “[false positive case — shares keywords but different intent]“
§3 User Journey (Happy Path)
- [Step 1 — what the user does or provides]
- [Step 2]
- [Step 3]
§4 Step Classification
| Step | Type | Justification |
|---|---|---|
| Step 1 | code | inference | hybrid | [why — “inference” requires a reason code cannot handle this] |
| Step 2 | code | inference | hybrid | [why] |
| Step 3 | code | inference | hybrid | [why] |
Rule: Every “inference” classification requires a written justification. If you cannot state why code cannot handle a step, reclassify it as code.
§5 Inference Call Contracts
| Call | Input schema | Output schema | Why not code |
|---|---|---|---|
| [step name] | [what goes in] | [what comes out] | [reason] |
§6 References Needed
Always in body: [context needed on every invocation — keep body under 5K tokens]
Conditional: [file path — load only when X occurs]
§7 Known Gotchas
- [Gotcha — what breaks and why, plus the correct behavior]
§8 Eval Cases
Trigger Evals
| User input | Expected | Rationale |
|---|---|---|
| ”[exact phrasing]“ | fire | no-fire | [why] |
| “[near-miss phrasing]“ | fire | no-fire | [why] |
| “[indirect case]“ | fire | no-fire | [why] |
Output Evals
| Scenario | Input | Expected output shape | Pass criterion |
|---|---|---|---|
| Happy path | [input] | [what it should produce] | [how to verify] |
| Edge case | [input] | [what it should produce] | [how to verify] |
| Failure mode | [bad input] | [graceful handling] | [how to verify] |
§9 Composition
Assumes loaded: [skills this depends on, or “none”]
Potential conflicts: [skills with overlapping triggers, or “none identified”]
Routing position: [where this sits relative to existing assets]
§10 Success Criteria
- [Concrete, verifiable criterion]
- [Eval pass rate criterion]
- [User-facing outcome criterion]
§11 Out of Scope
- [NOT responsible for X — prevents scope creep during build]
- [Does NOT handle Y]
Source
- YYYY-MM-DD_Mastermind (Contributor — brief topic description)