--- name: triage-issues description: Triages open GitHub issues by applying the correct labels. Use when asked to triage issues, label issues, or organize the issue backlog. Processes unlabeled issues first, then reviews labeled issues for correctness. Proposes all changes for approval before applying anything, and writes an undo script for each run. --- # Triage Issues Triage means: read each issue, decide the right labels from the taxonomy below, and apply them with `gh issue edit`. Do not remove labels a human has already added unless they are clearly wrong. Do not add priority labels unless the issue body or discussion makes the priority obvious. Two hard rules govern every run: 1. **Propose before applying.** Classify everything first and present the full set of proposed changes as a summary for the user to validate. Apply nothing — no labels, no label creation — until the user approves. 2. **Record an undo.** While applying approved changes, build an undo script that reverses exactly what this run did, and hand the user the command to run it. ## Label taxonomy Every issue should have at least one `kind/` label and at least one `area/` label. Priority and status labels are optional. ### `kind/` — what the issue is | Label | When to apply | |---|---| | `kind/bug` | Something is broken or behaves incorrectly. The current behavior is wrong. | | `kind/feature` | A new capability that does not exist today. Includes enhancements to existing features. | | `kind/cleanup` | Code quality improvements that do not change behavior: refactors, naming, dead code removal, small inconsistencies. | | `kind/docs` | Documentation only — missing, outdated, or incorrect docs. | | `kind/design` | Design discussions, investigations, research, and open questions that must be resolved before implementation. Includes "Design discussion:", "Identify what X should be", "Measure/benchmark X", "Explore options". | If any label in this taxonomy does not exist on the repo yet, include its creation in the proposal and create it during the apply step with: ```bash gh label create "