--- 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 `. 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 formally requested reviewer** - `hive-forge lint no-reviewer` flags PRs with zero requested reviewers at all; add `--reviewer ` to instead flag PRs where that specific person isn't among the requested reviewers. This checks the forge's actual reviewer-request state, not a text `@name` mention anywhere in the thread. - **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 ` 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.