Install any skill in seconds. Free to start, no credit card required.
Get Started Free →joshukraine/autopilot-triage
Vet open issues for autonomous resolution and queue the qualifying ones with the autopilot-queued label — the start-of-day "fill the queue" half of the triage → run split.
Passed 16 of 20 test cases with the skill, and 8 of 20 without it.
and 6 more in the full report
9 fixed10 passed either way5 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
Issue #202 is a CRUD view update without a `model:` label. According to the fallback rules when no label is set, which build model tier should be previewed for bounded pattern work like simple view/copy updates?
| Checked | Without skill | With skill |
|---|---|---|
| Previews Sonnet as the rubric fallback model. | Missed | Passed |
The instructions your model reads when the skill loads.
Vet a pool of open issues against the autonomy rubric and, after your confirmation, tag the ones that qualify with the autopilot-queued label. /autopilot-batch later reads that label and runs the batch. This is the vet half of the triage → run split; the two are decoupled on purpose — triage once (cheap, start-of-day), run the batch whenever and from wherever.
The autopilot-queued label is membership only: it means "vetted and pending," nothing more. Tier is decided at run time by your --merge opt-in, never encoded in it. The build model rides on a separate, pre-existing label (model: fable / model: opus / model: sonnet) that issue triage assigns — this skill reports that label, it does not assign one.
Run from the target application repository — you need the issues and the code, because vetting scope means looking at what a fix would actually touch. Triage is read-only except for the label writes it makes after your confirm.
[label-or-filter] — narrow the candidate pool, e.g. a phase label or chore / fix. Passed through to gh issue list --label.An issue qualifies for autopilot when all hold:
An issue is disqualified when it trips any of /autopilot's own escape-hatch triggers — the same guardrails, applied before the run instead of during it:
When a candidate is borderline, disqualify it — a false negative costs you one manual issue; a false positive burns an unattended run on something that should have stopped. State a one-line reason for every skip; those reasons are useful signal.
For each qualifying issue, also note — as a preview, not a commitment:
Build model — report the issue's model: label if it has one; that label is what /autopilot-batch will actually build with (see ~/.claude/docs/model-selection-strategy.md). If it has none, preview the rubric fallback the batch will use instead — Opus for data-model / security / ambiguous / cross-cutting; Sonnet for bounded pattern-work (i18n / views / config / a single test / CRUD / docs) — and mark it as a preview, not a fact. Either way this is so you can eyeball and adjust before the run. (A --merge opt-in overrides both at run time: merge issues are always Fable-built, because the merge go/no-go runs at the build model and the merge floor is Fable.)
Missing model: label in an adopted repo — flag it. Check adoption once per run:
gh label list --json name --jq '[.[].name | select(startswith("model: "))]'
test cases passed, vs 8 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.