triage
Evaluate unevaluated beads issues and move each to an intake state — ready-for-agent, human, needs-info, backlog, or a wontfix close. Use to review what needs attention or to triage a specific issue.
SKILL.md.claude/skills/triage/SKILL.md
GitHubTriage
Moves filed-but-unevaluated beads issues to a decided state. State vocabulary and the
ready-for-agent gate: .beads/beads.md → Intake States. Commands: the beads
skill. This skill decides when an issue moves; it does not redefine what states mean.
Show what needs attention
Present four buckets, oldest first, with counts and a one-line summary per item:
bd list -l needs-triage— filed, never evaluatedbd list -l idea— raw captures worth promoting or droppingbd list -l needs-info— were the open questions in notes answered since?bd human list— waiting on the user to execute
Use the supplied issue or authorized batch. Ask for selection only when the request did not establish a scope.
Triage one issue
Gather.
bd show <id>including notes. Do not re-ask anything a priorEstablished:note already records.Redundancy check. Search the codebase for an existing implementation by domain concept, not the issue's wording — and report where you looked. If it already exists, that is a wontfix close (step 6).
Prior-rejection check.
bd search "<terms>" --status allfor earlierwontfix:closes that resemble this. Surface any match before proceeding.Verify the claim. For bugs: reproduce it, or record exactly why you could not. An unreproduced bug does not pass the gate.
Decide within authority. Recommend an outcome with evidence. Apply it when the user already authorized that decision or bulk triage; otherwise obtain the missing approval. An unreproduced bug stays unresolved/needs-info, not automatically wontfix.
Apply the outcome (all writes with
--actor):Outcome Commands Agent-executable verify the gate holds, then bd label add <id> ready-for-agent(+bd update --acceptanceif missing)User's work bd label add <id> humanUnderspecified bd label add <id> needs-info+ questions via--append-notesReal, not now bd label add <id> backlog+bd defer <id> --until …Not doing it bd close <id> --reason "wontfix: <why>"Remove the previous state label, and record what was settled:
bd update <id> --append-notes "Established: …"— so the next session resumes instead of re-asking.
Rules
- One state label per issue; never stack them.
- Never promote to
ready-for-agentpast a failing gate — that label is what autonomous claiming trusts. - Analysis-only requests remain read-only. Carry existing triage authority through clear items; escalate material ambiguities separately.