Browse Source

docs: make triage-labels.md the label source of truth

- triage-labels.md is now the canonical label taxonomy; maintainers.md
  routes to it instead of duplicating the label list
- maintainers.md: rewrite triage flow (issues -> /triage, PRs ->
  issue-tracker.md), drop unused confirmed/P0 labels, add community-preset
  submission doc, humanize prose
- AGENTS.md: document community-preset, triage skill install, PR policy ref
- domain.md: cross-reference triage/label docs

Co-Authored-By: Claude <noreply@anthropic.com>
Michael Henke 2 weeks ago
parent
commit
e4d2f9580e
4 changed files with 44 additions and 35 deletions
  1. 4 1
      AGENTS.md
  2. 6 0
      docs/agents/domain.md
  3. 4 2
      docs/agents/triage-labels.md
  4. 30 32
      docs/maintainers.md

+ 4 - 1
AGENTS.md

@@ -294,7 +294,10 @@ Issues and PRs are tracked on GitHub (`alvinunreal/oh-my-opencode-slim`); extern
 
 ### Triage labels
 
-Canonical triage roles map to repo labels via `docs/agents/triage-labels.md` (e.g. `ready-for-agent` → `good-to-code`; `needs-triage` = unlabeled).
+Canonical triage roles map to repo labels via `docs/agents/triage-labels.md`
+(e.g. `ready-for-agent` → `good-to-code`; `needs-triage` = unlabeled). Install
+the `triage` skill (command in `docs/maintainers.md`). Community preset
+submissions use the `community-preset` label (see `docs/maintainers.md`).
 
 ### Domain docs
 

+ 6 - 0
docs/agents/domain.md

@@ -16,6 +16,12 @@ When your output names a domain concept (in an issue title, a refactor proposal,
 
 If the concept you need isn't in the glossary yet, that's a signal — either you're inventing language the project doesn't use (reconsider) or there's a real gap (note it for `/domain-modeling`).
 
+## Triage and labels
+
+Operational triage roles and their repo labels are documented in
+`docs/agents/triage-labels.md` (source of truth) and `docs/maintainers.md`.
+The external-PR triage policy lives in `docs/agents/issue-tracker.md`.
+
 ## Flag ADR conflicts
 
 If your output contradicts an existing ADR, surface it explicitly rather than silently overriding:

+ 4 - 2
docs/agents/triage-labels.md

@@ -5,6 +5,9 @@ Maps the **canonical triage roles** (defined in the `triage` skill from
 issue tracker. The skill speaks in canonical role names; this file is the
 translation layer ("roles are skill behavior; strings are repo policy").
 
+> **See also:** [`docs/maintainers.md`](../maintainers.md) — triage workflow
+> procedure (how to apply labels, when to close, etc.).
+
 | Label in `mattpocock/skills` | Label in our tracker | Meaning |
 | ---------------------------- | -------------------- | ------- |
 | `bug`                        | `bug`                | Something is broken |
@@ -26,8 +29,7 @@ translation layer ("roles are skill behavior; strings are repo policy").
   issues that still need implementation.
 - The following repo labels are intentionally **outside** the triage taxonomy
   and should not be applied by `/triage`:
-  - `confirmed` — maintainer-acknowledged signal after `needs-triage`
   - `status:in-review` — human review state (optional overlay on `good-to-code`)
-  - `P0` — priority overlay; apply manually alongside any role for urgent items
   - `release` — release management
   - `Share Your Thoughts` — open-ended community feedback
+  - `community-preset` — community submission (applied via `preset_submission.yml` form)

+ 30 - 32
docs/maintainers.md

@@ -4,10 +4,9 @@ This document is the source of truth for issue triage and lightweight repo maint
 
 ## Goals
 
-- Keep bug reports actionable.
-- Keep issue filing lightweight.
-- Keep support out of the issue tracker.
-- Keep maintainer decisions fast and consistent.
+- Bug reports stay actionable; filing stays lightweight.
+- Support questions go to Telegram, not the issue tracker.
+- Maintainers decide quickly and apply the same standard each time.
 
 ## Where Different Things Go
 
@@ -27,7 +26,7 @@ Use the Telegram channel for:
 - general support
 - open-ended usage questions
 
-If an issue is really a support request, reply briefly and redirect the user to Telegram.
+If an issue is really a support request, reply briefly and redirect the user to [Telegram](https://t.me/boringdystopiadevelopment).
 
 ## Issue Forms
 
@@ -54,45 +53,44 @@ Feature requests should stay lightweight and focus on:
 - the requested change
 - optional extra context
 
-## Labels
+### Community preset submission
 
-Only use these labels:
+Community preset submissions use a separate form (`preset_submission.yml`).
+These require preset name, GitHub handle, config block, supported providers, and
+intended use case. Label with `community-preset` and review for clarity and
+validity before merging.
 
-- `bug` - bug report
-- `enhancement` - feature request or improvement
-- `needs-info` - cannot act yet because key details are missing
-- `confirmed` - a maintainer confirmed the issue or agrees the request is valid
-- `P0` - highest priority
-- `Share Your Thoughts` - open-ended feedback from the community
+## Labels
 
-If a label does not help triage or prioritization, do not add it.
+The canonical label taxonomy is defined in
+[`docs/agents/triage-labels.md`](agents/triage-labels.md). This section covers
+triage procedure only.
 
 ## Triage Flow
 
-For each new issue, make a quick first decision:
-
-1. Is it a bug report, a feature request, or support?
-2. Is there enough information to act on it?
-3. Is it confirmed?
+Requires the `triage` skill from `mattpocock/skills`.
 
-### Bug reports
+**Install the skill:** `npx skills add https://github.com/mattpocock/skills --skill triage`
 
-- Add `bug` if needed.
-- Add `needs-info` if required details are missing.
-- Add `confirmed` once a maintainer reproduces it or agrees it is valid and actionable.
-- Add `P0` only for the highest-priority problems.
+The label mapping the skill expects is already provided in
+[`docs/agents/triage-labels.md`](agents/triage-labels.md). You do **not** need to
+run `/setup-matt-pocock-skills` for this repo.
 
-### Feature requests
+Route each new issue:
 
-- Add `enhancement` if needed.
-- Add `confirmed` when maintainers agree it is a valid direction worth tracking.
-- Add `P0` only if it is truly urgent.
+1. **Bug report or feature request?** → run `/triage`. Canonical roles and their
+   GitHub label mappings live in
+   [`docs/agents/triage-labels.md`](agents/triage-labels.md); the skill owns the
+   role model and state transitions.
+2. **Support request?** → reply briefly, redirect to [Telegram](https://t.me/boringdystopiadevelopment), close if needed.
 
-### Support issues
+**PRs are a separate surface.** External PRs get category labels only
+(`bug`/`enhancement`) and do not enter the triage state machine. See
+[`docs/agents/issue-tracker.md`](agents/issue-tracker.md) for the full PR
+triage policy.
 
-- Reply briefly.
-- Redirect the user to Telegram.
-- Close if needed.
+This guide covers only repo-specific routing. The `triage` skill and
+`triage-labels.md` handle label application and state transitions.
 
 ## Closing Policy