CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

autopilot-issue-triage-worker

Use this skill to triage ONE microsoft/apm issue already selected by autopilot-issue-triage-scheduler. Return one advisory recommendation and a proposed scope brief, never human approval. Do not implement the issue, manage the backlog, or list the queue.

65

Quality

82%

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

SKILL.md
Quality
Evals
Security

Quality

Content

73%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.

The body is a dense, highly actionable orchestration procedure with an exceptionally well-validated nine-step workflow (completeness gate, re-render loop, missing-footer patch path) and disciplined on-demand loading of bundle files. Its weaknesses are verbosity from repeating the same governance and routing constraints across five-plus sections, and minor path gaps (a referenced scripts/triage_state.py that is absent from the bundle, persona files outside the skill directory).

Suggestions

Consolidate the repeated advisory-only governance statements ('never write human decision labels', 'labels and silence are not approval', 'do not call gh issue comment') into one 'Authority model' section referenced from the other sections, and let the 'Anti-patterns' section cross-reference the 'Conditional panelists' rules instead of restating them - this would cut significant length without losing any constraint.

Fix or qualify the `scripts/triage_state.py` reference: the bundle has no scripts/ directory, so state explicitly that the script belongs to the caller's package (with its resolved path) to avoid a dead reference at execution time.

Move the three ~30-line conditional-panelist activation rule sets (OSS Growth Hacker, Python Architect, Doc Writer) into a `references/conditional-panelists.md` and keep one-line triggers in the body, preserving the roster invariant while shrinking the main SKILL.md.

DimensionReasoningScore

Conciseness

The ~515-line body contains no generic concept explanations (all material is skill-specific), but the same constraints are repeated many times: "Never write human decision labels" appears in the intro, activation-card rules, step 9, and the output contract; "Do not call `gh issue comment` yourself" appears three times; "An `accept` recommendation is not acceptance / labels and silence are not approval" recurs in at least five sections; the persona activation rules are stated in full in "Conditional panelists", then restated in "Anti-patterns" and again in the execution checklist. This matches anchor 3 ("mostly efficient but includes some unnecessary explanation or could be tightened"). Not 2 because there is no padding about things Claude already knows; not 4 because the duplicated governance and routing statements could be consolidated with no loss.

3 / 5

Actionability

Concrete, executable guidance throughout: a fill-in activation-card template with every field and default, exact commands (`gh issue edit --add-label`, `safe-outputs.add-labels`), explicit file paths, per-persona YES/NO routing rules with fallback self-check questions, and a pre-arbitration completeness gate with exact pass conditions. This matches anchor 4 ("mostly executable guidance; concrete code or commands with minor gaps"). Not 5 because no worked example of a filled card/comment is given, and two referenced paths are unresolvable from the bundle (`scripts/triage_state.py` has no scripts/ directory; `../../agents/*.agent.md` lives outside the skill). Not 3 because nothing is pseudocode or abstract — every step names its exact action.

4 / 5

Workflow Clarity

The nine-step execution checklist is strictly ordered with explicit validation checkpoints and feedback loops: the pre-arbitration completeness gate in step 4 ("If any check fails, redo that persona's pass and repeat the gate. Do not proceed to step 5 until the gate passes"), duplicate-link verification before committing in step 6, template-fill verification with re-render in step 8, and the missing-footer patch path in step 9, plus a final quality-gate checklist. This matches anchor 5 ("clear sequence with explicit validation steps; feedback loops for error recovery; checklists"). Not 4 because no checkpoint is implicit or missing.

5 / 5

Progressive Disclosure

Scored against the actual bundle (assets/label-contract.json and assets/triage-template.md exist; no references/ or scripts/ directories). References are well signaled with load timing: "Read `assets/label-contract.json` before reasoning" and "load `assets/triage-template.md` ... at synthesis time only -- not at activation", and persona files are loaded one at a time on demand. This matches anchor 4 ("good structure; most content appropriately placed; references mostly clear; minor organization gaps"). Not 5 because the ~100-line conditional-panelist rules and routing prose could live in reference files (the body is heavy for a SKILL.md) and `scripts/triage_state.py` is referenced with no such file in the bundle; not 3 because every external file is explicitly named with its trigger and the reference graph is one level deep.

4 / 5

Total

16

/

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.

The description is specific, trigger-explicit, and highly distinctive: it states what the skill does, when to use it (one already-selected issue from the scheduler), what it must never do, and cleanly separates it from sibling orchestration skills. Its only weakness is that narrower capabilities (label classification writes, the persona panel) are not surfaced, which slightly caps breadth.

DimensionReasoningScore

Specificity

Quotes: "triage ONE microsoft/apm issue already selected", "Return one advisory recommendation and a proposed scope brief", "Do not implement the issue, manage the backlog, or list the queue". It names the domain plus several concrete actions (single advisory recommendation, scope brief) and explicit exclusions, matching anchor 4 ("several specific actions; minor gaps in coverage"). Not 5 because broader capabilities (classification, persona panel, labeling writes) go unmentioned; not 3 because it goes beyond 1-2 actions with clear do/do-not boundaries.

4 / 5

Completeness

What: "Return one advisory recommendation and a proposed scope brief, never human approval. Do not implement the issue, manage the backlog, or list the queue." When: "Use this skill to triage ONE microsoft/apm issue already selected by autopilot-issue-triage-scheduler" — an explicit 'Use this skill to...' clause with a concrete trigger condition. Both what and when are clearly and explicitly answered with concrete trigger phrasing, matching anchor 5. Not 4 because the trigger is fully explicit, not merely present.

5 / 5

Trigger Term Quality

Natural trigger terms are present: "triage", "issue", "microsoft/apm", "autopilot-issue-triage-scheduler", "scope brief", "backlog". This matches anchor 4 ("good keyword coverage; a few natural terms missing") since terms like "issue triage" and the scheduler's name would appear in the invoking context. Not 5 because synonyms and user-side phrasings are absent (it is scheduler-invoked, which limits natural user vocabulary), and not 3 because coverage of the actual trigger context is solid and specific.

4 / 5

Distinctiveness Conflict Risk

The description carves a narrow niche: exactly one pre-selected microsoft/apm issue, advisory-only, explicitly excluding implementation, backlog management, and queue listing — directly distinguishing it from the sibling scheduler and PR-review workers. Matches anchor 5 ("clear niche with distinct triggers; minimal conflict risk"). Not 4 because the repo, the advisory scope, and the negative boundaries leave essentially no overlap risk with other skills.

5 / 5

Total

18

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (527 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 6 suspicious

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

12

/

16

Passed

Repository

microsoft/apm

Path

packages/autopilot/autopilot-issue-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.