| name | prd-executor |
| description | 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.
|
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
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