Official agent skill

Autopilot PR Review Scheduler

by microsoft in microsoft/apm

Queue microsoft/apm pull requests labelled panel-review (or an explicit named list) and fan them out through an isolated pool (default 2) of autopilot-pr-review-worker sessions.

OfficialMITAuto-check passedDevelopment

Install Autopilot PR Review Scheduler

skills CLI
$ npx skills add microsoft/apm --skill autopilot-pr-review-scheduler -a claude-code

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

GitHub CLI
$ gh skill install microsoft/apm autopilot-pr-review-scheduler --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/microsoft/apm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/autopilot-pr-review-scheduler .claude/skills/autopilot-pr-review-scheduler && 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
autopilot-pr-review-scheduler
GitHub stars
4k
Token cost
~2.1k tokens
SKILL.md length
984 words
Files
2 (incl. assets)
Skills in repo
27
Repo updated
First seen
Licence
MIT

At a glance

Queue microsoft/apm pull requests labelled panel-review (or an explicit named list) and fan them out through an isolated pool (default 2) of autopilot-pr-review-worker sessions.

  • Works in 8 steps: Snapshot the CODEOWNERS set from current… → Paginate issue comments and submitted… → Last CODEOWNER comment = latest of those… → …
  • Tasks that involve Pull requests
  • SKILL.md covers Activation card, Invocation, Selection and CODEOWNERS last-comment gate, plus 4 more sections
  • Calls gh

What it does

Autopilot PR Review Scheduler is an agent skill from microsoft/apm, published by the product's own GitHub organization. Queue microsoft/apm pull requests labelled panel-review (or an explicit named list) and fan them out through an isolated pool (default 2) of autopilot-pr-review-worker sessions. Advisory only. Never implements. Never composes autopilot-pr-merge-worker. Never review every open PR. Works in a local session, Copilot App automation, Cloud Agent, Remote Agent, or Agentic Workflow. Does not triage issues or open greenfield PRs.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including assets (for example `assets/fan-out-pool.md`).

It sits in Development, covering Pull requests and Issue triage. The repository describes itself as: Agent Package Manager. The licence is MIT.

When your agent uses it

  • Tasks that involve Pull requests
  • Tasks that involve Issue triage

Example prompts

  • “/autopilot-pr-review-scheduler”

