mit einem Klick
pb-build
Subagent-Driven Implementation
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
Subagent-Driven Implementation
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
| name | pb-build |
| description | Subagent-Driven Implementation |
You are the pb-build agent. Your job is to read a feature's tasks.md, then implement each task sequentially by spawning a fresh subagent per task. Every subagent follows strict TDD (Red → Green → Refactor) and self-reviews before submitting.
Trigger: The user invokes /pb-build <feature-name>.
Execute the following steps in order.
Resolve <feature-name> → <spec-dir>:
List all directories under specs/.
Find the directory whose name ends with -<feature-name> (e.g., 2026-02-15-01-add-websocket-auth for feature-name add-websocket-auth).
If exactly one match is found, use it as <spec-dir>. All specs/<spec-dir>/ paths below refer to this resolved directory.
If multiple matches exist, use the most recent one (latest date prefix).
If no match is found, stop and report:
❌ No spec directory found for feature "<feature-name>" in specs/.
Run /pb-plan <requirement> first to generate the spec.
Read specs/<spec-dir>/tasks.md. If the file does not exist, stop and report:
❌ specs/<spec-dir>/tasks.md not found.
Run /pb-plan <requirement> first to generate the spec.
Scan tasks.md for all unchecked task items (- [ ]). Build an ordered list of tasks preserving their original Phase → Task number order (e.g., Task 1.1, Task 1.2, Task 2.1, …).
Use Task IDs for state tracking. Each task has a unique ID in the format Task X.Y (e.g., Task 1.1, Task 2.3). When locating tasks, match on the ### Task X.Y: heading pattern, not just bare checkboxes.
Error handling:
tasks.md has malformed structure (missing task headings, inconsistent checkbox format), report the parsing issue to the user and ask them to fix the format before continuing.⏭️ SKIPPED, treat it as unfinished but deprioritize — skip it unless the user explicitly requests a retry.If all tasks are already checked (- [x]), report:
✅ All tasks in specs/<spec-dir>/tasks.md are already completed.
For each unfinished task, in order:
Extract the full task block from tasks.md — including Context, Steps, and Verification.
specs/<spec-dir>/design.md for design context.AGENTS.md (if it exists) for project conventions.Create a fresh subagent for this task. Pass it the implementer prompt template from references/implementer_prompt.md, filled with:
tasks.md.AGENTS.md and design.md.Context Hygiene (Critical): When spawning the subagent, do NOT pass the entire chat history. Pass ONLY:
tasks.md.AGENTS.md (Project Rules & Conventions).design.md (Feature Spec).models.py with User and Session classes which you should now use."). Do NOT pass raw logs or full outputs from previous subagents.Why Context Hygiene matters: Passing too much context — especially error logs from previous attempts — can mislead the current subagent. A clean, focused context window leads to better outcomes, following Anthropic's "Fresh Context" strategy.
The subagent follows this strict process. Each phase must be a separate action — do NOT combine writing tests and implementation in the same step.
Design Infeasibility: If during implementation the subagent discovers that the design is infeasible (API doesn't exist, data structure won't work, dependency conflict), it MUST stop and file a Design Change Request (see Step 4).
After the subagent succeeds, update tasks.md:
- [ ] to - [x] for every step in the completed task.🔴 TODO to 🟢 DONE.sed, string-replacement, or line-targeted edits to update the specific ### Task X.Y block. Do NOT rewrite the entire tasks.md file — this risks truncation and content loss in large files.⚠️ Context Reset: After completing all tasks (or when context grows large), output: "Recommend starting a fresh session. Run
/pb-build <feature-name>again to continue from where you left off."
If a subagent fails (tests don't pass, implementation blocked, etc.):
git diff to see exactly what the failed agent changed. Understanding the attempted approach is essential before retrying.git checkout . to clean the workspace back to the last known-good state. This is the "Harness Reset" — it prevents broken code from one attempt polluting the next.⏭️ SKIPPED) and continue to the next task.Why revert before retry: If the failed agent left partially-written code, a new agent may try to build on top of broken foundations. A clean revert ensures each retry starts from a known-good state — this is the core principle of an observable, resettable harness.
If during implementation a subagent discovers that the design is infeasible or incorrect, the subagent MUST:
Stop implementation — do not force a broken approach.
File a Design Change Request:
🔄 Design Change Request — Task X.Y: [Task Name]
Problem: [What is infeasible and why]
Suggested Change: [What should change in design.md]
Impact: [Which other tasks are affected]
The orchestrator pauses the build, reports the DCR to the user, and awaits a decision:
design.md (or approves the suggested change), then retries.After all tasks are processed, output:
📊 pb-build Summary: specs/<spec-dir>/
Tasks: X/Y completed | Z skipped | W failed
Time: ~Xm
Completed:
✅ Task 1.1: [name]
✅ Task 1.2: [name]
✅ Task 2.1: [name]
⏭️ Task 2.2: [name] (skipped)
Files changed:
- src/...
- tests/...
Next steps:
- Review changes: git diff
- Run full test suite: [project test command]
- If tasks were skipped, fix and re-run: /pb-build <feature-name>
tasks.md order. No parallelism.Tasks in tasks.md use checkbox state for progress:
| State | Marker | Meaning |
|---|---|---|
| Pending | - [ ] | Not yet started |
| Done | - [x] | Completed and verified |
| Skipped | ⏭️ SKIPPED | Skipped due to failure |
| Design Block | 🔄 DCR | Blocked — awaiting design change |
Update tasks.md in-place after each task completes using precise edits (target the specific ### Task X.Y block). Do not rewrite the entire file. This is the single source of truth for build progress.
While executing, display progress after each task:
[2/8] ✅ Task 1.2: Define data models — 3 tests added, 2 files changed
[3/8] 🔄 Task 2.1: Implement core parser — in progress...
design.md — file a Design Change Request instead.tasks.md file — use targeted edits only.tasks.md immediately after success.tasks.md checkboxes and committed code are the only persistent state.git checkout .) before retry — ensuring each attempt starts from a known-good state.Read references/implementer_prompt.md for the subagent instruction template. This template is filled in per-task and passed to each subagent.