Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Commits changes grouped by done-plans, rebases main, builds API and webapp, then creates or updates a PR. Replaces the commit command. Use when you're ready to open or update a pull request.
.claude/skills/dcouple-prepare-pr/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 10% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-05 | ✓→✗ | ▼ Worse | 5% | 0% |
| case-12 | ✓→✗ | ▼ Worse | 25% | 0% |
This is a high-trust workflow. Surface any destructive or ambiguous step before proceeding.
On invocation, resolve any supplied PR URL or query the current branch for an existing PR. If one exists, default to rewriting its description unless the user explicitly requests code/branch preparation; read the existing title/body, current diff, source ticket/discussion and available review/QA/check evidence; use the writing contract and reference to rewrite the requested narrative and refresh its Grain companion when connected. Preserve valid closing lines, relevant human context and honest tested-SHA/QA/publication limits; the request authorizes rewriting the requested prose. This mode runs only writing, visual/evidence verification and persisted-body readback: leave code, commits, branch history, labels and draft/ready state unchanged, and do not rerun application QA solely for an editorial rewrite. Report the description update separately from the PR's current readiness. Use the full workflow below when preparing code for review.
Workflow:
origin/main./tmp, usually /tmp/codex-pr-diagrams/<branch-or-pr>/.## Visual Overview section to the PR body.Before and After diagrams in the visual overview.pr-assets, and follow the diagram skill's unique naming, collision, manifest, and metadata/direct-content verification rules. Creating that release is a separate hard stop requiring an exact grant such as {"action":"create_release","repo":"owner/name","tag":"pr-assets"}; generic GitHub, PR, comment, or asset-upload authorization does not grant it. Otherwise prepare the exact commands and marked Markdown and report the blocker.--force-with-lease only when the rebase made it necessary.<!-- pr-visual-overview:start --> / <!-- pr-visual-overview:end --> that embeds the verified image inline. Read the PR back and confirm it is non-draft when the requested outcome is a ready PR.git diff origin/main...HEAD --numstat, counting hand-written files and lines only (exclude lockfiles, generated and vendored files). If it exceeds 10 files or 300 lines, end the report with one line offering refactor (the blind simple + deep pass that merges once and stops before applying). Under that size say nothing. Offer, never run; use the bundled skill through the parent's configured native roles only when the user requests it.Rules:
grain to discover/reuse the repository-and-PR (or branch) workspace, creating one if absent; store diagrams, QA media and reports there and link verified evidence in a self-contained PR, overriding release uploads and inline-asset requirements.session-trace skill is installed, attach this session's trace to it and link it from the PR companion.Development Artifacts/<org>/<repo>; explicit destinations win. Clarify ambiguity, name for the task/PR, verify organization/folder/audience, and return the location. Preserve local and tracker/evidence contracts.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 19,378 | 18,574 | -4% | 1 | 1 | 0% | 2,357 | 1,509 | -36% | 0 | 0 | — |
case-02 | fail→fail | 12,193 | 20,022 | +64% | 1 | 1 | 0% | 204 | 1,928 | +845% | 0 | 0 | — |
case-03 | fail→fail | 40,256 | 15,926 | -60% | 1 | 1 | 0% | 2,807 | 1,594 | -43% | 0 | 0 | — |
case-04 | fail→fail | 17,331 | 10,143 | -41% | 1 | 1 | 0% | 1,173 | 1,452 | +24% | 0 | 0 | — |
case-05 | pass→fail | 9,484 | 7,904 | -17% | 1 | 1 | 0% | 1,440 | 1,507 | +5% | 0 | 0 | — |
case-06 | pass→pass | 12,344 | 5,580 | -55% | 1 | 1 | 0% | 2,000 | 2,130 | +7% | 0 | 0 | — |
case-07 | pass→pass | 7,611 | 5,784 | -24% | 1 | 1 | 0% | 1,120 | 2,025 | +81% | 0 | 0 | — |
case-08 | pass→pass | 9,929 | 16,210 | +63% | 1 | 1 | 0% | 1,362 | 2,469 | +81% | 0 | 0 | — |
case-09 | fail→pass | 14,139 | 7,316 | -48% | 1 | 1 | 0% | 2,047 | 2,258 | +10% | 0 | 0 | — |
case-10 | pass→pass | 11,795 | 6,214 | -47% | 1 | 1 | 0% | 1,762 | 2,015 | +14% | 0 | 0 | — |
case-11 | fail→fail | 17,818 | 7,522 | -58% | 1 | 1 | 0% | 2,470 | 1,465 | -41% | 0 | 0 | — |
case-12 | pass→fail | 9,808 | 5,589 | -43% | 1 | 1 | 0% | 1,300 | 1,629 | +25% | 0 | 0 | — |
case-13 | pass→pass | 22,780 | 6,036 | -74% | 1 | 1 | 0% | 1,477 | 1,803 | +22% | 0 | 0 | — |
case-14 | fail→fail | 8,464 | 5,628 | -34% | 1 | 1 | 0% | 1,256 | 1,647 | +31% | 0 | 0 | — |
case-15 | fail→pass | 13,669 | 2,711 | -80% | 1 | 1 | 0% | 1,887 | 1,549 | -18% | 0 | 0 | — |
case-16 | fail→fail | 13,490 | 6,813 | -49% | 1 | 1 | 0% | 1,700 | 2,297 | +35% | 0 | 0 | — |
case-17 | pass→pass | 23,540 | 26,353 | +12% | 1 | 1 | 0% | 2,846 | 5,095 | +79% | 0 | 0 | — |
case-18 | pass→fail | 6,749 | 5,805 | -14% | 1 | 1 | 0% | 968 | 1,478 | +53% | 0 | 0 | — |
case-19 | pass→fail | 24,061 | 18,479 | -23% | 1 | 1 | 0% | 2,793 | 1,706 | -39% | 0 | 0 | — |
case-20 | fail→pass | 7,619 | 4,222 | -45% | 1 | 1 | 0% | 1,129 | 1,786 | +58% | 0 | 0 | — |
case-21 | pass→pass | 11,509 | 4,060 | -65% | 1 | 1 | 0% | 937 | 1,802 | +92% | 0 | 0 | — |
case-22 | fail→fail | 8,105 | 8,688 | +7% | 1 | 1 | 0% | 1,212 | 1,978 | +63% | 0 | 0 | — |
case-23 | fail→fail | 16,070 | 7,171 | -55% | 1 | 1 | 0% | 2,349 | 2,261 | -4% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 15 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of -4 percentage points is the difference between those two pass rates over the 15 comparable cases. 5 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 9/23/2026 | +23% |
| gemini-3.6-flash | verified | 8/21/2026 | -5% |
Other measured skills in the registry, with their headline benchmark lift.