agentleFS
mikeyobrienmikeyobrien/rho/skills/pdd-build/SKILL.md

pdd-build

Skill372 starsChanged 8 months agoMITView on GitHub

Execute a completed PDD implementation plan step-by-step with validation gates.

The file

Show its rules and text

We split this skill into the rules it gives an agent

22 rules. About 0 are common, 20 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈20

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the PDD artifacts and prepare for execution.

    line 39
  2. Very specific:

    Run the test command (e.g., npm test, pytest, etc.)

    line 103
  3. Distinctive:

    All tests must pass

    line 104
  4. Distinctive:

    Check test output for failures

    line 105
  5. Very specific:

    Use rho_subagent to open a tmux window with the test scenario

    line 108
  6. Distinctive:

    Verify expected output or behavior

    line 110
  7. Distinctive:

    Verify UI elements render correctly

    line 115
  8. Distinctive:

    Check for visual regressions or interaction issues

    line 116
  9. Distinctive:

    Read created/modified files to verify they match expectations

    line 119
  10. Distinctive:

    Check that code compiles/parses correctly

    line 120
  11. Distinctive:

    Verify file structure matches the design

    line 121
  12. Distinctive:

    All must pass for the step to be considered done

    line 125
  13. Distinctive:

    If validation fails, you MUST:

    line 129
  14. Distinctive:

    After 2 failed retries, you MUST stop and present the situation to the user with:

    line 137
  15. Distinctive:

    After all steps are complete, validate the full system.

    line 155
  16. Distinctive:

    If integration issues are found, you MUST:

    line 162
  17. Distinctive:

    If the subagent consistently misunderstands, break the step into smaller sub-steps

    line 230
  18. Distinctive:

    Add retries with delays for timing-sensitive checks (e.g., server startup)

    line 233
  19. Distinctive:

    If a step fails because a previous step's output is wrong, fix the earlier step first

    line 238
  20. Distinctive:

    Update the build log to note the dependency issue

    line 239
  21. Distinctive:

    STOP — do not guess at missing requirements

    line 243
  22. Distinctive:

    Ask the user for clarification

    line 245

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

PDD Build

Overview

This SOP takes a completed PDD project (design doc + implementation plan) and executes the implementation plan step-by-step using subagents. Each step is built by a subagent, then verified against user-defined "done" criteria before advancing. The user defines how completion is validated — automated tests, manual testing via tmux, browser validation via Playwriter, visual inspection, or any combination.

Parameters

  • project_dir (required): Path to the PDD project directory (e.g., .agents/planning/2026-02-10-review-extension)
  • validation_strategy (required): How the agent should verify each step is done. The user must explain this in detail.
  • start_step (optional, default: 1): Step number to start from (for resuming interrupted builds)

Constraints for parameter acquisition:

  • You MUST ask for all required parameters upfront in a single prompt
  • You MUST verify the project_dir contains the expected PDD artifacts before proceeding:
    • design/detailed-design.md must exist
    • implementation/plan.md must exist and contain a checklist
  • You MUST ask the user to describe their validation strategy in detail — this is the critical input
  • The user MUST explain how the agent should know a step is done. Examples:
    • "Run npm test and all tests must pass"
    • "Open a tmux session and test the CLI command as a user"
    • "Use the playwriter skill to open the browser and verify the UI renders correctly"
    • "Run the extension with pi -e ./index.ts in a tmux window and execute /review test.md"
    • A combination: "Run unit tests, then use playwriter to check the browser UI"
  • You MUST confirm you understand the validation strategy by summarizing it back
  • You MUST NOT proceed without explicit user confirmation of the validation strategy
  • You MUST check the implementation plan checklist for already-completed steps and offer to resume from the next incomplete step

Steps

1. Load and Parse the Implementation Plan

Read the PDD artifacts and prepare for execution.

Constraints:

  • You MUST read the following files:
    • {project_dir}/design/detailed-design.md
    • {project_dir}/implementation/plan.md
    • Any research files in {project_dir}/research/
  • You MUST parse the checklist from plan.md to determine which steps are complete and which remain
  • You MUST parse each step's details: objective, guidance, tests, integration notes, demo description
  • You MUST present a summary to the user:
    • Total steps, completed steps, remaining steps
    • The validation strategy as understood
    • Estimated scope of work
  • You MUST ask for confirmation before starting execution
  • You MUST NOT begin execution without explicit user go-ahead

2. Prepare the Build Context

Assemble the context documents that each subagent will need.

Constraints:

  • You MUST create a build context file at {project_dir}/implementation/build-context.md containing:
    • The full detailed design (or a focused summary if the design is very large)
    • The validation strategy
    • The current state of the implementation (which steps are done)
    • Any relevant research findings
  • You MUST identify file paths and directories the subagents will need to create or modify
  • You MUST verify that prerequisites exist (e.g., package.json, directory structure, dependencies)
  • You SHOULD create any prerequisite files or directories that don't exist yet
  • You MUST load any skills referenced in the validation strategy (e.g., playwriter, clipboard, notification)

3. Execute Steps

Execute each implementation step using a subagent, then validate.

Constraints:

  • You MUST execute steps sequentially unless the user explicitly approved parallel execution
  • For each step, you MUST follow this exact process:

