Context
Part of the GitHub Agentic Workflows rollout — Discussion #228.
Depends on: #230 (Phase 0 — foundation must be merged first)
Goal
New issues across the org are auto-labeled and triaged within 60 seconds of being opened.
TDD cycle
Step 1 — Write scenario spec first
Create tests/aw/issue-triage/scenarios.md before writing any workflow markdown. It must cover:
- Input: issue titled "Login button is broken", no labels → Expected: labels
bug + needs-triage, comment asking for repro steps
- Input: issue titled "Add dark mode support" → Expected: label
enhancement, comment acknowledging feature request
- Input: issue titled "How do I configure X?" → Expected: label
question, comment with pointer to docs
- Edge: issue already has 2+ labels → workflow is a no-op (no changes, no comment)
Step 2 — Write the workflow
Create .github/workflows/issue-triage.md with:
- Trigger:
issues: [opened, reopened]
- Engine: Claude (
claude-sonnet-4-6)
- Permissions:
issues: read (safe-output handles writes)
- Instructions: classify issue, apply ≤3 labels from
[bug, enhancement, documentation, question, needs-triage, good-first-issue, security], post one welcoming comment with the single most important clarifying question for the issue type. Skip if issue already has 2+ labels.
- Output:
staged initially
Step 3 — Compile and validate
gh aw compile must pass in CI.
Step 4 — Staged smoke test
Run gh aw run issue-triage --staged against a real test issue and verify the output artifact matches the scenario spec. Document result in the PR description.
Step 5 — Go live
Remove output: staged, update PR, merge.
Acceptance Criteria
Context
Part of the GitHub Agentic Workflows rollout — Discussion #228.
Depends on: #230 (Phase 0 — foundation must be merged first)
Goal
New issues across the org are auto-labeled and triaged within 60 seconds of being opened.
TDD cycle
Step 1 — Write scenario spec first
Create
tests/aw/issue-triage/scenarios.mdbefore writing any workflow markdown. It must cover:bug+needs-triage, comment asking for repro stepsenhancement, comment acknowledging feature requestquestion, comment with pointer to docsStep 2 — Write the workflow
Create
.github/workflows/issue-triage.mdwith:issues: [opened, reopened]claude-sonnet-4-6)issues: read(safe-output handles writes)[bug, enhancement, documentation, question, needs-triage, good-first-issue, security], post one welcoming comment with the single most important clarifying question for the issue type. Skip if issue already has 2+ labels.stagedinitiallyStep 3 — Compile and validate
gh aw compilemust pass in CI.Step 4 — Staged smoke test
Run
gh aw run issue-triage --stagedagainst a real test issue and verify the output artifact matches the scenario spec. Document result in the PR description.Step 5 — Go live
Remove
output: staged, update PR, merge.Acceptance Criteria
tests/aw/issue-triage/scenarios.mdexists and is written before the workflow.github/workflows/issue-triage.mdcompiles cleanlydocs/aw/issue-triage.md