Agent skill · trailofbits
pr-improver
Runs an autonomous review-and-fix improvement loop over the current branch's changes until a PR review comes back clean, scoped mechanically to the directories the branch touched. Reviews are performed by an installed PR-review skill (default: pr-review-toolkit's review-pr). Use to fix review findings on a branch before opening or updating a pull request ('clean up this branch', 'fix this PR until review passes', 'run review-and-fix on my changes'). NOT for a one-time review — run the PR-review skill directly.
What it needs
About 5k tokens when loaded.
What this skill does
PR Improver Improve the current branch by running /code-improver:improve — a dynamic workflow that loops a PR reviewer and a fixer subagent over the branch's changes until a review reports zero critical/major findings. The loop, its ledger, and its guards live in the workflow; this skill derives the scope from the branch diff and relays the outcome. Starting the loop The user provided: $ARGUMENTS (if empty, take base branch and preferences from the conversation). 1. Resolve the branch and its change surface 1. Repo root: git rev-parse --show-toplevel. Fail loudly outside a repository. 2. Base: the argument if given, else the repository's default branch (git symbolic-ref refs/remotes/origin/HEAD → its short name, falling back to main). Refuse to run when the current branch IS the base — there is no diff to improve. 3. Changed files: git diff --name-only <base>...HEAD. If empty, say so and stop. 4. Scope: the changed files' directories, widened — per-file globs are too tight (PR fixes legitimately add tests next to changed code). Map each changed file to its repo-relative directory glob <dir>/ ( at the repo root only if files at the root changed), then deduplicate and drop globs covered by another. 2. Resolve the loop script The loop is the dynamic workflow workflows/improve.js in this plugin. Launch it by path: scriptPath takes a resolved absolute path, and the Workflow tool's name resolves built-in and project workflows, so a marketplace-installed one may not answer to code-improver:improve. Try in order, first hit wins — the home directories come before . so an installed copy beats a checkout of this marketplace: 1. Bash: ls -d -- "${CLAUDEPLUGINROOT}/workflows/improve.js" 2. Bash: ls -d -- "${CODEXPLUGINROOT}/workflows/improve.js" (if that variable is set instead) 3. Bash: find ~/.claude ~/.codex . -maxdepth 7 -path '/code-improver/workflows/improve.js' -print -quit 2>/dev/null Use the path exactly as printed. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills trailofbits/pr-improver