Repository navigation
v0.6.0 — issue-triage skill
[0.6.0] - 2026-05-10
issue-triage skill shipped — the front of the workflow chain: it decides which issues are accepted (and thus fixes #N-eligible for changelog-bot, a DoR plus for pr-review, milestone fodder for release-sop DOD). Same hard-gate philosophy: a written rationale on every disposition, an explicit S1–S4 severity rubric instead of title-driven guessing, and security reports routed to SECURITY.md rather than triaged in the open. Agent-agnostic markdown contract; Git-host-agnostic (GitHub / GitLab / Gitea). After this, only hotfix-flow remains 🚧 in the roadmap.
Added
skills/issue-triage/SKILL.md— generic issue-triage SOP — takes an incoming issue (or a batch) and produces a written triage verdict. Seven steps: Step 0 issue + repo context load (gh issue view/glab/tea; label taxonomy,.github/ISSUE_TEMPLATE/,CONTRIBUTING/SUPPORT,SECURITY.md, milestones,CODEOWNERS), Step 1 type classification into exactly one ofbug/feature/question-support/docs/task-chore/security/meta-discussion—securitystops here and routes toSECURITY.md(no detail-chasing in the open), Step 2 actionability gate with a written rationale per disposition (accepted/needs-repro/needs-info/needs-discussion/duplicate/out-of-scope-wontfix/stale/upstream), Step 3 area/component labeling against the repo'sarea/*taxonomy (no unilateral new labels), Step 4 severity for accepted bugs against an explicitS1–S4rubric (severity ≠ priority;S1security-adjacent → back to the Step 1 security path), Step 5 the triage output block (type · disposition · area · severity · suggested labels/milestone/owner · one-line rationale posted on the issue · templatedneeds-repro/needs-infocomment orduplicate/out-of-scopeclose comment · what-happens-next) — applied viagh issue edit/comment/closeonly with write access + user confirm; never closes on a guess, Step 6 handoff / batch mode (per-issue table, never blanket-label). Includes an edge-case runbook (no label taxonomy, security report in a public issue, no reporter response, multi-issue bundle, bug-that's-actually-a-question, emotion-titled report, duplicate-with-better-info, cross-repo/upstream, in-scope-but-undecided) and six red lines (no rationale-free triage, no public-issue security handling, no title-driven severity, no unilateral label/milestone changes, no guess-based closes, no batch blanket-labeling). Explicit composition:changelog-botwritesfixes #Nonly againstacceptedissues;pr-reviewStep 1 counts a linked-triaged-issue as a DoR plus;release-sopStep 8 DOD closes the milestoned issues;S1+security feedshotfix-flow. Agent-agnostic; Git-host-agnostic.README.md—issue-triagepromoted from 🚧 planned to ✅ shipped — Skills table row rewritten with the 7-stage summary; quickstart gains anissue-triagecurl one-liner; Usage section gains anissue-triagetrigger table; repo-layout tree updated forskills/issue-triage/SKILL.mdandexamples/issue-triage-demo.md.install.shunchanged — it auto-discovers anyskills/<name>/SKILL.md.examples/issue-triage-demo.md— workedissue-triagetranscript — the 7 steps run end-to-end on a hypothetical no-repro bug report (dws fetch hangs forever): first pass →needs-repro(area + severity deferred on no evidence) with the filled-in template comment; second pass after the reporter supplies a repro →accepted,area/http,S2(rationale records why it's notS1), milestonev0.6.0, owner fromCODEOWNERS, posted rationale,ghcommands; plus a batch-mode table triaging three more issues (duplicateclose,questionroute + close,out-of-scopeclose) and a closing contrast on the public-issue-security and emotion-titled-report cases.