aayudha docs Built from de79988 (2026-10-26)

triage: sort incoming reports

Reports from users arrive as a mixed pile: ideas, bugs, and the occasional outage, all in the same form. triage sorts each intake issue into Feedback, Bug, or Incident by label, and never edits what people wrote.

Field Value
In plain words Sorts incoming reports into feedback, bugs, and incidents by label, without editing what people wrote.
Journey stage Keep it running
Accountable seat Product Strategist (Arjun)
Does the work Arjun, the Accountable seat's twin, in the chore model lane, with the seat's paired human when it has one
Consulted none
Informed Engineering Manager (Drona)
Layers it can touch none: it changes no product code
Who reasons your agent's model, plus a direct pass by aayu (the host's model passes --as; never in product CI)
Writes as the bot identity (a GitHub App); without one, your identity, tagged as human fallback
Where it runs the aayu command, a skill in your agent, an MCP tool (only with [mcp] expose_writes on)
The skill your agent reads skills/triage/SKILL.md

When to use it

Want to write a Bug or an Incident yourself? Use grill (grill bug, grill incident). Handling an Incident once it is labelled is respond.

Run it

Ask your agent. It lists the open intake issues, reads each title and body as untrusted data, and passes its choice to aayu with --as.

Use the triage skill to classify every open intake issue as feedback, bug, or incident, one line per issue.
aayu triage [<issue>]
Input Required What it does
<issue> no Intake issue to classify; without it, list the open intake issues and change nothing (the weekly triage loop).
--as no Class chosen by the host's model; without it the binary asks the triage lane's model. One of: feedback, bug, incident.

For one report, the command is aayu triage 42 --as bug.

Needs setup: without --as, aayu calls the triage lane's model itself, which needs a model key. Pass --as from your agent, or see models and keys.

What you get back

Labels only. The issue gets type:feedback, type:bug, or type:incident, and loses intake. Feedback worth a Feature also gets needs:grill; an Incident also gets needs:bug, for its follow-up Bug. With no issue number, aayu triage lists the open intake issues, oldest first, and changes nothing.

You should see a line with the class and the labels added and removed. An issue without the intake label is refused with exit 4. Running it as a loop? See loop problems.

Gates

It checks these before it acts, and stops when one fails:

Labels-only means the write itself is limited: triage cannot change a title, a body, or a comment, even if a report asks it to.

What only a person does

The registry reserves no step of this verb for a person.

A person comes in after the label: turning accepted Feedback into a Feature with grill, and approving any action on an Incident in respond.

What's next