From cadence
Use when a GitHub issue needs triage — typically one carrying status/needs-triage label, a freshly opened issue without type/priority labels, or when the user says "triage
How this skill is triggered — by the user, by Claude, or both
Slash command
/cadence:triage-issueThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Triage = assign `type/` + `priority/` labels, leave a key comment when there's judgment worth recording, then remove `status/needs-triage`. Inspect the repo's label schema via `gh label list` — the `type/*` / `priority/*` / `status/*` convention used below is a common default but adapt to what the repo actually has.
Triage = assign type/ + priority/ labels, leave a key comment when there's judgment worth recording, then remove status/needs-triage. Inspect the repo's label schema via gh label list — the type/* / priority/* / status/* convention used below is a common default but adapt to what the repo actually has.
Scope: one issue per invocation. For backlog walkthroughs, the caller enumerates gh issue list --label status/needs-triage and invokes this skill per result.
Core principle: comments are signal, not ceremony. Skip when the issue body already covers what you'd say. Only add information the reader can't get from the body or labels alone.
type/ or priority/ labelsstatus/needs-triageFor backlog work (triage backlog / many issues at once), the caller orchestrates: list issues, invoke this skill per issue.
gh issue view <n>gh issue edit <n> \
--add-label type/X --add-label priority/Y \
--remove-label status/needs-triage
gh issue comment <n> --body-file - # stdin, multi-line safe
| Level | Trigger |
|---|---|
critical | Auth bypass · data loss · prod outage · live exploitation. Drop everything. |
high | Security with realistic attack path · core flow broken · blocks other work |
medium | Should fix · degraded UX · refactor with concrete benefit · no user-visible breakage |
low | Polish · cleanup · nice-to-have · low-risk follow-up |
Anchor: who is affected, how reversible the damage is, blast radius. If unsure between two tiers, downgrade.
Always comment when any of these apply:
priority/critical or priority/high — record the call so it's defensible latersee also #N / dup of #N / subset of #N / blocks #N)blocked by #N or requires upstream X)Skip the comment when:
Don't repeat the body. If the author already explained why this is critical, the triage comment is for meta information: relationships, scope, dates, defensibility.
Don't read code during triage. If you find an issue needs claims verified against actual code, root cause confirmed, or blast radius probed — that's investigation. Switch to the investigate-issue skill and do that one issue properly. Half-investigation makes comments worse than light triage.
Mirrors the repo's PR template style — emoji-headed sections for at-a-glance scanning. Sections that add nothing get omitted (don't write "N/A" headers; just skip).
## 🏷️ Triage YYYY-MM-DD
`type/X` · `priority/Y` · effort: **S/M/L**
### 📊 At a Glance
<diagram (mermaid or ascii) + 1-line caption — only include when there's something visual worth showing>
Use a diagram when:
- Cluster fix order: `#29 → #30 → #25` (ascii arrows OK)
- Attack flow / race condition: mermaid `sequenceDiagram`
- Before/after refactor: mermaid `flowchart` or ascii box
Skip the section entirely (don't write empty header) when labels + Related list already convey the picture — most simple triages won't need it.
### 🔗 Related
- <only if relevant: dup of / blocks / blocked by / see also #N>
### 🚧 Notes
<only if priority justification missing from body, or scope is non-obvious>
Language: match the issue body. Keep label values, command names, and section headings (At a Glance, Related, Notes) as-is.
Sizing: XS = <1h · S = half-day · M = 1–3d · L = >3d. Estimate from blast radius, not from line count.
Section budget:
🏷️ Triage line + 📊 At a Glance — always include (this is the load-bearing summary)🔗 Related — include when there's a real cross-link, otherwise drop the heading🚧 Notes — include only when body lacks priority justification or scope is non-obvious; otherwise drop the headingDon't restate what the body already says. The triage comment is meta-information about the call, not a re-summary of the issue.
| Command | Purpose |
|---|---|
gh issue view <n> --json title,body,labels | Read the issue |
gh issue edit <n> --add-label X --remove-label Y | Apply labels |
gh issue comment <n> --body-file - | Comment via stdin |
gh issue list --label status/needs-triage --json number,title,body,labels --limit 50 | List backlog (caller enumerates, then invokes this skill per issue) |
priority/critical for "important but not drop-everything" — reserve critical for true emergencies. Default to high when in doubt.--remove-label status/needs-triage — leaves the issue stuck in backlog filter forever.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub kirkchen/cadence --plugin cadence