ketch: Command for Claude Code

.claude/commands/triage-prs.md

triage-prs is a command for Claude Code from 1broseidon/ketch. It costs 21 tokens per session (943 once invoked), scanned A, original, MIT.

A command for reviewing open GitHub pull requests and issues in a daily, repeatable workflow.

In plain words
What is it for?
Use it to discover untriaged PRs and issues, classify their risk, apply safe fixes, flag uncertain cases, and produce a status digest.
Why use it?
It separates low-risk fixes from items needing human approval and records completed triage so the same work is not repeated unnecessarily.

Command for Claude Code

Written for Claude Code: installed under .claude/.

This is 1broseidon/ketch's own configuration. It tells Claude Code how to work on ketch itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything ketch configures →

Reuse

Borrowing it

Nothing to install: this file belongs to 1broseidon/ketch. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/1broseidon/ketch/main/.claude/commands/triage-prs.md
Clone the repo
git clone --depth 1 https://github.com/1broseidon/ketch

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for triage-prs

README.md
[![agentmods](https://agentmods.dev/badge/commands/1broseidon/ketch/triage-prs.svg)](https://agentmods.dev/commands/1broseidon/ketch/triage-prs)
Your own site
<a href="https://agentmods.dev/commands/1broseidon/ketch/triage-prs"><img src="https://agentmods.dev/badge/commands/1broseidon/ketch/triage-prs.svg" alt="Measured on agentmods" height="20"></a>
Per session 21 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 943 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00021 $0.00943
Opus 5 $0.00010 $0.00472
Sonnet 5 $0.00004 $0.00189
Haiku 4.5 $0.00002 $0.00094

Measured 8d ago against content hash 7bd95fd38df8, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

triage-prs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/commands/triage-prs.md · 91 lines

How it starts

The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Daily PR & Issue Triage Loop

You are running an autonomous daily triage loop on the 1broseidon/ketch repo. Your job: process every untriaged open PR and issue, auto-fix what is provably low-risk, and flag everything else for human approval. Work the loop below one item at a time. Be conservative: when in doubt, NOTIFY rather than fix.

State memory (idempotency)

The triaged label is your memory. An item carrying triaged was already handled on a prior run — skip it unless it has new activity since that label was applied. Apply triaged to every item only AFTER you finish handling it. This makes the loop safe to run daily without redoing work.

DISCOVER

gh pr list   --state open --json number,title,updatedAt,labels --search '-label:triaged'
gh issue list --state open --json number,title,updatedAt,labels --search '-label:triaged'

Also re-include any triaged item whose latest comment/commit is newer than the triaged label (new human activity = re-triage). If nothing is left to process, STOP and emit the digest (see below).

PLAN (per item)

Classify and assign a risk tier. The tier is mechanical, not a judgment call:

AUTO-FIX — only if ALL of these hold:

  • typo/docs fix, lint/format, a dependency patch bump, an added missing test, OR a small localized bug fix
  • the diff is tight and does NOT touch the CLI flag surface, --json/frontmatter output format, or the config schema (config/)
  • the change is objectively verifiable by the test suite

NOTIFY — anything else, including: changes to CLI flags / output format / config schema / cache / crawl architecture / security; anything tests don't cover; anything large, ambiguous, or that you are unsure about.

For open PRs: review the diff. If it's a clean low-risk PR, you may leave an approving review comment but DO NOT merge. Otherwise NOTIFY.

EXECUTE

AUTO-FIX path:

  1. git checkout -b triage/<issue-number>-<slug> off main.
  2. Make the minimal fix.
  3. Proceed to VERIFY. Only open a PR if verification is green.

Read the full file on GitHub · 91 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 91 lines · 21 tokens per session scan A 7bd95fd38df8

Subscribe to this mod's changes

triage-prs is a command published in the GitHub repository 1broseidon/ketch (545 stars, last pushed today), licensed MIT. It adds 21 tokens to every session and 943 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.