diff --git a/.agents/skills/to-spec/SKILL.md b/.agents/skills/to-spec/SKILL.md index 3f52599ae..2c24969dd 100644 --- a/.agents/skills/to-spec/SKILL.md +++ b/.agents/skills/to-spec/SKILL.md @@ -16,7 +16,10 @@ The issue tracker and triage label vocabulary should have been provided to you. Check with the user that these seams match their expectations. -3. Write the spec using the template below, then publish it to the project issue tracker. Apply the `ready-for-agent` triage label - no need for additional triage. +3. Write the spec using the template below. Before you publish it, ask the user whether tickets will follow. Then publish it to the project issue tracker, labelled by the answer: + +- **Tickets will follow** → apply the `needs-triage` triage label, and tell the user that `/to-tickets` will mark the spec ready once its tickets are published. +- **No tickets** → the issue stands alone as one session of work. Apply the `ready-for-agent` triage label - no need for additional triage. diff --git a/.agents/skills/to-tickets/SKILL.md b/.agents/skills/to-tickets/SKILL.md index e868c831f..6a365c066 100644 --- a/.agents/skills/to-tickets/SKILL.md +++ b/.agents/skills/to-tickets/SKILL.md @@ -64,7 +64,7 @@ Publish the approved tickets. **How** depends on the tracker `/setup-matt-pocock Work the **frontier**: any ticket whose blockers are all done. For a purely linear chain that means top to bottom. -Do NOT close or modify any parent issue. +Do NOT close or modify any parent issue, with one exception: its triage label. When the tickets come from a spec's issue, swap the spec's `needs-triage` label for `ready-for-agent` as your last step, after every ticket and every blocking link is published. `ready-for-agent` on a spec says its tickets are published. Change nothing else on the spec. diff --git a/docs/agents/triage-labels.md b/docs/agents/triage-labels.md index b716855d4..80495d777 100644 --- a/docs/agents/triage-labels.md +++ b/docs/agents/triage-labels.md @@ -13,3 +13,11 @@ The skills speak in terms of five canonical triage roles. This file maps those r When a skill mentions a role (e.g. "apply the AFK-ready triage label"), use the corresponding label string from this table. Edit the right-hand column to match whatever vocabulary you actually use. + +## `ready-for-agent` on a Spec + +On a **Spec**, `ready-for-agent` says its **Tickets** are published: every Ticket is a sub-issue of the Spec and every blocking link is in place. Until then the Spec is labelled `needs-triage`, because a `ready-for-agent` Spec with no Tickets yet looks exactly like a standalone Ticket, and a **Pickup run** would start a plain Run on it. + +## `in-progress` is not a triage role + +`in-progress` is thirdshift's own label for a **Claim**, defined in `CONTEXT.md`. thirdshift applies and removes it. It is not a sixth triage role: no skill applies it, and it has no row in the table above.