一键导入
prp-pr
Create a pull request from current branch with proper title, body, linked issues, and implementation report enrichment. Uses PR templates if available.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a pull request from current branch with proper title, body, linked issues, and implementation report enrichment. Uses PR templates if available.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Multi-agent PR review — spawns parallel specialized agents for deep code review.
Multi-agent PR review — spawns parallel specialized agents for deep code review.
Execute an implementation plan with rigorous validation loops — typecheck, lint, test, and build after every change. TDD approach with automatic failure recovery.
Create a comprehensive implementation plan by analyzing the codebase, discovering patterns, and producing a step-by-step actionable plan document.
Execute an implementation plan with rigorous validation loops — typecheck, lint, test, and build after every change. TDD approach with automatic failure recovery.
Create a comprehensive implementation plan by analyzing the codebase, discovering patterns, and producing a step-by-step actionable plan document.
| name | prp-pr |
| description | Create a pull request from current branch with proper title, body, linked issues, and implementation report enrichment. Uses PR templates if available. |
| metadata | {"short-description":"Create pull request"} |
If your input context contains [WORKSPACE CONTEXT] (injected by a multi-agents framework),
you are running as a sub-agent. Apply these optimizations:
All other phases (push, create, verify) run unchanged.
Base branch: $ARGUMENTS (default: main)
Create a well-formatted pull request from the current branch, using repository PR templates if available, with a clear summary of changes.
Golden Rule: PRs should tell reviewers what changed and why. Use existing templates when available.
Extract from $ARGUMENTS:
NO_INTERACT = true if --no-interact foundBASE_BRANCH = first non-flag argument, default "main"Autonomous mode (--no-interact): NEVER ask user questions. Auto-resolve decisions:
git push --force-with-lease# Current branch (must not be main/master)
git branch --show-current
# Check for uncommitted changes
git status --short
# Verify we have commits to PR
git log origin/main..HEAD --oneline
Decision Tree:
| State | Action |
|---|---|
| On main/master | STOP: "Cannot create PR from main. Create a feature branch first." |
Uncommitted changes + NO_INTERACT | WARN only (print message), then PROCEED — do NOT ask or wait. |
| Uncommitted changes + interactive | WARN: "You have uncommitted changes. Commit or stash before creating PR." |
| No commits ahead | STOP: "No commits to create PR from. Branch is up to date with main." |
| Has commits, clean | PROCEED |
gh pr list --head $(git branch --show-current) --json number,url
If PR exists + NO_INTERACT:
PR_NUMBER and PR_URL from the result.If PR exists + interactive:
PR already exists for this branch: {url}
Use `gh pr view` to see details or `gh pr edit` to modify.
PHASE_1_CHECKPOINT:
--no-interact mode)# Check common template locations
ls -la .github/PULL_REQUEST_TEMPLATE.md 2>/dev/null
ls -la .github/pull_request_template.md 2>/dev/null
ls -la .github/PULL_REQUEST_TEMPLATE/ 2>/dev/null
ls -la docs/pull_request_template.md 2>/dev/null
If template found:
If no template:
# Get commit messages for PR body
git log origin/main..HEAD --pretty=format:"- %s"
# Get detailed commit info
git log origin/main..HEAD --pretty=format:"%h %s%n%b" --no-merges
# Files changed
git diff --stat origin/main..HEAD
# Get list of changed files
git diff --name-only origin/main..HEAD
From commits, derive title:
{type}: {description} (e.g., "feat: Add user authentication")Common prefixes:
| Prefix | Usage |
|---|---|
feat: | New feature |
fix: | Bug fix |
refactor: | Code restructuring |
docs: | Documentation |
test: | Adding tests |
chore: | Maintenance |
From commit messages, find patterns like:
Fixes #123Closes #123Relates to #123#123Include these in the PR body under "Related Issues".
# Find the most recent implementation report
ls -t .prp-output/reports/*-report*.md 2>/dev/null | head -1
If report found, extract:
If not found: Skip silently — git log is sufficient for PR description.
PHASE_2_CHECKPOINT:
# Push with upstream tracking
git push -u origin HEAD
If push fails + NO_INTERACT:
git push --force-with-lease -u origin HEAD (safe force push).If push fails + interactive:
--force-with-lease if rebased (warn user first)PHASE_3_CHECKPOINT:
Read the template and fill in each section based on:
#123 or Fixes #123 in commits)gh pr create \
--title "{title}" \
--base "{base-branch}" \
--body "$(cat <<'EOF'
## Summary
{1-2 sentence description of what this PR accomplishes}
{If implementation report found: include summary from report}
## Changes
{List of commit summaries}
- {commit 1}
- {commit 2}
## Files Changed
{Count} files changed
<details>
<summary>File list</summary>
{list of changed files}
</details>
{If implementation report found:}
## Implementation Notes
{Deviations from plan, if any}
{Notable decisions or trade-offs}
## Testing
{If implementation report found: actual validation results}
{Otherwise: checklist}
- [ ] Type check passes
- [ ] Tests pass
- [ ] Manually verified
## Related Issues
{Any linked issues from commit messages, or "None"}
EOF
)"
PHASE_4_CHECKPOINT:
# Get the created PR info
gh pr view --json number,url,title,state
# Check PR status
gh pr checks
PHASE_5_CHECKPOINT:
## Pull Request Created
**PR**: #{number}
**URL**: {url}
**Title**: {title}
**Base**: {base-branch} <- {current-branch}
### Summary
{Brief description of what the PR contains}
### Changes
- {N} commits
- {M} files changed
### Files
{List of changed files}
{If implementation report was used:}
### Implementation Context
- Report: `.prp-output/reports/{name}-report-{TIMESTAMP}.md`
- Validation: All checks passed
- Deviations: {summary or "None"}
### Checks
{Status of any CI checks, or "Pending"}
### Next Steps
- Wait for CI checks to pass
- Request review if needed: `gh pr edit --add-reviewer @username`
- View PR: `gh pr view --web`
- Merge: `safe-merge {PR_NUMBER} --squash` (preferred — CI + review gates). Fallback: `gh pr merge --squash`
Note for orchestrators: The "Next Steps" above are for standalone usage only. If this command was invoked as part of run-all, the orchestrator should ignore these suggestions and proceed to its next step.
# Suggest rebasing first
git fetch origin
git rebase origin/main
# Then push with lease
git push --force-with-lease
<!-- required -->)# If .github/PULL_REQUEST_TEMPLATE/ directory exists
ls .github/PULL_REQUEST_TEMPLATE/
--no-interact: Auto-select the default template (first one alphabetically, or default.md if it exists). Do NOT ask.gh pr create --draft --title "{title}" --body "{body}"
/prp-pr # Create PR to main
/prp-pr develop # Create PR to develop branch
/prp-pr --no-interact # Fully autonomous, no questions
/prp-pr main --no-interact # Autonomous to main