Agent skill

PR Backlog Triage

by amd in amd/gaia

Interactively clear a backlog of open amd/gaia PRs to zero (or to a short, justified human-review list) by fanning out one isolated subagent per PR.

MITAuto-check passedAgent Workflows

Install PR Backlog Triage

skills CLI
$ npx skills add amd/gaia --skill pr-backlog-triage -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install amd/gaia pr-backlog-triage --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/amd/gaia.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pr-backlog-triage .claude/skills/pr-backlog-triage && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pr-backlog-triage
GitHub stars
1.6k
Token cost
~2.2k tokens
SKILL.md length
1,251 words
Files
1
Skills in repo
44
Repo updated
First seen
Licence
MIT

At a glance

Interactively clear a backlog of open amd/gaia PRs to zero (or to a short, justified human-review list) by fanning out one isolated subagent per PR.

  • Works in 9 steps: The PR number, title, and author —… → The sync-to-main step above, inline — a… → Known non-blocking CI causes, as… → …
  • The user asks to audit open PRs
  • SKILL.md covers Before the first round: sync…, Per-PR subagent dispatch, What a subagent should still… and Re-verifying a previously-held…, plus 1 more section
  • Calls git and gh

What it does

PR Backlog Triage is an agent skill from amd/gaia. Interactively clear a backlog of open amd/gaia PRs to zero (or to a short, justified human-review list) by fanning out one isolated subagent per PR. Use when the user asks to 'audit open PRs', 'triage the backlog', 'fix CI and merge what's safe', or similar — not for reviewing a single named PR someone just opened (that's a normal review), and not for the scheduled nightly audit workflow (see weekly-audit-patterns, a different, automated lens).

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Subagents and Failing and flaky tests. The repository describes itself as: Build AI agents for your PC. The licence is MIT.

When your agent uses it

  • The user asks to audit open PRs
  • Triage the backlog
  • Fix CI and merge whats safe
  • Similar — not for reviewing a single named PR someone just opened (thats a normal review)