3a. Brief the Subagent

  • You MUST construct a clear, self-contained prompt for the subagent that includes:
    • The step objective and guidance from the implementation plan
    • Relevant sections of the design doc (not the entire doc — only what's needed for this step)
    • The current file state (what exists, what was built in previous steps)
    • Explicit instructions on what files to create or modify
    • The test/verification criteria for this step
  • You MUST NOT include the entire design doc in every subagent prompt — extract only relevant sections
  • You MUST include the project's file structure context so the subagent knows where things are

3b. Launch the Subagent

  • You MUST use the subagent tool to execute the step
  • You SHOULD use async mode for steps that are expected to take a long time
  • You MUST monitor the subagent's progress if running async (check status periodically)
  • You MUST capture the subagent's output for review

3c. Verify the Step

  • You MUST verify the step is complete using the user-defined validation strategy
  • You MUST NOT skip validation — this is the critical gate
  • Validation methods (use whichever the user specified):

    Automated tests:

    • Run the test command (e.g., npm test, pytest, etc.)
    • All tests must pass
    • Check test output for failures

    Tmux manual testing:

    • Use rho_subagent to open a tmux window with the test scenario
    • Or use bash to run commands in a tmux session
    • Verify expected output or behavior

    Playwriter browser validation:

    • Load the playwriter skill
    • Navigate to the relevant URL
    • Verify UI elements render correctly
    • Check for visual regressions or interaction issues

    File verification:

    • Read created/modified files to verify they match expectations
    • Check that code compiles/parses correctly
    • Verify file structure matches the design

    Combination:

    • Execute each validation method in sequence
    • All must pass for the step to be considered done

3d. Handle Failures

  • If validation fails, you MUST:
    1. Analyze the failure — what went wrong?
    2. Determine if it's a subagent error (bad code) or a design issue (spec is wrong)
    3. For subagent errors: retry the step with additional context about the failure (max 2 retries)
    4. For design issues: STOP and notify the user — do not attempt to fix design problems autonomously
    5. Include the failure details and any error output in the retry prompt
  • You MUST NOT retry more than 2 times per step without user intervention
  • You MUST NOT silently skip failed validation
  • After 2 failed retries, you MUST stop and present the situation to the user with:
    • What was attempted
    • What failed and why
    • The subagent's output
    • Your recommendation for how to proceed

3e. Update the Checklist

  • On successful validation, you MUST update the checklist in plan.md to mark the step as complete ([x])
  • You MUST write a brief status note to {project_dir}/implementation/build-log.md with:
    • Step number and name
    • Timestamp
    • Validation result
    • Any notable decisions or deviations
  • You MUST notify the user of progress (e.g., "Step 3/12 complete: Web UI shell")

4. Integration Validation

After all steps are complete, validate the full system.

Constraints:

  • You MUST run the complete validation strategy against the finished implementation
  • You MUST verify that all checklist items are marked complete
  • You MUST test the end-to-end flow described in the design doc
  • You SHOULD run any additional integration tests that span multiple steps
  • If integration issues are found, you MUST:
    1. Identify which step(s) are affected
    2. Determine the fix
    3. Either fix directly or launch a targeted subagent
    4. Re-validate after fixing

5. Report Results

Present a final summary to the user.

Constraints:

  • You MUST create a build report at {project_dir}/implementation/build-report.md containing:
    • Total steps executed
    • Steps that passed on first attempt vs. required retries
    • Any deviations from the original design
    • Known issues or limitations discovered during build
    • Validation results summary
  • You MUST present the report to the user in conversation
  • You MUST highlight any areas that need manual attention
  • You MUST suggest next steps (e.g., "TUI mode follow-up", "deploy to global extensions", etc.)

Examples

Example 1: CLI Extension with Tests

Project dir: .agents/planning/2026-02-10-review-extension
Validation strategy: Run `npm test` in the extension directory after each step.
For steps that add UI, also run `pi -e ./index.ts` in a tmux window and
execute the /review command to verify it works interactively.

Example 2: Browser UI with Playwriter

Project dir: .agents/planning/2026-02-10-review-extension
Validation strategy: After each step that changes the UI, use the playwriter
skill to open http://localhost:<port> and verify:
- The page loads without console errors
- Key elements are visible (sidebar, code viewer, buttons)
- Interactions work (click file, click line number, type comment)
For non-UI steps, verify files exist and code parses without errors.

Example 3: Full Manual Testing

Project dir: .agents/planning/2026-02-10-review-extension
Validation strategy: After each step, open a tmux split and run the
extension. Test it as a user would — try the happy path, try edge cases,
try to break it. Report what works and what doesn't. Use the notification
skill to alert me if a step fails after retries.

Example 4: Hybrid

Project dir: .agents/planning/2026-02-10-review-extension
Validation strategy:
- Steps 1-2: verify files exist and `npm install` succeeds
- Steps 3-6: use playwriter to check the browser UI renders
- Steps 7-8: use playwriter to test submit/cancel WebSocket flow
- Steps 9-10: run `pi -e ./index.ts` in tmux and test /review command
- Steps 11-12: full playwriter mobile viewport test + manual tmux test

Troubleshooting

Subagent Produces Wrong Code

  • Include more design context in the retry prompt
  • Reference specific sections of the design doc
  • Include the error output verbatim
  • If the subagent consistently misunderstands, break the step into smaller sub-steps

Validation Is Flaky

  • Add retries with delays for timing-sensitive checks (e.g., server startup)
  • For browser validation, add explicit waits for elements
  • For tmux testing, allow time for commands to complete

Step Dependencies Are Wrong

  • If a step fails because a previous step's output is wrong, fix the earlier step first
  • Update the build log to note the dependency issue
  • Re-run both steps in order

Design Doc Has Gaps

  • STOP — do not guess at missing requirements
  • Note the gap in the build log
  • Ask the user for clarification
  • Resume after the gap is resolved

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.