32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
---
|
|
name: issue-triage
|
|
description: Classify one or all open issues, apply labels, request missing info
|
|
disable-model-invocation: true
|
|
user-invocable: true
|
|
argument-hint: "[<issue-number> | all]"
|
|
allowed-tools:
|
|
- Bash(gh issue *)
|
|
- Bash(gh label *)
|
|
- Read
|
|
- Grep
|
|
---
|
|
|
|
Run from inside `oikos/`. `$1` is a specific issue number or the literal `all` (default: `all` → every open issue without labels).
|
|
|
|
1. **Load** — for a single issue: `gh issue view $1 --repo ulsklyc/oikos --comments`. For `all`: `gh issue list --repo ulsklyc/oikos --state open --label '' --json number,title,body,author,createdAt`.
|
|
2. **Classify** — for each issue, pick ONE primary class and apply labels via `gh issue edit <n> --repo ulsklyc/oikos --add-label "<labels>"`:
|
|
- `bug` — reproduction + expected vs. actual behaviour present and plausible against current code
|
|
- `enhancement` — new feature or UX improvement, no existing regression
|
|
- `question` — user needs help using Oikos, not a code change
|
|
- `invalid` — spam, duplicate, or out of scope (self-hosted family planner)
|
|
Add area labels where obvious: `calendar`, `tasks`, `shopping`, `meals`, `budget`, `notes`, `contacts`, `reminders`, `i18n`, `pwa`, `security`, `docs`.
|
|
3. **Request missing info** — if reproduction steps, expected behaviour, Oikos version, or browser are missing on a `bug`, post a single comment asking for exactly what's missing. Apply label `needs-info`.
|
|
4. **Close spam/duplicates** — `gh issue close <n> --repo ulsklyc/oikos --reason "not planned" --comment "<english explanation>"`. Always leave a reason.
|
|
|
|
## Guardrails
|
|
|
|
- Never assign issues to other humans.
|
|
- Never post more than one triage comment per issue per run.
|
|
- All comments in English.
|
|
- If unsure between two classes, default to `question` and ask for clarification — don't guess.
|