Official agent skill

Autopilot PR Triage Scheduler

by microsoft in microsoft/apm

Queue open microsoft/apm pull requests (community fixes, PRs without an issue, or PRs that close an issue) and fan them out through an isolated pool (default 2) of autopilot-pr-triage-worker sessions.

OfficialMITAuto-check passedDevelopment

Install Autopilot PR Triage Scheduler

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

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

GitHub CLI
$ gh skill install microsoft/apm autopilot-pr-triage-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-triage-scheduler .claude/skills/autopilot-pr-triage-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-triage-scheduler
GitHub stars
4k
Token cost
~1.6k tokens
SKILL.md length
734 words
Files
5 (incl. scripts, assets)
Skills in repo
27
Repo updated
First seen
Licence
MIT

At a glance

Queue open microsoft/apm pull requests (community fixes, PRs without an issue, or PRs that close an issue) and fan them out through an isolated pool (default 2) of autopilot-pr-triage-worker sessions.

  • Works in 4 steps: Probe scripts/fetch_queue.py,… → Build the queue with the helpers. Emit… → Drain the selected list. Concurrent… → …
  • Tasks that involve Pull requests
  • SKILL.md covers Activation card, Invocation, Selection (same helper as… and Queue table (mandatory), plus 3 more sections
  • Runs Python scripts from its folder; calls python and gh

What it does

Autopilot PR Triage Scheduler is an agent skill from microsoft/apm, published by the product's own GitHub organization. Queue open microsoft/apm pull requests (community fixes, PRs without an issue, or PRs that close an issue) and fan them out through an isolated pool (default 2) of autopilot-pr-triage-worker sessions. Advisory only. Never merges, never assigns, never requests reviewers, never runs autopilot-pr-review-worker. Activate on a mixed PR list or queue-open when the job is PR triage. Works in a local session, Copilot App automation, Cloud Agent, Remote Agent, or Agentic Workflow.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and assets (for example `assets/fan-out-pool.md`, `assets/label-contract.json` and `scripts/fetch_queue.py`).

It sits in Development, covering Pull requests, App automation through connectors and Monitoring and alerting. 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 App automation through connectors
  • Tasks that involve Monitoring and alerting

Example prompts

  • “/autopilot-pr-triage-scheduler”

Requirements

  • Python 3

Workflow steps

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

  1. Probe scripts/fetch_queue.py, scripts/triage_state.py, and
  2. Build the queue with the helpers. Emit the mandatory queue
  3. Drain the selected list. Concurrent slots <= FANOUT_LIMIT.
  4. Print a final report from the table.

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

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • 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 Triage Scheduler loads about 1.6k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 734 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from microsoft/apm at commit 280b8a7, republished under its MIT licence (© microsoft). 734 words, ~1,645 tokens.

Download SKILL.mdSave it as .claude/skills/autopilot-pr-triage-scheduler/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
autopilot-pr-triage-scheduler
description
Queue open microsoft/apm pull requests (community fixes, PRs without an issue, or PRs that close an issue) and fan them out through an isolated pool (default 2) of autopilot-pr-triage-worker sessions. Advisory only. Never merges, never assigns, never requests reviewers, never runs autopilot-pr-review-worker. Activate on a mixed PR list or queue-open when the job is PR triage. Works in a local session, Copilot App automation, Cloud Agent, Remote Agent, or Agentic Workflow.
activation_card
on

autopilot-pr-triage-scheduler

User-facing PR TRIAGE queue. This skill SELECTS pull requests and THROTTLES fan-out. It classifies incoming PRs. It does not review diffs, does not implement issues, and does not drive PRs to merge.

Compose autopilot-pr-triage-worker one PR per slot. Never borrow slots from autopilot-issue-triage-scheduler, autopilot-issue-delivery-scheduler, or autopilot-pr-review-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-triage-scheduler
skill_path: <resolved directory of this SKILL.md>
mode: run
subject: microsoft/apm
path: triage
intent: select PRs and fan out triage 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.

After the run, emit this Exit receipt:

text
skill: autopilot-pr-triage-scheduler
subject: microsoft/apm
path: triage
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 any GitHub write. No assignment needed. This scheduler and its slots never assign and never request reviewers, in any ORIGIN.

INTENT is triage.

Ownership writes:

  • Issue triage: none (no assignment needed)
  • PR triage: none (no assignment needed)
  • Code (accepted implementation): assign the implementing user
  • PR review: request the reviewing user as reviewer, never assignee

Selection (same helper as issue triage)

Canonical owner: this skill's scripts/fetch_queue.py, scripts/triage_state.py, plus assets/label-contract.json. Byte-identical to the issue-triage scheduler copy. Do not invent a second filter. The worker does not list the queue. --kind pr uses the same issue-shaped schema (number is the PR number).

Modes:

  • Named list or one PR number: explicit request.
  • queue-open / no names: sweep.

fetch_queue.py owns list + eligibility (closed, merged, locked, empty, template-only; sweep-only draft and spam). Bot-authored issues and PRs stay eligible. Sweep list excludes processing.read_reviewed (triage/recommended, status/triaged) at GitHub so already-advised open PRs are not downloaded. Do not comment on skips. triage_state.py owns completed-advice skip, at most two per author, oldest first, cap 10. Explicit requests bypass only spam and completed-advice.

A missing linked issue is not a skip. Community PRs without an issue are in-scope; the worker advises whether an issue should have existed.

python <this-skill>/scripts/fetch_queue.py --kind pr --mode sweep --repo microsoft/apm > batch.json
python <this-skill>/scripts/triage_state.py < batch.json

Named PR: --mode dispatch --number N. If gh is unavailable, pass --records-json and --labels-json. A helper failure stops the run.

Do not merge. Do not push. Do not fill issue-triage, delivery, or PR-review slots from this pool. Do not comment on PRs. Do not add or remove labels. add_labels from triage_state.py is a plan for the worker, not a scheduler write.

Show full SKILL.md (329 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. Completed-advice excluded at fetch is not a drop-set row. You are the sole table writer. Put linked-issue facts 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 scripts/fetch_queue.py, scripts/triage_state.py, and the worker skill on disk. Missing -> stop.
  2. Build the queue with the helpers. Emit the mandatory queue table (labels + rationale) before any spawn.
  3. Drain the selected list. Concurrent slots <= FANOUT_LIMIT. One PR per slot. Prefer a new session, else a sub-agent, else run the worker in this thread for that one PR, then the next. When a slot returns, dispatch the next queued PR. Do not stop because the pool was full. Each slot reads the complete PR conversation (and linked issue, if any) before advising. Pass debug: off unless this run's caller set debug: on. Pass comment_via: autopilot-comment. Worker kickoff must load autopilot-comment before any GitHub comment. Workers must not call gh pr comment.
  4. Print a final report from the table.

Hard nos

  • Do not share this pool.
  • Do not dispatch the same PR to two slots.
  • Do not comment, label, close, merge, or assign. Workers own those writes even when summoned without this scheduler.
  • Do not run autopilot-pr-review-worker or 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 4 other files (scripts, assets) in .agents/skills/autopilot-pr-triage-scheduler of microsoft/apm.

  • SKILL.md
  • assets/fan-out-pool.md
  • assets/label-contract.json
  • scripts/fetch_queue.py
  • scripts/triage_state.py

Open the folder on GitHubat commit 280b8a7

Compare with similar skills

Autopilot PR Triage 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 Triage Scheduler compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Autopilot PR Triage Scheduler this skillmicrosoft/apm4k—~1.6kAutomated safety check: PassMIT
GitHub Automationsickn33/agentic-awesome-skills47k1 repos~1.3kAutomated safety check: PassMIT
GitHub Automationdavila7/claude-code-templates33k5 repos~2.8kAutomated safety check: PassMIT
Bitbucket Automationdavepoon/buildwithclaude3.6k7 repos~3.1kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0

Similar skills

  • GitHub Automation

    sickn33/agentic-awesome-skills

    Operate GitHub issues, pull requests, branches, checks, workflows, and permissions through Rube MCP.

    47k GitHub starsUsed in 1 repo~1.3k tokens
    DevelopmentAuto-check passed
  • GitHub Automation

    davila7/claude-code-templates

    Automate GitHub repositories, issues, pull requests, branches, CI/CD, and permissions via Rube MCP (Composio).

    33k GitHub starsUsed in 5 repos~2.8k tokens
    Productivity & AutomationAuto-check passed
  • Bitbucket Automation

    davepoon/buildwithclaude

    Automate Bitbucket repositories, pull requests, branches, issues, and workspace management via Rube MCP (Composio).

    3.6k GitHub starsUsed in 7 repos~3.1k tokens
    Productivity & AutomationAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    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 Triage Scheduler

What does Autopilot PR Triage Scheduler do?

Queue open microsoft/apm pull requests (community fixes, PRs without an issue, or PRs that close an issue) and fan them out through an isolated pool (default 2) of autopilot-pr-triage-worker sessions. Autopilot PR Triage Scheduler is an agent skill from microsoft/apm, published by the product's own GitHub organization. Queue open microsoft/apm pull requests (community fixes, PRs without an issue, or PRs that close an issue) and fan them out through an isolated pool (default 2) of autopilot-pr-triage-worker sessions.

When should I use Autopilot PR Triage Scheduler?

Autopilot PR Triage Scheduler fits situations like: tasks that involve Pull requests; tasks that involve App automation through connectors; tasks that involve Monitoring and alerting.

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

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

How do I install Autopilot PR Triage Scheduler in Codex?

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

Can I use Autopilot PR Triage 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-triage-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-triage-scheduler, .gemini/skills/autopilot-pr-triage-scheduler, .github/skills/autopilot-pr-triage-scheduler and .opencode/skills/autopilot-pr-triage-scheduler in your project.

What does Autopilot PR Triage Scheduler need to run?

Going by SKILL.md and its folder, Autopilot PR Triage Scheduler needs Python for the scripts in its folder and the command-line tools its instructions call (python and gh). Our summary lists: Python 3.

Does Autopilot PR Triage 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 Triage 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Autopilot PR Triage Scheduler use?

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

About 1.6k tokens (SKILL.md is roughly 6.6k 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 Triage Scheduler?

Skills that share tags, products or a category with Autopilot PR Triage Scheduler: GitHub Automation (sickn33/agentic-awesome-skills, 47k stars), GitHub Automation (davila7/claude-code-templates, 33k stars), Bitbucket Automation (davepoon/buildwithclaude, 3.6k stars) and Finishing a Development Branch (obra/superpowers, 297k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Autopilot PR Triage 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.