CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

autopilot-pr-triage-scheduler

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.

70

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

The canonical home for this skill is autopilot-pr-triage-scheduler in microsoft/apm

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A dense, highly actionable orchestration runbook: exact CLI invocations with fallbacks, a mandatory pre-dispatch queue table acting as a checklist, and fail-closed stop conditions at every risky step. Its weaknesses are redundancy (guardrails stated three to four times, ownership rules for sibling paths) and a fail-closed-only error model with no recovery path for a failed slot during the batch drain.

Suggestions

State the write-prohibition guardrails once in an authoritative section (e.g., Hard nos) and reference it from the Activation card and Invocation instead of repeating them; drop Ownership writes entries for issue triage, code, and PR review paths this scheduler never executes.

Add an explicit slot-failure recovery rule to the Procedure (e.g., record the failed PR in the queue table with a failure rationale and continue draining remaining slots, or stop the run), so a worker error mid-drain has defined behavior rather than only fail-closed stops at setup time.

Move the inline eligibility rules summarized under Selection ("closed, merged, locked, empty, template-only; sweep-only draft and spam", completed-advice skip, two-per-author cap) into assets/label-contract.json or a selection asset, keeping only the helper commands, modes, and table format in SKILL.md.

DimensionReasoningScore

Conciseness

The body is lean and telegraphic with no explanations of concepts Claude already knows, but the same write-prohibition guardrails are repeated across the intro, Activation card rules ("`write` is always `off`. This scheduler never comments, labels, assigns, or requests reviewers"), Invocation, and Hard nos ("Do not comment, label, close, merge, or assign"), and the Ownership writes block lists rules for paths this PR scheduler never executes ("Issue triage: none", "Code (accepted implementation): assign the implementing user"). These minor redundancies could be trimmed without loss, matching level 4 rather than the every-token-earns-its-place level 5.

4 / 5

Actionability

Guidance is fully executable: copy-paste-ready commands ("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"), a complete named-dispatch mode ("`--mode dispatch --number N`") with a documented fallback ("If `gh` is unavailable, pass `--records-json` and `--labels-json`"), exact card fields, exact table columns, and a concrete slot fill-order. The common cases are covered by specific commands.

5 / 5

Workflow Clarity

The Procedure gives a clear sequence with real validation checkpoints — "Probe `scripts/fetch_queue.py`, `scripts/triage_state.py`, and the worker skill on disk. Missing -> stop", "A helper failure stops the run", and the pre-spawn table gate "Missing table, missing column, or blank rationale -> stop. Do not spawn" — plus edge-case handling ("Empty keep-set is success"). It stops short of level 5 because error handling is fail-closed only: there is no explicit fix-and-retry or slot-failure recovery path (e.g., what to do when a worker fails mid-drain), a minor validation gap for a batch operation.

4 / 5

Progressive Disclosure

Good structure with clearly signaled one-level-deep references that all exist in the bundle: "Load [assets/fan-out-pool.md](assets/fan-out-pool.md)" plus the canonical helpers "`scripts/fetch_queue.py`, `scripts/triage_state.py`, plus `assets/label-contract.json`", and fan-out-pool.md itself contains no nested references. It sits below level 5 because the ~180-line body still inlines a fair amount that a stricter split would move out (the full eligibility summary "closed, merged, locked, empty, template-only; sweep-only draft and spam", ownership rules for other triage paths, and the cross-skill link "[autopilot-pr-triage-worker](../autopilot-pr-triage-worker/SKILL.md)" that leaves this bundle).

4 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete, comprehensive, and explicitly bounded against sibling scheduler and worker skills, with a clear what-and-when structure. The only soft spot is trigger phrasing that leans on internal mode names ("queue-open", "mixed PR list") alongside natural terms like "PR triage" and "pull requests".

DimensionReasoningScore

Specificity

The description lists multiple concrete actions with comprehensive coverage: "Queue open microsoft/apm pull requests (community fixes, PRs without an issue, or PRs that close an issue)", "fan them out through an isolated pool (default 2) of autopilot-pr-triage-worker sessions", and explicit boundary actions "Never merges, never assigns, never requests reviewers, never runs autopilot-pr-review-worker". This matches the anchor for multiple specific concrete actions with comprehensive coverage rather than the level-4 anchor's "minor gaps in coverage" — the selection criteria, fan-out mechanism, and write boundaries are all stated.

5 / 5

Completeness

It explicitly answers both what ("Queue open microsoft/apm pull requests ... and fan them out through an isolated pool (default 2)", "Advisory only") and when ("Activate on a mixed PR list or queue-open when the job is PR triage") with a concrete trigger phrase. The explicit activation clause places it above the level-4 anchor where the 'when' could be more explicit.

5 / 5

Trigger Term Quality

Good keyword coverage including both "pull requests" and "PR" ("PR triage", "PRs"), plus "queue-open" and "community fixes". It falls short of level 5 because "queue-open" and "mixed PR list" are system-internal mode names rather than natural user phrasings, and common variations like "triage open PRs" are only indirectly covered.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche with minimal conflict risk: PR triage for microsoft/apm, distinguished from sibling skills by "Advisory only. Never merges, never assigns, never requests reviewers, never runs autopilot-pr-review-worker" and the trigger "when the job is PR triage" — which separates it from issue triage and PR review skills in the same family.

5 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 1 suspicious

Warning

Total

14

/

16

Passed

Repository

microsoft/apm

Path

packages/autopilot/autopilot-pr-triage-scheduler/.apm/skills/autopilot-pr-triage-scheduler/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.