pdd change reads a GitHub issue describing a feature request, researches it, identifies affected prompts, modifies them in an isolated git worktree, runs a self-review loop, and opens a draft pull request — all automatically.
Usage
Arguments
URL of the GitHub issue describing the feature request (e.g.,
https://github.com/owner/repo/issues/123).Options
Additional seconds to add to each step’s timeout. Useful for large codebases that take longer to analyze.
Disable GitHub issue comment-based state persistence and use local-only state. You can also set
PDD_NO_GITHUB_STATE=1 as an environment variable.The 12-step workflow
Duplicate check
Search for existing issues describing the same request. Merges duplicate content if found.
Documentation check
Verify the feature is not already implemented by reviewing repository documentation.
Clarification
Assess whether requirements are clear enough to proceed. If not, posts clarifying questions with answer options as a GitHub comment and pauses the workflow until you reply.
Identify dev units
Find the prompt files, generated code, examples, and tests that are affected by the change.
Architecture review
Identify architectural decisions that need to be made. Posts decision questions as a GitHub comment and pauses the workflow if answers are needed.
Answering clarifying questions
Steps 4 and 7 may pause the workflow to ask questions. When this happens:- Open the GitHub issue — PDD has posted a comment with questions and numbered answer options.
- Reply in the issue comments with your answers.
- Re-run
pdd changewith the same issue URL. The workflow resumes from where it stopped, skipping already-completed steps.
After the PR is created
The generated pull request includes async_order.sh script. After the PR is merged, run it to regenerate code from the updated prompts in the correct dependency order:
Branching behavior
pdd change creates a new git worktree based on your current HEAD:
- From
main/master: The new branch is based on the latestmain, creating an independent PR. - From a feature branch: The new branch inherits commits from that branch, enabling stacked/dependent PRs.
User story validation
After implementing prompt modifications,pdd change automatically runs the user story validation suite (equivalent to pdd detect --stories). The workflow fails if any story fails, ensuring the change does not break existing requirements.
Examples
Manual mode (legacy)
For direct prompt modification without a GitHub issue:Manual mode arguments
Manual mode arguments
CHANGE_PROMPT_FILE— File containing instructions for how to modify the input prompt.INPUT_CODE_FILE— Code file generated from the input prompt (or a directory when using--csv).INPUT_PROMPT_FILE— The prompt file to be modified.
Manual mode options
Manual mode options
--budget FLOAT— Maximum cost allowed for the change process (default:5.0).--output LOCATION— Where to save the modified prompt file. Defaults tomodified_<basename>.prompt. Also reads fromPDD_CHANGE_OUTPUT_PATH.--csv— Use a CSV file for batch processing. The CSV must haveprompt_nameandchange_instructionscolumns. When set,INPUT_CODEmust be a directory.
Related commands
pdd detect— Used internally to identify affected prompts; also runs user story validation.pdd sync— Run after merging the PR to regenerate code from updated prompts.