Adds a project skill that captures how we triage the PR queue, so the next sweep follows the same process.
What it does
Six steps: collect the queue → machine-check with the repo CLI → judge the project → act → label → verify.
Why the non-obvious parts are written down
Merge onto master before linting. Linting a PR branch alone misses ordering errors that newer merges create, and gh pr diff hunk headers name the section of a stale base. The worktree loop is included.
Branch protection.strict: true plus one required approval, so a bare gh pr merge fails with "the base branch policy prohibits the merge". The working sequence is comment → approve → update-branch → merge --squash, one PR at a time.
The workflow scope trap. A token without that scope cannot merge or update a PR touching .github/workflows/; those go back to a human.
Buried edits. Author attribution slipped into a neighbour's description, and entries a past commit removed on purpose (git log -S).
Judgement signals. Commits, contributors, and releases, not stars alone.
Tone rules, so every comment thanks the contributor, gives the concrete reason, and invites correction.
.gitignore
/.claude becomes /.claude/* plus !/.claude/skills/, so the skill is shared while settings.local.json stays ignored.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/veggiemonk/awesome-docker/pull/1527
**Author:** [@veggiemonk](https://github.com/veggiemonk)
**Created:** 8/18/2026
**Status:** ✅ Merged
**Merged:** 8/18/2026
**Merged by:** [@veggiemonk](https://github.com/veggiemonk)
**Base:** `master` ← **Head:** `skill/triage-prs`
---
### 📝 Commits (1)
- [`12b944c`](https://github.com/veggiemonk/awesome-docker/commit/12b944c06edb9ba4429dfc87ae6a29a6d8d0a81c) docs: add triage-prs skill
### 📊 Changes
**2 files changed** (+109 additions, -1 deletions)
<details>
<summary>View changed files</summary>
➕ `.claude/skills/triage-prs/SKILL.md` (+107 -0)
📝 `.gitignore` (+2 -1)
</details>
### 📄 Description
Adds a project skill that captures how we triage the PR queue, so the next sweep follows the same process.
## What it does
Six steps: collect the queue → machine-check with the repo CLI → judge the project → act → label → verify.
## Why the non-obvious parts are written down
- **Merge onto master before linting.** Linting a PR branch alone misses ordering errors that newer merges create, and `gh pr diff` hunk headers name the section of a stale base. The worktree loop is included.
- **Branch protection.** `strict: true` plus one required approval, so a bare `gh pr merge` fails with *"the base branch policy prohibits the merge"*. The working sequence is comment → approve → `update-branch` → `merge --squash`, one PR at a time.
- **The `workflow` scope trap.** A token without that scope cannot merge or update a PR touching `.github/workflows/`; those go back to a human.
- **Buried edits.** Author attribution slipped into a neighbour's description, and entries a past commit removed on purpose (`git log -S`).
- **Judgement signals.** Commits, contributors, and releases, not stars alone.
- **Tone rules**, so every comment thanks the contributor, gives the concrete reason, and invites correction.
## .gitignore
`/.claude` becomes `/.claude/*` plus `!/.claude/skills/`, so the skill is shared while `settings.local.json` stays ignored.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/veggiemonk/awesome-docker/pull/1527
Author: @veggiemonk
Created: 8/18/2026
Status: ✅ Merged
Merged: 8/18/2026
Merged by: @veggiemonk
Base:
master← Head:skill/triage-prs📝 Commits (1)
12b944cdocs: add triage-prs skill📊 Changes
2 files changed (+109 additions, -1 deletions)
View changed files
➕
.claude/skills/triage-prs/SKILL.md(+107 -0)📝
.gitignore(+2 -1)📄 Description
Adds a project skill that captures how we triage the PR queue, so the next sweep follows the same process.
What it does
Six steps: collect the queue → machine-check with the repo CLI → judge the project → act → label → verify.
Why the non-obvious parts are written down
gh pr diffhunk headers name the section of a stale base. The worktree loop is included.strict: trueplus one required approval, so a baregh pr mergefails with "the base branch policy prohibits the merge". The working sequence is comment → approve →update-branch→merge --squash, one PR at a time.workflowscope trap. A token without that scope cannot merge or update a PR touching.github/workflows/; those go back to a human.git log -S)..gitignore
/.claudebecomes/.claude/*plus!/.claude/skills/, so the skill is shared whilesettings.local.jsonstays ignored.🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.