Example prompts

  • “audit open PRs”
  • “triage the backlog”
  • “fix CI and merge what”
  • “/pr-backlog-triage”

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. The PR number, title, and author — enough that the agent doesn't have to
  2. The sync-to-main step above, inline — a fresh worktree needs it too.
  3. Known non-blocking CI causes, as categories, not hardcoded issue numbers.
  4. Fork vs. same-repo handling. Check headRepositoryOwner/headRepository
  5. The eval-gating rule. If the diff touches a system prompt, tool docstring,
  6. What to actually do, in order: read the diff, description, and every
  7. When to hold instead of merge: a real bug whose fix is still incomplete: a
  8. **Large PRs (roughly >5k lines or a full subsystem rewrite) get resolved to a
  9. Security-sensitive PRs (permission prompts, confirmation gating, path-scope

What it can do on your machine

Read from SKILL.md and the folder at commit 6c3bb5c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PR Backlog Triage loads about 2.2k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 1,251 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~117
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from amd/gaia at commit 6c3bb5c, republished under its MIT licence (© amd). 1,251 words, ~2,182 tokens.

Download SKILL.mdSave it as .claude/skills/pr-backlog-triage/SKILL.md (or your agent's skills folder).
name
pr-backlog-triage
description
Interactively clear a backlog of open amd/gaia PRs to zero (or to a short, justified human-review list) by fanning out one isolated subagent per PR. Use when the user asks to 'audit open PRs', 'triage the backlog', 'fix CI and merge what's safe', or similar — not for reviewing a single named PR someone just opened (that's a normal review), and not for the scheduled nightly audit workflow (see weekly-audit-patterns, a different, automated lens).

PR Backlog Triage

Clears a large, standing backlog of open PRs by dispatching one worktree-isolated subagent per PR, in parallel, repeatedly, until nothing mergeable is left open. This is a loop, not a one-shot pass: new PRs land while you're triaging the old ones, PRs you held come back with fixes, and CI itself sometimes breaks underneath the whole batch. Budget for several rounds in one sitting.

Before the first round: sync to origin/main

A worktree's local main can silently fall behind origin/main by dozens of commits — nothing here force-pushes or rebases your worktree, so staleness only clears when you fetch. Running tests or reproducing a bug against a stale worktree produces a false report: a bug "found" that a merged PR already fixed, or a fix that looks broken because the test it needs hasn't landed yet. Check and fast-forward before trusting any local result:

bash
git fetch origin main
git log --oneline HEAD..origin/main | wc -l   # non-zero means you're behind
git merge --ff-only origin/main               # safe: fails loudly instead of rewriting history if it can't fast-forward

Re-run this at the start of every round, not just once — rounds in this loop can span hours, and main moves fast when several PRs merge per round.

Per-PR subagent dispatch

One Agent call per PR, isolation: "worktree", run in parallel (multiple Agent invocations in a single message). Each subagent's prompt should carry:

  1. The PR number, title, and author — enough that the agent doesn't have to guess what it's for from the diff alone.
  2. The sync-to-main step above, inline — a fresh worktree needs it too.
  3. Known non-blocking CI causes, as categories, not hardcoded issue numbers. Issue numbers for flakes get fixed and re-opened as the codebase moves; a skill that hardcodes "failure X is always issue #1234, ignore it" goes stale and becomes wrong in the opposite direction — treating a new regression as a known flake because it superficially resembles one. Instead, tell the agent the shape of a known flake and to verify by reading the actual job log every time:
    • A continue-on-error: true smoke-test job failing on a platform-specific assertion unrelated to the PR's own files (e.g. a POSIX-only check running on Windows, a macOS-only library conflict) — real flakes recur verbatim across unrelated PRs; confirm by reading the log, not by the job's name alone.
    • The automated PR-review bot skipping with a quota/auth error rather than posting a verdict — treat as "never ran," not a finding either way.
    • A failure that reproduces identically on bare origin/main with none of the PR's own changes present — proves the PR isn't the cause; still worth filing an issue if nothing already tracks it (see "What a subagent should still do" below).
  4. Fork vs. same-repo handling. Check headRepositoryOwner/headRepository before assuming push access. Same-repo branches: push fixes directly. Fork branches: push to the fork remote (git push <fork-owner>-fork HEAD:branch), never to amd/gaia directly, and never force. A push that ends up on the wrong remote (easy to do when a worktree still has origin pointed at the main repo) needs to be deleted and redone, not left stray.
  5. The eval-gating rule. If the diff touches a system prompt, tool docstring, tool-call schema, tool-registration/availability logic, retry/recovery prompts, or verification/grounding logic, it's LLM-behavior-affecting and needs a real gaia eval agent (or gaia eval tasks) run with posted results before merge — per CLAUDE.md. A PR with a clean diff and green CI but no eval evidence for this category of change is a hold, not a merge. Draft-status language left in the PR body ("needs the eval run", "draft until...") after the PR left draft is a strong signal the author knows this gate is unmet — don't treat coming out of draft as the gate having cleared.
  6. What to actually do, in order: read the diff, description, and every comment (not just the latest) — a bot review's finding from hours ago is still unaddressed if no commit followed it. Check fork status. Fix merge conflicts (additively — when two features touched the same lines, keep both, don't drop either side without understanding why it was there). Root-cause every failing check from the actual log, not the job name. Run the affected test suite with PYTHONPATH pointed at this worktree's src/ + hub/agents/*/python/ (an editable install elsewhere on the machine will otherwise silently test the wrong checkout — see project_editable_install_wrong_worktree in memory, or the repo's own root conftest.py pin for pytest specifically). Run lint. Merge via gh pr merge <n> --squash, falling back to --auto when the repo's merge queue rejects a direct squash ("! The merge strategy for main is set by the merge queue" is the queue accepting it, not refusing it — re-check state/mergedAt afterward since a queued merge can still fail later and the PR stays open).
  7. When to hold instead of merge: a real bug whose fix is still incomplete: a confirmation prompt that can approve a declined action's full scope without showing it, a cache keyed wrong, a leak path only half-closed, a race "narrowed" rather than closed, a doc deletion that hides a still-live, still-supported surface rather than reflecting an actual retirement. State the gap precisely — "what's missing before this can merge" — not just "needs more review."
  8. Large PRs (roughly >5k lines or a full subsystem rewrite) get resolved to a clean, CI-green, conflict-free state but are never auto-merged, regardless of how clean they are — they get flagged for explicit human sign-off. Still do the full conflict-resolution and bug-hunting work; don't skip triage just because it's big.
  9. Security-sensitive PRs (permission prompts, confirmation gating, path-scope enforcement, anything in the "ask before doing X" family) get the same fail-closed scrutiny every time: trace what happens on timeout, on a malformed answer, on an answer to a different prompt arriving late, and whether a grant can be scoped wider than what was actually shown to the user. These also get held for human sign-off even when the mechanism checks out — the two concerns (size/security and "is it merge-ready") are independent; a PR can clear one and still need the other.
