Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Survey open CodeWhale PRs and triage each for mergeability and disposition against the real landing branch.
.claude/skills/hmbown-gh-find-prs/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 57% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 122% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 23% | 0% |
Survey the open PR queue and assign each PR a disposition — backed by code, tests, and checks, never by title — testing real mergeability against the actual release branch (often local-only, e.g. <release-branch>), not the main-based GitHub flag.
This is read-and-recommend. You do NOT merge, close, tag, or publish. You surface evidence and a proposed disposition; the maintainer approves.
gh pr list --repo Hmbown/CodeWhale --state open \ --json number,title,author,headRefName,baseRefName,isDraft,mergeStateStatus,statusCheckRollup Note mergeStateStatus (CLEAN / BLOCKED / DIRTY / UNKNOWN) but treat it as a hint only — it is computed against main, and the real landing target is usually a different branch.
git branch --sort=-committerdate --format='%(committerdate:short) %(refname:short)' | head -20 git log --oneline -1 <release-branch> Ask the maintainer when several lanes look live. Use that ref, not main, for every mergeability test below.
gh pr view <N> --repo Hmbown/CodeWhale \ --json files,additions,deletions,statusCheckRollup,body,comments gh pr diff <N> --repo Hmbown/CodeWhale Read the diff. A "fix(exec): ..." can be a no-op or a regression; a "chore" can be the real fix. Judge the change, the tests it adds, and any review comments.
statusCheckRollup, find each conclusion: FAILURE and read its job. Codewhale's CI jobs are Lint, Test (ubuntu-latest|macos-latest|windows-latest), Version drift, gate (Contribution gate), npm wrapper smoke, Mobile runtime smoke, Documentation, GitGuardian Security Checks.Lint failure that is only cargo fmt drift is trivial — harvestable, fix on landing with cargo fmt --all.Test (...) or clippy under Lint is real — read the log before trusting it.Version drift failing on a community PR is expected (they bumped, or didn't); not a blocker for harvest. cargo fmt --all -- --check && cargo clippy --workspace --all-targets
mergeStateStatus flag lies for local branches. Probe the actual merge: git merge-tree --write-tree --messages <release-branch> origin/pr/<N> # if PR ref is fetched git merge-tree --write-tree --messages <release-branch> <pr-head-sha> Exit 0 and no CONFLICT lines → clean against the release branch (DIRECT-MERGE candidate even when GitHub shows BLOCKED/DIRTY). Conflicts printed → HARVEST or DEFER. This is read-only; it writes objects to the object store, not to any branch or working tree.
merge-tree is clean against the release head. Land via cherry-pick to preserve the original author automatically. Co-authored-by: Name <email>
Harvested from PR #<N> by @handle The Harvested from PR #<N> by @handle body line is what the auto-close-at-main workflow greps for; a Harvested-from: trailer does not match. See gh-credit-harvest for the exact shape.
mergeStateStatus for the real target. CLEAN/BLOCKED/DIRTY are vs main; always confirm with git merge-tree <release> <pr-head>.Lint red is harvestable; a failing Test (...) is not — read the log.Co-authored-by: + a Harvested from PR #N body line; every cherry-pick keeps the original author. No silent reimplementation.git merge-tree --write-tree is the only "write" allowed — it touches the object store only.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,700 | 14,503 | +6% | 1 | 1 | 0% | 270 | 1,970 | +630% | 0 | 0 | — |
case-02 | fail→fail | 16,802 | 13,213 | -21% | 1 | 1 | 0% | 2,088 | 1,942 | -7% | 0 | 0 | — |
case-03 | fail→fail | 14,277 | 31,380 | +120% | 1 | 1 | 0% | 285 | 1,838 | +545% | 0 | 0 | — |
case-04 | pass→fail | 9,442 | 15,884 | +68% | 1 | 1 | 0% | 1,142 | 2,141 | +87% | 0 | 0 | — |
case-05 | pass→pass | 10,346 | 25,257 | +144% | 1 | 1 | 0% | 942 | 3,348 | +255% | 0 | 0 | — |
case-06 | pass→fail | 7,531 | 8,038 | +7% | 1 | 1 | 0% | 917 | 1,782 | +94% | 0 | 0 | — |
case-07 | pass→pass | 15,091 | 8,916 | -41% | 1 | 1 | 0% | 2,394 | 2,509 | +5% | 0 | 0 | — |
case-08 | fail→pass | 58,905 | 8,665 | -85% | 1 | 1 | 0% | 1,388 | 2,182 | +57% | 0 | 0 | — |
case-09 | pass→pass | 9,426 | 5,013 | -47% | 1 | 1 | 0% | 1,046 | 2,091 | +100% | 0 | 0 | — |
case-10 | fail→fail | 33,815 | 41,639 | +23% | 1 | 1 | 0% | 1,485 | 2,678 | +80% | 0 | 0 | — |
case-11 | fail→pass | 12,415 | 5,865 | -53% | 1 | 1 | 0% | 1,590 | 2,356 | +48% | 0 | 0 | — |
case-12 | pass→pass | 5,159 | 10,738 | +108% | 1 | 1 | 0% | 447 | 2,068 | +363% | 0 | 0 | — |
case-13 | fail→pass | 17,019 | 7,971 | -53% | 1 | 1 | 0% | 2,128 | 2,679 | +26% | 0 | 0 | — |
case-14 | pass→pass | 23,820 | 3,979 | -83% | 1 | 1 | 0% | 1,476 | 1,953 | +32% | 0 | 0 | — |
case-15 | fail→pass | 7,536 | 5,661 | -25% | 1 | 1 | 0% | 1,001 | 2,221 | +122% | 0 | 0 | — |
case-16 | pass→pass | 9,829 | 8,890 | -10% | 1 | 1 | 0% | 1,101 | 2,756 | +150% | 0 | 0 | — |
case-17 | pass→pass | 8,061 | 5,583 | -31% | 1 | 1 | 0% | 1,321 | 2,113 | +60% | 0 | 0 | — |
case-18 | pass→pass | 6,075 | 2,910 | -52% | 1 | 1 | 0% | 785 | 1,803 | +130% | 0 | 0 | — |
case-19 | pass→pass | 21,719 | 6,395 | -71% | 1 | 1 | 0% | 1,488 | 2,348 | +58% | 0 | 0 | — |
case-20 | fail→pass | 13,685 | 7,127 | -48% | 1 | 1 | 0% | 1,847 | 2,271 | +23% | 0 | 0 | — |
case-21 | fail→pass | 18,232 | 10,476 | -43% | 1 | 1 | 0% | 2,297 | 2,999 | +31% | 0 | 0 | — |
case-22 | pass→pass | 11,530 | 5,739 | -50% | 1 | 1 | 0% | 1,557 | 2,298 | +48% | 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. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 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 +18 percentage points is the difference between those two pass rates over the 17 comparable cases. 2 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/8/2026 | +27% |
| gemini-3.6-flash | verified | 8/9/2026 | +39% |
Other measured skills in the registry, with their headline benchmark lift.