PRD Executor Skill
Overview
This skill guides a Dev Agent through executing a prd_decomposer breakdown located at
docs/[Feature_Name]_breakdown/. It enforces three hard gates:
- Requirements confirmation (brainstorming all 10 closure dimensions) before any coding
- TDD workflow during implementation
- Git commit per completed REQ, push per completed Phase
When to Use
- A breakdown directory exists at
docs/[Feature_Name]_breakdown/
- User says "start executing", "start development", "implement this PRD", "execute breakdown"
- Dev Agent is handed a breakdown directory and needs to know how to proceed
Workflow
Step 1: Initialize
Read docs/[Feature_Name]_breakdown/outline.md.
Extract:
- Total Phases and REQs
- Dependency graph between REQs
- Current status of each REQ (look at the Status column)
Announce to the user: which REQs are pending, which (if any) are already in progress or done.
Step 2: Select Next Phase
Find the first Phase in outline.md whose status is ⬜ (not started) and whose REQ dependencies (if any cross-Phase) are all ✅ or ⚠️.
If no such Phase exists:
- If all Phases are ✅: announce completion, done.
- If a Phase is 💬 or 🔍 or 🚧 or 🧪: resume that Phase from the appropriate stage below.
Stage A: Discussion — Discuss All REQs in the Phase [HARD GATE 1]
- Update Phase status in
outline.md to 💬 (Discussing)
- For each REQ in this Phase, in order:
a. Open the REQ file. Check whether
🔍 详细需求确认 still contains ⚠️ [待填充].
b. If YES (placeholder present):
- Update REQ status in REQ file and
outline.md to 💬
- Invoke
superpowers:brainstorming with the REQ content as context
- Ensure ALL 10 closure dimensions are addressed:
- API closure
- Business logic closure
- UI/UX closure
- Error handling closure
- Data consistency closure
- Permission/security closure
- Performance boundary closure
- Testing closure (unit test scenarios + manual UAT checkpoints)
- Analytics/tracking closure
- Compatibility closure
- Replace the entire
⚠️ [待填充] placeholder block with the brainstorming conclusions
c. If NO (placeholder already replaced): skip brainstorming for this REQ.
- YOU ARE FORBIDDEN FROM WRITING ANY IMPLEMENTATION CODE DURING STAGE A
Stage B: Summary Confirmation
Update Phase status in outline.md to 🔍 (Pending Confirmation)
Present a summary of all REQ discussion conclusions to the user:
Phase X Discussion Summary:
- REQ-X.1 [Title]: [2-3 key conclusions]
- REQ-X.2 [Title]: [2-3 key conclusions]
- REQ-X.3 [Title]: [2-3 key conclusions]
Ask the user: "Does the above look correct? Ready to start implementation?"
Wait for the user's response:
- Confirmed → proceed to Stage C
- Revision requested for a specific REQ → re-run brainstorming for that REQ only, update its conclusions in the REQ file, re-present the full summary, then repeat step 3 (wait for confirmation again)
Stage C: Implementation — Implement All REQs Autonomously
- Update Phase status in
outline.md to 🚧 (Implementing)
- For each REQ in this Phase, in order:
a. Update REQ status in REQ file and
outline.md to 🚧 (In Progress)
b. Invoke superpowers:test-driven-development with the REQ's Acceptance Criteria as test targets
c. When Acceptance Criteria pass internally: keep REQ status as 🚧 — it will be updated to ✅ in Stage G after the user passes UAT
d. Commit immediately after each REQ:git add -p # stage only implementation files, NOT debug/mock artifacts
git commit -m "feat(REQ-X.X): [short description of what was built]"
- DO NOT interrupt the user at any point during Stage C
- Do NOT commit during: debug sessions, mock data setup, adding/removing console.log, WIP that doesn't pass AC
Stage D: UAT Notification
Update Phase status in outline.md to 🧪 (Pending UAT)
Generate a UAT checklist from each REQ's Acceptance Criteria:
Phase X UAT Checklist:
REQ-X.1 [Title]
Please verify:
- [ ] [AC item 1]
- [ ] [AC item 2]
REQ-X.2 [Title]
Please verify:
- [ ] [AC item 1]
- [ ] [AC item 2]
Notify the user: "All REQs in Phase X are implemented. Please verify each item in the checklist above and report which REQs pass or fail (with reason for failures)."
Stage E: User UAT
Wait for the user to report results. While waiting, keep Phase status as 🧪 (Pending UAT) and do not modify any code. Expected format (user can use any natural language):
- "REQ-X.1 pass, REQ-X.2 fail — [reason]"
Stage F: Fix Loop (failing REQs only)
For each REQ the user reports as failing:
Do NOT re-run brainstorming — go straight to fixing based on user feedback
Fix the implementation
Re-generate the UAT checklist for that REQ only:
REQ-X.2 [Title] — Fixed. Please re-verify:
- [ ] [AC item 1]
- [ ] [AC item 2]
Ask the user to re-verify only this REQ
Repeat until this REQ passes
REQs that already passed are not touched
When all previously-failing REQs have now passed, proceed to Stage G
Stage G: Phase Completion
When all REQs in the Phase have passed UAT:
- Update each REQ file status:
- ✅ Done — all Acceptance Criteria verified by user UAT
- ⚠️ Partial — main feature works, some AC items shelved (write reason in 备注 field)
- Update the matching rows in
outline.md
- Update the
最后更新 field in each REQ file to today's date
- Update Phase status in
outline.md to ✅ (Complete)
- Push:
git push
- Return to Step 2 for the next Phase
Status Reference
| Status |
Emoji |
Meaning |
| Not Started |
⬜ |
Default at decomposition time |
| Discussing |
💬 |
Brainstorming in progress |
| Changed |
🔄 |
Requirements modified after confirmation (update 备注 with what changed and why) |
| In Progress |
🚧 |
Implementation underway |
| Done |
✅ |
All Acceptance Criteria verified |
| Partial |
⚠️ |
Main feature done, some AC items shelved (reason in 备注) |
| Shelved |
🚫 |
Blocked, see 备注 for reason |
Phase Status Reference
| Status |
Emoji |
Meaning |
| Not Started |
⬜ |
Default |
| Discussing |
💬 |
Brainstorming REQs in progress |
| Pending Confirmation |
🔍 |
All REQs discussed, waiting for user sign-off |
| Implementing |
🚧 |
AI implementing all REQs autonomously |
| Pending UAT |
🧪 |
Waiting for user verification |
| Complete |
✅ |
All REQs passed UAT, pushed |
Handling Requirements Changes (🔄)
If requirements change mid-execution on a REQ that is 🚧 In Progress:
- Set status to 🔄 Changed
- In the 备注 field, record: what changed, why, and the date
- Update the
🎯 Requirement and ✅ Acceptance Criteria sections of the REQ file
- Re-run brainstorming on the changed dimensions only
- Resume implementation with the updated requirements
Gotchas
- Never skip the placeholder check — brainstorming surfaces edge cases the PRD missed; skipping it leads to rework
- Status must be updated in two places — REQ file AND
outline.md; both must stay in sync
- Commit after each REQ, push after each Phase — do not batch commits across multiple REQs
- ⚠️ Partial ≠ done without documentation — a Partial REQ must have a reason in 备注 before it counts toward Phase completion
- 🔄 Changed invalidates in-progress work — when requirements change, re-confirm before continuing implementation
1---2name: prd-executor3description: Triggers when: user says "start executing PRD", "start development", "execute breakdown", "implement REQ", or a Dev Agent is assigned to a breakdown directory under docs/. Use this skill to guide the execution of a prd_decomposer breakdown from start to finish, enforcing hard gates on requirements confirmation, TDD workflow, and git commit/push discipline.4---56# PRD Executor Skill78## Overview910This skill guides a Dev Agent through executing a `prd_decomposer` breakdown located at11`docs/[Feature_Name]_breakdown/`. It enforces three hard gates:12131. Requirements confirmation (brainstorming all 10 closure dimensions) before any coding142. TDD workflow during implementation153. Git commit per completed REQ, push per completed Phase1617## When to Use1819- A breakdown directory exists at `docs/[Feature_Name]_breakdown/`20- User says "start executing", "start development", "implement this PRD", "execute breakdown"21- Dev Agent is handed a breakdown directory and needs to know how to proceed2223## Workflow2425### Step 1: Initialize2627Read `docs/[Feature_Name]_breakdown/outline.md`.28Extract:29- Total Phases and REQs30- Dependency graph between REQs31- Current status of each REQ (look at the Status column)3233Announce to the user: which REQs are pending, which (if any) are already in progress or done.3435### Step 2: Select Next Phase3637Find the first Phase in `outline.md` whose status is ⬜ (not started) and whose REQ dependencies (if any cross-Phase) are all ✅ or ⚠️.3839If no such Phase exists:40- If all Phases are ✅: announce completion, done.41- If a Phase is 💬 or 🔍 or 🚧 or 🧪: resume that Phase from the appropriate stage below.4243---4445### Stage A: Discussion — Discuss All REQs in the Phase [HARD GATE 1]46471. Update Phase status in `outline.md` to 💬 (Discussing)482. For each REQ in this Phase, in order:49 a. Open the REQ file. Check whether `🔍 详细需求确认` still contains `⚠️ [待填充]`.50 b. If YES (placeholder present):51 - Update REQ status in REQ file and `outline.md` to 💬52 - Invoke `superpowers:brainstorming` with the REQ content as context53 - Ensure ALL 10 closure dimensions are addressed:54 - API closure55 - Business logic closure56 - UI/UX closure57 - Error handling closure58 - Data consistency closure59 - Permission/security closure60 - Performance boundary closure61 - Testing closure (unit test scenarios + manual UAT checkpoints)62 - Analytics/tracking closure63 - Compatibility closure64 - Replace the entire `⚠️ [待填充]` placeholder block with the brainstorming conclusions65 c. If NO (placeholder already replaced): skip brainstorming for this REQ.663. **YOU ARE FORBIDDEN FROM WRITING ANY IMPLEMENTATION CODE DURING STAGE A**6768---6970### Stage B: Summary Confirmation71721. Update Phase status in `outline.md` to 🔍 (Pending Confirmation)732. Present a summary of all REQ discussion conclusions to the user:7475 ```76 Phase X Discussion Summary:77 - REQ-X.1 [Title]: [2-3 key conclusions]78 - REQ-X.2 [Title]: [2-3 key conclusions]79 - REQ-X.3 [Title]: [2-3 key conclusions]80 ```81823. Ask the user: **"Does the above look correct? Ready to start implementation?"**834. Wait for the user's response:84 - **Confirmed** → proceed to Stage C85 - **Revision requested for a specific REQ** → re-run brainstorming for that REQ only, update its conclusions in the REQ file, re-present the full summary, then repeat step 3 (wait for confirmation again)8687---8889### Stage C: Implementation — Implement All REQs Autonomously90911. Update Phase status in `outline.md` to 🚧 (Implementing)922. For each REQ in this Phase, in order:93 a. Update REQ status in REQ file and `outline.md` to 🚧 (In Progress)94 b. Invoke `superpowers:test-driven-development` with the REQ's Acceptance Criteria as test targets95 c. When Acceptance Criteria pass internally: keep REQ status as 🚧 — it will be updated to ✅ in Stage G after the user passes UAT96 d. Commit immediately after each REQ:97 ```bash98 git add -p # stage only implementation files, NOT debug/mock artifacts99 git commit -m "feat(REQ-X.X): [short description of what was built]"100 ```1013. **DO NOT interrupt the user at any point during Stage C**1024. **Do NOT commit during:** debug sessions, mock data setup, adding/removing console.log, WIP that doesn't pass AC103104---105106### Stage D: UAT Notification1071081. Update Phase status in `outline.md` to 🧪 (Pending UAT)1092. Generate a UAT checklist from each REQ's Acceptance Criteria:110111 ```112 Phase X UAT Checklist:113114 REQ-X.1 [Title]115 Please verify:116 - [ ] [AC item 1]117 - [ ] [AC item 2]118119 REQ-X.2 [Title]120 Please verify:121 - [ ] [AC item 1]122 - [ ] [AC item 2]123 ```1241253. Notify the user: "All REQs in Phase X are implemented. Please verify each item in the checklist above and report which REQs pass or fail (with reason for failures)."126127---128129### Stage E: User UAT130131Wait for the user to report results. While waiting, keep Phase status as 🧪 (Pending UAT) and do not modify any code. Expected format (user can use any natural language):132- "REQ-X.1 pass, REQ-X.2 fail — [reason]"133134---135136### Stage F: Fix Loop (failing REQs only)137138For each REQ the user reports as failing:1391. **Do NOT re-run brainstorming** — go straight to fixing based on user feedback1402. Fix the implementation1413. Re-generate the UAT checklist for that REQ only:142143 ```144 REQ-X.2 [Title] — Fixed. Please re-verify:145 - [ ] [AC item 1]146 - [ ] [AC item 2]147 ```1481494. Ask the user to re-verify only this REQ1505. Repeat until this REQ passes1516. REQs that already passed are not touched1527. When all previously-failing REQs have now passed, proceed to Stage G153154---155156### Stage G: Phase Completion157158When all REQs in the Phase have passed UAT:1591. Update each REQ file status:160 - **✅ Done** — all Acceptance Criteria verified by user UAT161 - **⚠️ Partial** — main feature works, some AC items shelved (write reason in 备注 field)1622. Update the matching rows in `outline.md`1633. Update the `最后更新` field in each REQ file to today's date1644. Update Phase status in `outline.md` to ✅ (Complete)1655. Push:166 ```bash167 git push168 ```1696. Return to Step 2 for the next Phase170171---172173## Status Reference174175| Status | Emoji | Meaning |176| ------ | ----- | ------- |177| Not Started | ⬜ | Default at decomposition time |178| Discussing | 💬 | Brainstorming in progress |179| Changed | 🔄 | Requirements modified after confirmation (update 备注 with what changed and why) |180| In Progress | 🚧 | Implementation underway |181| Done | ✅ | All Acceptance Criteria verified |182| Partial | ⚠️ | Main feature done, some AC items shelved (reason in 备注) |183| Shelved | 🚫 | Blocked, see 备注 for reason |184185## Phase Status Reference186187| Status | Emoji | Meaning |188| ------ | ----- | ------- |189| Not Started | ⬜ | Default |190| Discussing | 💬 | Brainstorming REQs in progress |191| Pending Confirmation | 🔍 | All REQs discussed, waiting for user sign-off |192| Implementing | 🚧 | AI implementing all REQs autonomously |193| Pending UAT | 🧪 | Waiting for user verification |194| Complete | ✅ | All REQs passed UAT, pushed |195196## Handling Requirements Changes (🔄)197198If requirements change mid-execution on a REQ that is 🚧 In Progress:1991. Set status to 🔄 Changed2002. In the 备注 field, record: what changed, why, and the date2013. Update the `🎯 Requirement` and `✅ Acceptance Criteria` sections of the REQ file2024. Re-run brainstorming on the changed dimensions only2035. Resume implementation with the updated requirements204205## Gotchas2062071. **Never skip the placeholder check** — brainstorming surfaces edge cases the PRD missed; skipping it leads to rework2082. **Status must be updated in two places** — REQ file AND `outline.md`; both must stay in sync2093. **Commit after each REQ, push after each Phase** — do not batch commits across multiple REQs2104. **⚠️ Partial ≠ done without documentation** — a Partial REQ must have a reason in 备注 before it counts toward Phase completion2115. **🔄 Changed invalidates in-progress work** — when requirements change, re-confirm before continuing implementation