WIP: feat(skills): batch-review, a review pass over the open pull requests: ranked, one subagent each, code only #908

Draft
HumanBean wants to merge 2 commits from HumanBean/Longshot:feat/batch-review-skill into main
Owner

Type: feat · Risk: low · Tested on: not run in the game (a skill file and one line in AGENTS.md) · Needs: none

Why

Reviews pile up faster than people can read them: there were 265 open pull requests when this was written, and the
review pass over the top 30 took one long session to do by hand. A maintainer wants to say "review the top 20" and get
the PRs ranked by what matters to players, each read by its own reviewer, the small conflicts and nits fixed on the
spot, every review posted on the forge, and a report that shows plainly which PRs are ready for a human to merge.

What changed

Adds the batch-review skill (/batch-review top 20, /batch-review next 30, /batch-review top 10 perf fixes) and
a pointer to it in AGENTS.md. The skill ranks the open PRs, runs one subagent per PR, and reports in tables.

  • .claude/skills/batch-review/SKILL.md:
    • Rank: priority label, then what the change does for players, then how finished it is. Skips WIP PRs and PRs
      already reviewed at their current head, so "next 30" starts where the last pass ended. A re-review of a PR whose
      author pushed since ranks high.
    • Review: one subagent per PR, code only: nothing from the PR is built, run or tested. It fixes a basic conflict
      or a nit in a workspace of its own and pushes it to the PR's branch (a suggestion in the review when the push is
      refused), then posts one review with the verdict docs/forge.md defines.
    • Report: tables built from the forge's state after the agents finish: ready to merge, fixed and pushed, waiting
      on a test run, needs the author, comments, duplicates and merge order, not reviewed.
  • AGENTS.md: one bullet pointing at the skill.

Measurements

Nothing to measure: a skill file and one documentation line, no code the game runs.

Flags and settings

None.

Testing

Tested: the skill's steps were followed by hand for a review pass over 60 open PRs on 2026-11-15 (the reviews, the
fixes' push path and the tables); the file here is those steps written down for the team.

Not tested: /batch-review itself as one command: the skill didn't exist as a command until this file.

Must be tested: None.

Risks

What could break: the skill tells agents to push fixes to other people's PR branches. It limits that to basic
conflicts and nits, never a change in behaviour, a design or what a PR measured, and it falls back to a suggestion in
the review when the push is refused.

Turning it off: revert the commit.

Compatibility: Nothing changes.

Checklist

Everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description) of the status line's type.
  • Why gives the reason plainly and links the issues that fit (the tracker searched).
  • Measurements has a verdict, or one line saying why there is nothing to measure.
  • Testing names what was tested, what wasn't, and what must still be tested, where and how.
  • Rebased on current main.
  • python -I -B tests/run_all.py passes (any failure that also fails on main is named).
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

When it applies

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
  • Docs updated.

🤖 Generated with Claude Code

**Type:** feat · **Risk:** low · **Tested on:** not run in the game (a skill file and one line in AGENTS.md) · **Needs:** none ## Why Reviews pile up faster than people can read them: there were 265 open pull requests when this was written, and the review pass over the top 30 took one long session to do by hand. A maintainer wants to say "review the top 20" and get the PRs ranked by what matters to players, each read by its own reviewer, the small conflicts and nits fixed on the spot, every review posted on the forge, and a report that shows plainly which PRs are ready for a human to merge. ## What changed Adds the `batch-review` skill (`/batch-review top 20`, `/batch-review next 30`, `/batch-review top 10 perf fixes`) and a pointer to it in AGENTS.md. The skill ranks the open PRs, runs one subagent per PR, and reports in tables. - `.claude/skills/batch-review/SKILL.md`: - **Rank:** priority label, then what the change does for players, then how finished it is. Skips WIP PRs and PRs already reviewed at their current head, so "next 30" starts where the last pass ended. A re-review of a PR whose author pushed since ranks high. - **Review:** one subagent per PR, code only: nothing from the PR is built, run or tested. It fixes a basic conflict or a nit in a workspace of its own and pushes it to the PR's branch (a suggestion in the review when the push is refused), then posts one review with the verdict docs/forge.md defines. - **Report:** tables built from the forge's state after the agents finish: ready to merge, fixed and pushed, waiting on a test run, needs the author, comments, duplicates and merge order, not reviewed. - `AGENTS.md`: one bullet pointing at the skill. ## Measurements Nothing to measure: a skill file and one documentation line, no code the game runs. ### Flags and settings None. ## Testing **Tested:** the skill's steps were followed by hand for a review pass over 60 open PRs on 2026-11-15 (the reviews, the fixes' push path and the tables); the file here is those steps written down for the team. **Not tested:** `/batch-review` itself as one command: the skill didn't exist as a command until this file. **Must be tested:** None. ## Risks **What could break:** the skill tells agents to push fixes to other people's PR branches. It limits that to basic conflicts and nits, never a change in behaviour, a design or what a PR measured, and it falls back to a suggestion in the review when the push is refused. **Turning it off:** revert the commit. **Compatibility:** Nothing changes. ## Checklist ### Everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`) of the status line's type. - [x] Why gives the reason plainly and links the issues that fit (the tracker searched). - [x] Measurements has a verdict, or one line saying why there is nothing to measure. - [x] Testing names what was tested, what wasn't, and what must still be tested, where and how. - [x] Rebased on current `main`. - [ ] `python -I -B tests/run_all.py` passes (any failure that also fails on `main` is named). - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### When it applies - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers. - [x] Docs updated. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(skills): batch-review, a review pass over the open pull requests: ranked, one subagent each, code only
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
Website / Website on Cloudflare (pull_request_target) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 4s
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 5s
Third-party parts / As their notes say (pull_request) Successful in 10s
68316a9c04
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Author
Owner

Added a rule to the skill after the first pass: a reviewer keeps the author's commits when it rebases, and never squashes or rewrites their history for a nit.

Added a rule to the skill after the first pass: a reviewer keeps the author's commits when it rebases, and never squashes or rewrites their history for a nit.
fix(skills): batch-review keeps the author's commits when it rebases, never squashes them
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 4s
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 5s
Third-party parts / As their notes say (pull_request) Successful in 10s
Website / Website on Cloudflare (pull_request_target) Has been skipped
58180c656e
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Some checks failed
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Has been skipped
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Has been skipped
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Has been skipped
Third-party parts / The same as upstream (pull_request) Has been skipped
PR description / Description follows the template (pull_request_target) Successful in 4s
CI / Conventional Commit title (pull_request) Successful in 3s
CI / Workflow lint (actionlint) (pull_request) Successful in 6s
Guide screenshots / Guide images and local UI source review (pull_request) Failing after 5s
Third-party parts / As their notes say (pull_request) Successful in 10s
Website / Website on Cloudflare (pull_request_target) Has been skipped
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u 'feat/batch-review-skill:HumanBean-feat/batch-review-skill'
git switch 'HumanBean-feat/batch-review-skill'
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!908
No description provided.