CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

autopilot-pr-triage-worker

Use this skill to triage ONE microsoft/apm pull request already selected by autopilot-pr-triage-scheduler. Covers community PRs that fix an issue and PRs opened without an issue. Return one advisory recommendation, never human approval, never a diff review, never merge. Not a queue manager and not autopilot-pr-review-worker.

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-worker in microsoft/apm

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 executable orchestration skill with excellent validation checkpoints, explicit error-recovery paths, and proper use of its two bundle assets. The main weakness is systematic internal repetition: the auto-defer, reviewer, and comment-posting rules are each restated two to three times across the Activation card, Origin and writes, Procedure, and Hard nos sections.

Suggestions

State the auto-defer condition once (e.g., in 'Origin and writes') and have the Activation card and 'Hard nos' sections reference it, instead of restating the full three-line condition in each place.

Trim 'Hard nos' to only rules not already stated earlier (merge/push and running sibling workers), removing the recaps of the reviewer, deferred-label, and label-write rules.

Consolidate the duplicated autopilot-comment posting guidance (debug/json/public_body handling appears in both the Activation card rules and Procedure step 6) into one authoritative block.

DimensionReasoningScore

Conciseness

The body is telegraphic with zero concept padding, but the same constraints are restated systematically: the auto-defer condition appears three times ('Write `status/deferred` only when this PR is not labelled `status/accepted`...' in Activation card; 'Auto-defer: if this PR is not labelled `status/accepted`...' in Origin and writes; 'Do not write `status/deferred` when a linked issue is `status/accepted`...' in Hard nos), and 'Never assign. Never request reviewers' and 'Do not call `gh pr comment` yourself' each appear 2-3 times, with Hard nos largely recapping earlier rules. Not 4 because the redundancy is systematic rather than minor; not 2 because every line carries operational content with no filler or explanation of concepts Claude already knows.

3 / 5

Actionability

Concrete and executable throughout: copy-paste Enter/Exit card templates with every field enumerated, exact label vocabulary ('ready-for-review | needs-design | needs-issue | duplicate-of | decline-with-reason | auto-handle'), exact paths to real files (assets/label-contract.json, assets/pr-triage-template.md), the exact CONTRIBUTING.md URL, and explicit defaults ('`write` defaults to `on` when the caller omitted it'). The common cases (accepted linked issue -> ready-for-review; no accepted issue -> needs-issue + status/deferred + thank-the-author) are concretely covered. Not 4: no material execution gaps for an instruction-only skill.

5 / 5

Workflow Clarity

The six-step Procedure has explicit stop checkpoints at every risky boundary ('Missing number -> stop', 'Missing card -> stop', autopilot-comment probe 'Missing -> stop. Do not post'), an error-recovery feedback loop ('Missing footer after that write is a failed post -- patch via `autopilot-comment` (`intent: patch`)'), and a dedup no-op ('If a prior triage comment's watermark still matches HEAD conversation, no-op'). Not 4: checkpoints are explicit, not implicit, and the operation is single-PR advisory so the destructive/batch cap does not apply.

5 / 5

Progressive Disclosure

Two real one-level-deep bundle files, both clearly signaled and verified present on disk: 'Read `assets/label-contract.json` (same contract as issue triage) before reasoning' and 'Fill [assets/pr-triage-template.md](assets/pr-triage-template.md)'. The bulky label taxonomy and the output template are correctly externalized while orchestration logic stays in SKILL.md. Not 4: the references are explicit, present, and only one level deep.

5 / 5

Total

18

/

20

Passed

Description

87%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 precise, well-bounded description that states what the skill does, when it applies (one PR already selected by the scheduler, with defined PR scopes), and which sibling skills it is not. Trigger-term coverage is good, with only minor natural-synonym gaps.

DimensionReasoningScore

Specificity

Concrete phrases: 'triage ONE microsoft/apm pull request', 'Return one advisory recommendation, never human approval, never a diff review, never merge', 'Covers community PRs that fix an issue and PRs opened without an issue'. It names the domain, the single deliverable, and explicit boundaries. Not 5 because the positive action set is essentially one deliverable (one advisory recommendation) plus scope exclusions rather than a comprehensive list of capabilities; not 3 because it goes well beyond a domain name with 1-2 generic actions.

4 / 5

Completeness

Explicitly answers both parts: what ('Return one advisory recommendation, never human approval, never a diff review, never merge') and when ('Use this skill to triage ONE microsoft/apm pull request already selected by autopilot-pr-triage-scheduler', plus 'Covers community PRs that fix an issue and PRs opened without an issue'). Not 4 because the when is concrete and specific (scheduler-selected PR, community PRs with or without an issue), not merely present.

5 / 5

Trigger Term Quality

Natural trigger terms present: 'triage', 'pull request', 'community PRs', 'fix an issue', 'microsoft/apm', 'merge'. Coverage is good for the PR-triage niche. Not 5 because a few natural variations are absent (e.g., 'review', 'sort', 'label', or phrasings a dispatcher might use); not 3 because the core terms a user or scheduler would say are all present, not partially covered.

4 / 5

Distinctiveness Conflict Risk

Clear niche with explicit disambiguation: 'Not a queue manager and not autopilot-pr-review-worker', 'never a diff review, never merge'. The scheduler-dispatch trigger and named sibling exclusions make wrong-skill triggering minimal. Not 4 because it actively distinguishes the adjacent skills by name rather than just having a distinct topic.

5 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

microsoft/apm

Path

packages/autopilot/autopilot-pr-triage-worker/.apm/skills/autopilot-pr-triage-worker/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.