| 1 | # PRD Intake |
| 2 | |
| 3 | On-demand reference for ingesting a PRD, decomposing it into work items, and managing updates. |
| 4 | |
| 5 | ## Triggers |
| 6 | |
| 7 | | User says | Action | |
| 8 | |-----------|--------| |
| 9 | | "here's the PRD" / "work from this spec" | Expect file path or pasted content | |
| 10 | | "read the PRD at {path}" | Read the file at that path | |
| 11 | | "the PRD changed" / "updated the spec" | Re-read and diff against previous decomposition | |
| 12 | | (pastes requirements text) | Treat as inline PRD | |
| 13 | |
| 14 | ## Intake Flow |
| 15 | |
| 16 | 1. **Detect source:** File path, pasted text, or URL. Store a reference in `.squad/team.md` under `## PRD Source`. |
| 17 | 2. **Store PRD reference:** |
| 18 | ```markdown |
| 19 | ## PRD Source |
| 20 | |
| 21 | **Path:** {path-or-inline} |
| 22 | **Ingested:** {ISO date} |
| 23 | **Hash:** {sha256 of content, for change detection} |
| 24 | ``` |
| 25 | 3. **Spawn Lead (sync, premium bump)** with decomposition prompt (see below). |
| 26 | 4. **Present work items** to user for approval in table format. |
| 27 | 5. **On approval:** Route items to agents respecting dependency order. |
| 28 | |
| 29 | ## Lead Decomposition Spawn Template |
| 30 | |
| 31 | ``` |
| 32 | You are the Lead, decomposing a PRD into actionable work items. |
| 33 | |
| 34 | PRD CONTENT: |
| 35 | {full PRD text} |
| 36 | |
| 37 | TEAM ROSTER: |
| 38 | {roster from team.md} |
| 39 | |
| 40 | TASK: Break this PRD into discrete, implementable work items. For each item provide: |
| 41 | - Title (imperative mood, concise) |
| 42 | - Description (acceptance criteria, technical notes) |
| 43 | - Estimated complexity: S / M / L |
| 44 | - Dependencies (list other item titles this blocks on) |
| 45 | - Suggested assignee (agent name from roster, based on expertise match) |
| 46 | |
| 47 | OUTPUT FORMAT: |
| 48 | Return a markdown table: |
| 49 | |
| 50 | | # | Title | Complexity | Dependencies | Assignee | Status | |
| 51 | |---|-------|-----------|--------------|----------|--------| |
| 52 | | 1 | {title} | {S/M/L} | — | {agent} | pending | |
| 53 | |
| 54 | RULES: |
| 55 | - Items must be independently implementable (no item requires partial completion of another). |
| 56 | - Maximum 1 day of work per item (split larger items). |
| 57 | - Respect team expertise — don't assign frontend work to a backend specialist. |
| 58 | - Order by dependency graph (items with no deps first). |
| 59 | - Flag any ambiguities or missing information as "⚠️ Needs clarification: {question}". |
| 60 | ``` |
| 61 | |
| 62 | ## Work Item Presentation Format |
| 63 | |
| 64 | Present to user as: |
| 65 | |
| 66 | ``` |
| 67 | 📋 PRD decomposed into {N} work items: |
| 68 | |
| 69 | | # | Title | Size | Depends on | Assignee | |
| 70 | |---|-------|------|-----------|----------| |
| 71 | | 1 | ... | S | — | {Agent} | |
| 72 | | 2 | ... | M | #1 | {Agent} | |
| 73 | |
| 74 | Ready to proceed? I'll route items respecting the dependency order. |
| 75 | ⚠️ Clarifications needed: {list any flagged items} |
| 76 | ``` |
| 77 | |
| 78 | ## Mid-Project Updates |
| 79 | |
| 80 | When the user says the PRD changed: |
| 81 | |
| 82 | 1. Re-read the PRD content. |
| 83 | 2. Compute diff against stored hash. |
| 84 | 3. Spawn Lead (sync) with a delta-decomposition prompt: |
| 85 | - Show only NEW or CHANGED sections. |
| 86 | - Ask Lead to identify: new items, modified items, obsoleted items. |
| 87 | 4. Present changes to user: |
| 88 | ``` |
| 89 | 📋 PRD update detected: |
| 90 | - New items: {count} |
| 91 | - Modified: {count} |
| 92 | - Obsoleted: {count} (will be cancelled if approved) |
| 93 | |
| 94 | {table of changes} |
| 95 | |
| 96 | Approve these updates? |
| 97 | ``` |
| 98 | 5. On approval: Cancel obsoleted work (if not yet started), update items, re-route. |
| 99 | |
| 100 | ## State Tracking |
| 101 | |
| 102 | Active PRD state lives in team.md: |
| 103 | - `## PRD Source` section (path, date, hash) |
| 104 | - Work items tracked as issues (GitHub) or in `.squad/backlog.md` (offline mode) |
| 105 | - Completion percentage displayed in status checks |