claude-plugins: add forge-triage skill

This commit is contained in:
damocles 2026-07-27 17:15:44 +02:00 committed by mara
commit a155ea7b7d

View file

@ -0,0 +1,45 @@
---
name: forge-triage
description: Verify triage coverage on a forge repo using the existing lint verbs instead of manually scanning issues/PRs - unassigned items, missing labels by scope, PRs with no reviewer, and stale branches each have a dedicated check. Use this whenever you want to confirm nothing has fallen through the cracks (new activity landed, a periodic sweep, before reporting "everything's triaged").
---
# Forge Triage
Checking triage coverage doesn't need a bespoke script or a manual scan
of the tracker - the forge CLI's `lint` verbs already answer each
dimension directly.
## The checks
- **Unassigned items** - open issues or PRs with no assignee:
`hive-forge lint unassigned`
- **Missing labels by scope** - items missing any label in a given
scope (e.g. every issue should carry a `type/*` label, or an `area/*`
one): `hive-forge lint unlabeled --scope <scope>`. The scope name is
whatever your repo's own label taxonomy uses - there's nothing
hardcoded, so check `repo-labels` first if you don't already know the
scopes in use.
- **PRs with no reviewer engagement** - `hive-forge lint no-reviewer
--reviewer <name>` flags PRs where the named reviewer hasn't left a
formal review or mention. The reviewer name is per-repo/per-team, not
a fixed value.
- **Assignment load** - `hive-forge lint assignments` groups open
issues + PRs by assignee, useful for spotting an overloaded or
neglected owner.
- **Stale branches** - `hive-forge lint stale-branches --days <n>`
finds remote branches with no recent commits (skips branches that are
heads of open PRs), useful for spotting abandoned work.
## Using them as a sweep
Run the checks relevant to what you're verifying rather than assuming
one covers everything - "is triage caught up" usually means unassigned
+ unlabeled at minimum, with no-reviewer added if reviews matter for
your workflow. Each verb supports `--json` if you want to fold the
results into something else instead of reading the human-readable output.
This is reactive/on-demand coverage checking, not a scheduled rollup or
historical trend - if you need to track compliance *over time* (was
triage worse last week than this week), that's a different, bigger
ask than running these checks - don't build that unprompted just
because the checks exist.