Skill detail
create-pr
Guides creating a pull request in the warp repository: merging master, reviewing your own diff, linking tasks, and structuring the PR for effective review.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
--- name: create-pr description: Create a pull request in the warp repository for the current branch. Use when the user mentions opening a PR, creating a pull request, submitting changes for review, or preparing code for merge. --- # create-pr ## Overview This guide covers best practices for creating pull requests in the warp repository, including merging master, validating changes efficiently, linking Linear tasks, ensuring appropriate test coverage, and structuring your PR for effective review. ## Related Skills - `write-pr-description` - Write the PR body itself: template sections, prose, and reviewer guidance - `fix-errors` - Fix targeted compilation, test, lint, or formatting failures before opening a PR - `warp-integration-test` - Add or update integration coverage for user-visible flows, regressions, and P0 use cases - `add-feature-flag` - Gate changes behind feature flags ## Pre-PR Checklist ### 1. Merge master into your feature branch **Always merge master into your feature branch before starting the review process.** ```bash git fetch origin git merge origin/master ``` Resolve any merge conflicts locally before opening the PR. ### 2. Review your changes Before creating a PR, review what changes you're about to submit: ```bash # View commits in your branch (comparing against base branch) git --no-pager log <base-branch>..HEAD --oneline # View file statistics for changes git --no-pager diff <base-branch>...HEAD --stat # View full diff git --no-pager diff <base-branch>...HEAD ``` This helps you: - Verify all intended changes are included - Catch unintended changes before review - Write an accurate PR description - Ensure you're comparing against the correct base branch - **Tests:** Include tests when required—bug fixes (regression test), algorithmic code (unit tests), UI components (layout test), P0 use cases (integration test). See Testing Requirements below. ### 3. Respect implementation agent validation PR creation is not a validation boundary. If the implementation workflow already completed its tests, lint checks, and final formatting pass and the candidate has not changed, do not rerun them. If merging master or preparing the PR changed source, tests, manifests, generated code, or configuration, validate the new candidate in this order: 1. Run the relevant tests and fix the code until they pass. 2. Run the applicable Clippy and other lint, typecheck, or build checks and fix their findings. Return to affected tests only when a fix materially changes behavior. 3. Run `./script/format` once after all other code changes are complete. Do not rerun tests or lint after formatting, and do not run `./script/presubmit`, unless the user, task, or approved spec explicitly requires it. CI owns uncommon failures outside targeted local coverage. Documentation-only changes do not require Rust tests, Clippy, or formatting. ### 4. Link to Linear task When possible, PRs should be associated with a Linear task. Use the Linear MCP tool (if available) to find corresponding issues. **Branch naming convention:** Remote branches should be prefixed with your name (e.g., `zheng/feature`, `alice/fix-bug`). **How to link PRs to Linear:** Include the issue ID in the PR title (e.g., `[WARP-1234] Add new feature`). Do this **before** creating the PR for automatic linking. ### 5. Open the PR Use the PR template at `.github/pull_request_template.md` when opening PRs. Add changelog entries when appropriate using the format at the bottom of the PR template. Some examples: - Feature: "Global search in files across your current directories. Use CMD-F/CTRL-SHIFT-F to open." - Improvement: "Added horizontal autoscrolling when jumping to line/column." - Bug fix: "Fixed session viewer input being cleared when agent runs commands. **CLI workflow:** - **Check if PR exists** for current branch: ```bash gh pr view --json number,url ``` Exit code 0 if PR exists, 1 if not. - **Create a new PR:** ```bash # With title anRead the full source on GitHub (opens external page)