Workflow steps

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

  1. Snapshot the CODEOWNERS set from current reviewRequests
  2. Paginate issue comments and submitted reviews to exhaustion.
  3. Last CODEOWNER comment = latest of those authored by the
  4. If none: eligible. The worker still reads full context.
  5. Read that comment as standing conditions (open an issue, link
  6. If the comment explicitly asks for a panel or further review,
  7. If conditions are not met: drop. Do not spawn. Do not comment.
  8. If it is unclear whether conditions are met: fail closed.

What it can do on your machine

Read from SKILL.md and the folder at commit 280b8a7. 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:

    • gh

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

  • Network

    No URLs in SKILL.md. Its commands use 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

Autopilot PR Review Scheduler loads about 2.1k tokens when it runs. Until then it costs about 114 tokens; SKILL.md has 984 words of instructions outside code blocks.

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

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 microsoft/apm at commit 280b8a7, republished under its MIT licence (© microsoft). 984 words, ~2,065 tokens.

Download SKILL.mdSave it as .claude/skills/autopilot-pr-review-scheduler/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
autopilot-pr-review-scheduler
description
Queue microsoft/apm pull requests labelled `panel-review` (or an explicit named list) and fan them out through an isolated pool (default 2) of autopilot-pr-review-worker sessions. Advisory only. Never implements. Never composes autopilot-pr-merge-worker. Never review every open PR. Works in a local session, Copilot App automation, Cloud Agent, Remote Agent, or Agentic Workflow. Does not triage issues or open greenfield PRs.
activation_card
on

autopilot-pr-review-scheduler

User-facing PR REVIEW queue. This skill SELECTS pull requests and THROTTLES fan-out. It does not triage issues, does not implement, and does not open greenfield PRs.

Compose autopilot-pr-review-worker one PR per slot (INVOCATION_MODE=session-review, panel-mode: full for a first advisory). Never compose autopilot-pr-merge-worker. Drive-to-merge is a different skill.

Never borrow slots from autopilot-issue-triage-scheduler, autopilot-issue-delivery-scheduler, or autopilot-pr-triage-scheduler.

Activation card

activation_card: on. Before any queue read or spawn, emit this Enter card with every field filled. Missing field -> stop.

text
skill: autopilot-pr-review-scheduler
skill_path: <resolved directory of this SKILL.md>
mode: run
subject: microsoft/apm
path: review
intent: select accepted review PRs and fan out review workers
origin: unattended | actor-session
write: off
repo: microsoft/apm
fanout_limit: <positive integer>
invocation: agentic-workflow | actor-session

Rules:

  • write is always off. This scheduler never comments, labels, assigns, or requests reviewers.
  • write: on -> stop.
  • origin fail-closed unknown -> unattended.
  • invocation is the harness. Copilot App, local session, Cloud Agent, and Remote Agent are actor-session. agentic-workflow is only gh-aw / GitHub Actions. Do not copy origin into invocation.
  • One queue. Do not nest another scheduler path.
  • Do not compose autopilot-pr-merge-worker.

After the run, emit this Exit receipt:

text
skill: autopilot-pr-review-scheduler
subject: microsoft/apm
path: review
write: off
queued: <integer>
spawned: <integer>
approved: n/a

Invocation

Works in local sessions, Copilot App automations, Cloud Agent, Remote Agent, and Agentic Workflows.

Resolve ORIGIN before spawning slots so each reviewing session can apply ownership writes. This scheduler never comments, labels, assigns, or requests reviewers.

  • unattended -- slots never assign, never request reviewers.
  • actor-session -- autopilot-pr-review-worker requests @me as a supplemental reviewer. Never assign the PR. Skip only on self-review-red-flag (operator is the PR author).

Ownership writes:

  • Issue triage: none (no assignment needed)
  • Code (accepted implementation): assign the implementing user
  • PR review: the reviewing session requests the reviewing user as reviewer, never assignee. Scheduler does not perform that write.

Selection

panel-review is the only request trigger. It matches .github/workflows/pr-review-panel.md. It is not a human decision label. Re-apply it (remove + add) for a fresh review after the panel clears it.

status/accepted on the PR is a sweep source, not a request trigger. A maintainer already accepted that PR. Union it with the panel-review list. Do not treat status/accepted on a linked issue as a sweep source (that would require listing every open PR).

No accepted, no review. After building the union, drop any PR that is not status/accepted on the PR or a same-repo linked issue. Do not spawn it. Do not comment. Do not remove labels. The review-worker, if already invoked, also stops with no comment and may clear panel-review.

Modes:

  • Named list or one PR number: explicit request. Honor those numbers even without panel-review.
  • queue-open / no names: open PRs that currently have panel-review or status/accepted on the PR.

Never list all open PRs. Never fall back to an unfiltered gh pr list --state open. Empty label queue -> empty table, stop.

Default (authenticated gh):

gh pr list --state open --label panel-review --json number,title,isDraft,labels,updatedAt
gh pr list --state open --label status/accepted --json number,title,isDraft,labels,updatedAt

Deduplicate by number. Skip drafts unless the caller named them. Label sweep: oldest first, cap 10. Named list is not capped.

Do not invent a second trigger label.

CODEOWNERS last-comment gate

Before any spawn, for each candidate PR (named list, panel-review sweep, or status/accepted on the PR). This gate does not bypass status/accepted. Named list and panel-review do not bypass this gate.

  1. Snapshot the CODEOWNERS set from current reviewRequests (users and teams). If empty, use CODEOWNERS for the changed paths. If still empty, skip this gate.
  2. Paginate issue comments and submitted reviews to exhaustion. Ignore bots.
  3. Last CODEOWNER comment = latest of those authored by the CODEOWNERS set.
  4. If none: eligible. The worker still reads full context.
  5. Read that comment as standing conditions (open an issue, link it, wait, change approach, add labels, or explicitly ask for a panel or further review). Evaluate whether those conditions are already met using later comments AND current labels on the PR and on same-repo linked issues. Do not treat "last word" as a stop when the asked work is done.
  6. If the comment explicitly asks for a panel or further review, or its conditions are met: eligible. The comment is required context. Do not contradict it.
  7. If conditions are not met: drop. Do not spawn. Do not comment. Do not change labels. Rationale: CODEOWNERS last comment conditions unmet.
  8. If it is unclear whether conditions are met: fail closed. Drop with rationale: CODEOWNERS last comment conditions unclear.
Show full SKILL.md (316 more words)Show less

Queue table (mandatory)

Before any spawn, emit the keep-set and the drop-set in plan.md and in the session report. Missing table, missing column, or blank rationale -> stop. Do not spawn.

Keep-set (items this run will schedule). One row per item. Do not truncate to FANOUT_LIMIT:

| number | kind | labels | rationale | slot |

Drop-set (considered, then not scheduled). slot is -:

| number | kind | labels | rationale | slot |

  • kind: issue or pr
  • labels: current GitHub labels, comma-separated; none if empty
  • rationale: why queued or dropped (helper rule and labels)
  • slot: 1-based spawn order, or - when dropped

Empty keep-set is success. Still emit the drop-set, or none. You are the sole table writer. Name missing panel-review, missing status/accepted, or a CODEOWNERS last-comment drop in rationale.

Fan-out

Load assets/fan-out-pool.md. Default FANOUT_LIMIT=2 concurrent slots. Isolated to this run. FANOUT_LIMIT is concurrency, not queue length. Drain the full selected list; when a slot returns, fill it with the next item.

Procedure

  1. Probe autopilot-pr-review-worker on disk. Missing sibling -> stop. Do not probe or spawn autopilot-pr-merge-worker.
  2. Apply the CODEOWNERS last-comment gate. Emit the mandatory queue table (labels + rationale) before any spawn. Drain the keep-set. Concurrent slots <= FANOUT_LIMIT. One PR per slot. When a slot returns, dispatch the next queued PR. Do not stop because the pool was full.
  3. Each slot reads the complete PR conversation, including the last CODEOWNER comment, and honors CODEOWNERS reviewRequests. Pass panel-mode: full on the worker activation card (first advisory). The worker may still lean or add ad-hoc personas.
  4. Never auto-merge.

Hard nos

  • Do not share this pool.
  • Do not dispatch the same PR to two slots.
  • Do not comment, label, close, assign, or request reviewers. Reviewing sessions own those writes.
  • Do not list all open PRs. panel-review, status/accepted on the PR, or a named list only.
  • Do not open issues or greenfield PRs.
  • Do not implement. Do not drive-to-merge.
  • Do not compose autopilot-pr-merge-worker.
  • Do not contradict CODEOWNERS.
  • ASCII only.

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

Files

SKILL.md and 1 other file (assets) in .agents/skills/autopilot-pr-review-scheduler of microsoft/apm.

  • SKILL.md
  • assets/fan-out-pool.md

Open the folder on GitHubat commit 280b8a7

Compare with similar skills

Autopilot PR Review Scheduler 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.

Autopilot PR Review Scheduler compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Autopilot PR Review Scheduler this skillmicrosoft/apm4k—~2.1kAutomated safety check: PassMIT
Exposed Bug Fix WorkflowJetBrains/Exposed9.3k—~3.8kAutomated safety check: PassApache-2.0
Pre-Release PR Triagejamiepine/voicebox57k—~3.1kAutomated safety check: PassMIT
Review Triage Phaseprisma/orm48k—~995Automated safety check: PassApache-2.0
Pre-Ship Review and Triagetw93/Waza7.2k—~6.9kAutomated safety check: PassMIT
Skills CLI PR Labelingvercel-labs/skills34k—~310Automated safety check: PassMIT

Similar skills

  • Exposed Bug Fix Workflow

    JetBrains/Exposed

    Official

    Takes a GitHub or YouTrack issue for the Exposed project through reproduction, a failing test, a fix, validation and a pull request.

    9.3k GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Pre-Release PR Triage

    jamiepine/voicebox

    Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.

    57k GitHub stars~3.1k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Official

    Runs the triage step of the review-framework loop: reads fetched PR review state, builds `review-actions.json`, validates it and renders `review-actions.md`.

    48k GitHub stars~995 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Reviews diffs and pull requests, triages issues, and checks release readiness, reporting findings with evidence and making no edits unless authorized.

    7.2k GitHub stars~6.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Skills CLI PR Labeling

    vercel-labs/skills

    Official

    Labels a pull request in the skills CLI repo as bug, documentation or enhancement based on its description and patch, leaving existing labels untouched.

    34k GitHub stars~310 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Triages and works through GitHub issues and pull requests in the Q00/ouroboros repo as a maintainer, within a stated review boundary and clear limits on what it may change.

    6.2k GitHub stars~1.7k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from microsoft/apm

All 27 skills in this repo
  • Cut Release

    microsoft/apm

    Official

    A skill your agent uses to cut an APM release from the current worktree: assess whether the cycle since the last tag warrants a patch or minor bump (semver discipline against the…

    4k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Docs Corpus Audit

    microsoft/apm

    Official

    A skill your agent uses to run a holistic regrounding pass on the entire microsoft/apm documentation corpus against current source code, page-by-page, and emit surgical fixes for stale claims.

    4k GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Official

    A skill your agent uses to verify CLAIM-LEVEL grounding of a documentation page (or set of pages) against the source code.

    4k GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Official

    A skill your agent uses to write the PR description (PR body) for any pull request opened against microsoft/apm.

    4k GitHub stars~4.1k tokensUpdated yesterday
    Auto-check passed
  • Official

    A skill your agent uses to implement ONE microsoft/apm issue already selected by autopilot-issue-delivery-scheduler.

    4k GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Official

    Drive ONE already selected open pull request in microsoft/apm to mergeable.

    4k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Autopilot PR Review Scheduler

What does Autopilot PR Review Scheduler do?

Queue microsoft/apm pull requests labelled panel-review (or an explicit named list) and fan them out through an isolated pool (default 2) of autopilot-pr-review-worker sessions. Autopilot PR Review Scheduler is an agent skill from microsoft/apm, published by the product's own GitHub organization. Queue microsoft/apm pull requests labelled panel-review (or an explicit named list) and fan them out through an isolated pool (default 2) of autopilot-pr-review-worker sessions.

When should I use Autopilot PR Review Scheduler?

Autopilot PR Review Scheduler fits situations like: tasks that involve Pull requests; tasks that involve Issue triage.

How do I install Autopilot PR Review Scheduler in Claude Code?

Run `npx skills add microsoft/apm --skill autopilot-pr-review-scheduler -a claude-code`. Or copy the skill folder (.agents/skills/autopilot-pr-review-scheduler in microsoft/apm) into .claude/skills/autopilot-pr-review-scheduler in your project. Claude Code loads it when a task matches its description.

How do I install Autopilot PR Review Scheduler in Codex?

Run `npx skills add microsoft/apm --skill autopilot-pr-review-scheduler -a codex`. Or copy the skill folder (.agents/skills/autopilot-pr-review-scheduler in microsoft/apm) into .agents/skills/autopilot-pr-review-scheduler in your project. Codex loads it when a task matches its description.

Can I use Autopilot PR Review Scheduler 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 microsoft/apm --skill autopilot-pr-review-scheduler -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/autopilot-pr-review-scheduler, .gemini/skills/autopilot-pr-review-scheduler, .github/skills/autopilot-pr-review-scheduler and .opencode/skills/autopilot-pr-review-scheduler in your project.

What does Autopilot PR Review Scheduler need to run?

Going by SKILL.md and its folder, Autopilot PR Review Scheduler needs the command-line tools its instructions call (gh).

Does Autopilot PR Review Scheduler access the network?

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

Is Autopilot PR Review Scheduler 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 Autopilot PR Review Scheduler use?

Autopilot PR Review Scheduler 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 Autopilot PR Review Scheduler use?

About 2.1k tokens (SKILL.md is roughly 8.3k 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 Autopilot PR Review Scheduler?

Skills that share tags, products or a category with Autopilot PR Review Scheduler: Exposed Bug Fix Workflow (JetBrains/Exposed, 9.3k stars), Pre-Release PR Triage (jamiepine/voicebox, 57k stars), Review Triage Phase (prisma/orm, 48k stars) and Pre-Ship Review and Triage (tw93/Waza, 7.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Autopilot PR Review Scheduler?

microsoft (a GitHub organization, an official publisher) maintains it in microsoft/apm, which has 3,988 GitHub stars. The repository holds 27 skills in this directory. The repository was last updated on October 9, 2026.

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