npx skills add ...
npx skills add warpdotdev/common-skills --skill create-pr
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.
npx skills add warpdotdev/common-skills --skill create-pr
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.
write-pr-description - Write the PR body itself: template sections, prose, and reviewer guidancefix-errors - Fix targeted compilation, test, lint, or formatting failures before opening a PRwarp-integration-test - Add or update integration coverage for user-visible flows, regressions, and P0 use casesadd-feature-flag - Gate changes behind feature flagsAlways merge master into your feature branch before starting the review process.
Resolve any merge conflicts locally before opening the PR.
Before creating a PR, review what changes you're about to submit:
This helps you:
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:
./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.
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.
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:
CLI workflow:
Check if PR exists for current branch:
Exit code 0 if PR exists, 1 if not.
Create a new PR:
Key flags: --draft / -d, --fill / -f, --body-file / -F, --web / -w
Update an existing PR:
Mark PR ready for review:
When committing changes, include attribution as a trailer at the end of the commit message only — never in the PR description — and never add a second Warp/Oz co-author trailer if the commit already has one:
All bug fixes should be accompanied by a regression test. This helps prevent re-breaking something that was already broken once.
The test should:
Code with non-trivial logic should have unit tests to validate functionality:
Examples of what needs unit tests:
SumTree)Not required for:
Follow the repository's local testing conventions for guidance on writing unit tests.
All UI components (implementations of View) should have a simple unit test to validate that they can be laid out without a panic.
This provides high-level coverage over rendering "safety" (though not "correctness"):
If the PR changes a user-visible flow, fixes an end-to-end regression, or otherwise looks like it would benefit from integration coverage, use the ask_user_question tool before creating or updating the PR to ask whether the user wants an integration test added as part of the work.
Prefer a direct choice such as:
Yes, add an integration test before creating the PRNo, continue without an integration testIf the user chooses to add one, use the warp-integration-test skill.
All "P0 use cases" require an integration test that covers the behavior/flow in question.
A "P0 use case" is defined as: Any behavior of the application that, if broken, warrants an out-of-band release.
Integration tests should:
integration/ directoryUse the warp-integration-test skill for implementation details, test registration steps, and validation workflow.
Use the write-pr-description skill for the body itself. It covers following the
repository's template, the prose baseline, and when to add a reading order and focus
areas for the reviewer.
./script/format once. Do not repeat validation for PR metadata or an unchanged candidate.add-feature-flag skill)