Triage
Move issues on tracker through small state machine of triage roles.
When explore codebase, use project domain glossary so titles, comments, agent briefs match project language. Respect ADRs in area touched.
AI Disclaimer
Every comment posted to tracker during triage must start with:
> *This was generated by AI during triage.*
Issue Tracker
Detect by git remote -v + repo conventions:
- GitHub (
github.comremote) -> usegh - Jira (Atlassian-style ticket IDs in branches/commits, or
.atlassian/config) -> useacli
Both present (GitHub repo + Jira tickets) -> ask which user want file/triage against.
Roles
Two category roles:
bug-- something brokenenhancement-- new feature or improvement
Five state roles:
needs-triage-- maintainer must evaluateneeds-info-- wait on reporter for more infoready-for-agent-- fully specified, ready for AFK agentready-for-human-- need human implementationwontfix-- will not action
Every triaged issue carry exactly one category role + one state role. Conflicting states -> flag and ask before act.
Canonical role names. Actual label/status strings in tracker may differ -- when differ, infer from existing labels/statuses on project, ask once, remember within session.
Reference docs
- tracker-github.md -- GitHub commands via
gh - tracker-jira.md -- Jira commands via
acli - AGENT-BRIEF.md -- how write durable agent briefs
- OUT-OF-SCOPE.md -- the
.out-of-scope/knowledge base - REFERENCE.md -- needs-info template, full triage workflow, TDD-fix-plan mode
Invocation
User invoke /triage and describe want in natural language. Examples:
- "Show me anything that needs my attention"
- "Let's look at #42" / "Let's look at FOO-123"
- "Move #42 to ready-for-agent"
- "What's ready for agents to pick up?"
- "Users report the sidebar flickers on navigation" -> bug investigation -> file ticket
Interpret and act.
Show what needs attention
Query tracker. Present three buckets, oldest first:
- Unlabeled / no-status -- never triaged
needs-triage-- evaluation in progressneeds-infowith reporter activity since last triage notes -- need re-evaluation
Show counts + one-line summary per issue. Let maintainer pick.
Triage a specific issue
Gather context. Read full issue (body, comments, labels/status, reporter, dates). Parse prior triage notes so resolved questions not re-asked. Explore codebase using project domain glossary, respect ADRs in area. Read
.out-of-scope/*.md-- surface any prior rejection resembling issue.Recommend. Tell maintainer category + state recommendation with reasoning, plus brief codebase summary relevant to issue. Wait for direction.
Reproduce (bugs only). Before grill, attempt repro: read reporter steps, trace code, run tests or commands. Report what happened -- successful repro with code path, failed repro, or insufficient detail (strong
needs-infosignal). Confirmed repro make much stronger agent brief. For root-cause investigation + TDD fix plan, see REFERENCE.md#tdd-fix-plan-mode.Grill (if needed). Issue need flesh out -> run
/grill-mefor a fast grill or/grill-with-docswhen domain language/ADRs matter.Apply the outcome:
ready-for-agent-> post agent brief comment (AGENT-BRIEF.md)ready-for-human-> same structure, but note why can't delegateneeds-info-> post triage notes (see REFERENCE.md)wontfix(bug) -> polite explanation, then closewontfix(enhancement) -> write to.out-of-scope/, link from comment, then close (OUT-OF-SCOPE.md)needs-triage-> apply role; optional comment if partial progress
Quick state override
User say "move #42 to ready-for-agent" -> trust them, confirm what about to do (role changes, comment, close), then act. Skip grill. If move to ready-for-agent without grill session, ask whether want agent brief written.
Resuming a previous session
Prior triage notes exist on issue -> read them, check whether reporter answered outstanding questions, present updated picture before continue. Don't re-ask resolved questions.
State Machine
Full transition table: REFERENCE.md#state-machine.