Install
openclaw skills install @luckystar513/wdp-prd-enA superpowers-based requirements manager: brainstorm and backlog requirements as cards, schedule by ▎ dependency/conflict, and dispatch confirmed ones to background subagents in isolated worktrees (plan → TDD → verify ▎ → accept) without blocking your session.
openclaw skills install @luckystar513/wdp-prd-enA superpowers-based requirements manager that decouples discussion from implementation. Brainstorm new requirements into cards at any time; confirmed ones are implemented in parallel by background subagents without blocking the main session.
/wdp-prd-new/wdp-prd or /wdp-prd-list/wdp-prd-confirm <id>/wdp-prd-dispatch/wdp-prd-accept <id>/wdp-prd-update <id>~/.wdp/prd/ (override with the PRD_ROOT environment variable).<PRD_ROOT>/<project-slug>/, containing:
backlog/R-###.md requirement cardsexecution-plan.md scheduling viewplans/ implementation-plan archive.wdp-prd file in the project root whose content is the absolute path of that project's global root (i.e. <PRD_ROOT>/<slug>/). Read it before every command operation.If <cwd>/.wdp-prd does not exist:
<PRD_ROOT>/<slug>/ (with backlog/, plans/) and an empty execution-plan.md, and create docs/superpowers/specs/ inside the project..wdp-prd containing the absolute path of the global root.draft → confirmed → in-progress → needs-review → accepted → done
Also: blocked (unmet dependency / subagent failure), cancelled.
Compute a status report over all cards, with two rules (no topological sort in the MVP):
depends_on that is still not done → ⏳ waiting for R-00X (dependencies that are cancelled count as satisfied and do not block).conflicts_with that is in-progress → ⚠ conflicts with R-00X(dev in progress); wait for it or let the user decide.Before computing, check the depends_on relations: if there is a cycle, report it (R-003↔R-004), mark the involved cards blocked, and do not dispatch; if a dependency id does not exist, report dependency R-999 does not exist; check depends_on and do not dispatch. Cards with a missing dependency go into the ⏳ blocked list with dependency missing noted in parentheses.
The parentheses in the blocking hint show the dependency card's actual current state (e.g. confirmed / in-progress / cancelled).
Immediately dispatchable = status==confirmed + all dependencies satisfied + no conflict with in-progress + in-progress count < concurrency cap.
Concurrency cap defaults to 2, configurable via the PRD_MAX_CONCURRENT environment variable. When exceeded, report concurrency cap reached; accept what's in hand first.
Same-batch constraint: the batch the user picks must be pairwise non-conflicting; if they pick a pair that lists each other in conflicts_with, force picking only one; each batch is at most PRD_MAX_CONCURRENT − current in-progress cards.
Report format:
▶ ready to dispatch in parallel [R-001, R-002]
⏳ blocked by dependency R-005 → wait for R-002(dev in progress)
⚠ conflicts with in-progress task R-003 ↔ R-004(dev in progress)
Rewritten by Claude after every status change / dispatch / acceptance (based on the current state of all cards: needs-review/accepted/done cards naturally leave the in-progress / ready / blocked / conflict lists and no longer appear):
# Execution Plan (auto-generated, do not edit by hand)
Updated: YYYY-MM-DD
in-progress: [R-001, R-002]
ready: []
blocked: R-005 → wait for R-002
conflicts: []
/wdp-prd-* commands.Output a backlog summary table sorted by priority from high to low, then by created ascending within the same priority. If there are no cards, state that explicitly.
updated to today, keep created unchanged.execution-plan.md (if affected).updated is refreshed.execution-plan.md.superpowers:writing-plans → superpowers:test-driven-development → development → superpowers:verification-before-completion;
at dispatch time, move the card → in-progress, refresh updated, and rewrite execution-plan.md (so the card counts as in-progress for the subagent's entire run);
when the subagent produces an implementation plan, archive it to <pointer>/plans/<id>.md./wdp-prd-accept <id>.Non-git fallback: when no git repository is detected, clearly warn that worktree isolation is unavailable, ask whether to still dispatch serially or abandon; never continue silently.
superpowers:requesting-code-review).execution-plan.md.superpowers:using-git-worktrees)..wdp-prd pointer exists (if missing, go through Initialization first).superpowers:brainstorming to discuss the requirement with the user, producing a design document (saved to the project's docs/superpowers/specs/).backlog/R-###.md per references/card-template.md:
Design Doc section.execution-plan.md.See references/card-template.md for the format. Copy the template when creating.
| Situation | Handling |
|---|---|
| Non-git repository | Worktree isolation unavailable → warn clearly, fall back to serial/non-isolated (see dispatch flow) |
| Subagent failure | Card → blocked, report the reason, update execution-plan |
| Dependency cycle | Detect and report the cycle, do not dispatch |
| Missing dependency | Report the dependency id does not exist, prompt to check depends_on |
| Same-batch conflict | Force picking only one |
| Review failed | Card stays needs-review, record the verdict |
| User did not confirm | Card stays needs-review |
| No Agent tool | Fall back to a manual guided flow |
.wdp-prd missing | Trigger initialization |
Dry-run all scenarios (S1–S6) per references/test-scenarios.md. The skill passes only when every Expected is met.