Show full SKILL.md (274 more words)Show less

What a subagent should still do even when holding

Don't just report a finding and stop. Post it as a PR comment if nothing already says it (a bot review that already caught the same thing doesn't need a duplicate). If the finding is a real bug unrelated to the PR under review — a CI failure that reproduces on bare main, a stale pinned test, a leftover reference to something already deleted — fix it in its own small PR (or file an issue if it's bigger than a one-commit fix) rather than letting it silently block every other PR in the batch. Check whether another parallel subagent already found and fixed the same thing before filing a duplicate — two subagents hitting the same shared-file break independently is common in a big parallel batch.

Re-verifying a previously-held PR

When a round turns up a new commit on a PR you held last round, don't assume the new commit fixes what you flagged — re-read the actual diff and re-verify the specific claim. A plausible-looking follow-up commit sometimes addresses a different, superficially similar concern (e.g. adds an unrelated optimization instead of fixing the flagged correctness gap) and the original hold stands.

End state

The loop is done for a round when every open PR is either merged, or held with a specific, current, re-checked reason (not "needs review" — the actual blocking fact). Summarize the held list for the user with one line per PR naming the concrete reason, grouped by reason category (eval-gate unmet / incomplete fix / large-PR sign-off / security sign-off), so a human can scan it in seconds rather than re-deriving why each one is still open.

© amd, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/pr-backlog-triage of amd/gaia.

Open the folder on GitHubat commit 6c3bb5c

Compare with similar skills

PR Backlog Triage next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PR Backlog Triage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Backlog Triage this skillamd/gaia1.6k—~2.2kAutomated safety check: PassMIT
Ops Mergedavepoon/buildwithclaude3.6k—~3.1kAutomated safety check: NotesMIT
Parallel CI Triagespencerpauly/awesome-cursor-skills841—~793Automated safety check: PassCC0-1.0
Gsd Debugcoco-research/coco473—~1.3kAutomated safety check: NotesCustom licence
Parallel Test Fixingspencerpauly/awesome-cursor-skills841—~525Automated safety check: PassCC0-1.0
Codex CLIsundial-org/awesome-openclaw-skills663—~2kAutomated safety check: PassNone

Similar skills

  • Ops Merge

    davepoon/buildwithclaude

    Autonomous PR merge pipeline. An agent skill from davepoon/buildwithclaude.

    3.6k GitHub stars~3.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check: notes
  • Parallel CI Triage

    spencerpauly/awesome-cursor-skills

    When GitHub Actions fails, fetch failing job logs and assign each failing job to a separate subagent that fixes its slice of the problem in parallel.

    841 GitHub stars~793 tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Gsd Debug

    coco-research/coco

    A skill your agent uses when a bug, failing test, or unexpected behaviour needs investigation, especially across sessions or context resets.

    473 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Parallel Test Fixing

    spencerpauly/awesome-cursor-skills

    When multiple tests fail, assign each failing test file to a separate subagent that fixes it independently in parallel.

    841 GitHub stars~525 tokensUpdated 2 mo ago
    Testing & QAAuto-check passed
  • Codex CLI

    sundial-org/awesome-openclaw-skills

    Use OpenAI Codex CLI for coding tasks. An agent skill from sundial-org/awesome-openclaw-skills.

    663 GitHub stars~2k tokensUpdated 7 mo ago
    DevelopmentAuto-check passed
  • Workflow Orchestration

    vxcozy/workflow-orchestration

    Disciplined task execution with planning, verification, and self-improvement loops.

    115 GitHub stars~1k tokensUpdated 5 mo ago
    Agent WorkflowsAuto-check passed

More from amd/gaia

All 44 skills in this repo
  • Adds a release eval scorecard to a GAIA hub agent by writing a harness adapter, running a real eval, and wiring the result into the agent's README and release gate.

    1.6k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Walks through releasing a GAIA sidecar agent as a frozen binary plus npm client through the tag-triggered Agent Hub CI pipeline, with a human gate before publishing.

    1.6k GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Mines local Claude Code session transcripts with a deterministic Python pipeline to show what the agent is actually used for, how often it fails and what it costs.

    1.6k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Benchmarks AMD's GAIA agent against Claude Code and across models on quality, honesty, steps, tokens, time and real cost, using gaia eval tasks.

    1.6k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Guides safe code changes by finding the right file with grep or semantic search, reading before editing, reproducing bugs first, and proving a fix with a real test run.

    1.6k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Walks through scaffolding, writing and testing a new GAIA agent as a Python class with the SDK, from the base Agent subclass to registered tool methods.

    1.6k GitHub stars~1.5k tokensUpdated today
    Auto-check passed

Questions about PR Backlog Triage

What does PR Backlog Triage do?

Interactively clear a backlog of open amd/gaia PRs to zero (or to a short, justified human-review list) by fanning out one isolated subagent per PR. PR Backlog Triage is an agent skill from amd/gaia. Interactively clear a backlog of open amd/gaia PRs to zero (or to a short, justified human-review list) by fanning out one isolated subagent per PR.

When should I use PR Backlog Triage?

PR Backlog Triage fits situations like: the user asks to audit open PRs; triage the backlog; fix CI and merge whats safe; similar — not for reviewing a single named PR someone just opened (thats a normal review).

How do I install PR Backlog Triage in Claude Code?

Run `npx skills add amd/gaia --skill pr-backlog-triage -a claude-code`. Or copy the skill folder (.claude/skills/pr-backlog-triage in amd/gaia) into .claude/skills/pr-backlog-triage in your project. Claude Code loads it when a task matches its description.

How do I install PR Backlog Triage in Codex?

Run `npx skills add amd/gaia --skill pr-backlog-triage -a codex`. Or copy the skill folder (.claude/skills/pr-backlog-triage in amd/gaia) into .agents/skills/pr-backlog-triage in your project. Codex loads it when a task matches its description.

Can I use PR Backlog Triage in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add amd/gaia --skill pr-backlog-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-backlog-triage, .gemini/skills/pr-backlog-triage, .github/skills/pr-backlog-triage and .opencode/skills/pr-backlog-triage in your project.

What does PR Backlog Triage need to run?

Going by SKILL.md and its folder, PR Backlog Triage needs the command-line tools its instructions call (git and gh).

Does PR Backlog Triage access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is PR Backlog Triage safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does PR Backlog Triage use?

PR Backlog Triage is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PR Backlog Triage use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to PR Backlog Triage?

Skills that share tags, products or a category with PR Backlog Triage: Ops Merge (davepoon/buildwithclaude, 3.6k stars), Parallel CI Triage (spencerpauly/awesome-cursor-skills, 841 stars), Gsd Debug (coco-research/coco, 473 stars) and Parallel Test Fixing (spencerpauly/awesome-cursor-skills, 841 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Backlog Triage?

amd (a GitHub organization) maintains it in amd/gaia, which has 1,580 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on October 6, 2026.

Source: amd/gaia on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.