CPR (clean → PR)
clean then pr-update, in that order, without asking between them. Use it
when the work is done and the branch should end up as a PR someone can read.
Run the two skills for real — this file is the sequence, not a replacement for their contents.
Steps
- Clean (
clean). Re-read the diff, cut dead code and debug logging, extend existing helpers instead of paralleling them, match neighboring style. Polish only — this is not a test/tsc/lint run. - Shape + publish (
pr-update). Topical commits, title and body that describe the change as a whole, media in an existing body preserved verbatim, prose throughno-tropes. - End with the PR/MR as a markdown link — number and full forge URL.
Order matters
Clean first, always. Committing then cleaning means the commit split describes code you already threw away, and the PR body describes a diff that no longer exists.
Stop conditions
- UI work: don't start until the user likes the UI (
ui-only). - Nothing to clean is a valid outcome — say so in one line and go to step 2.
- Don't stall on a clean pass. If polish keeps expanding, that's scope creep; ship the narrow version.
Scope
- In: polish the diff, shape commits, create or update the PR/MR, print the link.
- Out: CI and review threads (
pr-ready), triage/salvage (pr-triage), stacked bases (stacked-pr), merging.