canary-pr-guardian

canary-pr-guardian is a skill for Claude Code from bop-clocktower/canary. It costs 88 tokens per session (1,419 once invoked), scanned A, original, MIT.

A pull-request and pre-commit test guardian that checks whether changed code is covered by tests. A pull request is a proposed code change for review; pre-commit checks run before creating a commit.

In plain words
What is it for?
Running diff-coverage checks, reviewing affected tests, and—when explicitly enabled—creating and staging missing tests without committing or pushing.
Why use it?
It highlights untested changes and can optionally prepare missing tests for human review before the code is committed.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the canary plugin — 23 skills, 13 commands, 8 agents, 4 hooks shipped together

Good fit Running diff-coverage checks, reviewing affected tests, and—when explicitly enabled—creating and staging missing tests without committing or pushing.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/bop-clocktower/canary/canary-pr-guardian
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add bop-clocktower/canary --skill canary-pr-guardian
Clone the repo
git clone --depth 1 https://github.com/bop-clocktower/canary

Made for: Claude Code.

Or install canary, the plugin that ships this one along with the rest of its 23 skills, 13 commands, 8 agents, 4 hooks.

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 canary-pr-guardian

README.md
[![agentmods](https://agentmods.dev/badge/skills/bop-clocktower/canary/canary-pr-guardian/github.svg)](https://agentmods.dev/skills/bop-clocktower/canary/canary-pr-guardian)
Your own site
<a href="https://agentmods.dev/skills/bop-clocktower/canary/canary-pr-guardian"><img src="https://agentmods.dev/badge/skills/bop-clocktower/canary/canary-pr-guardian/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for canary-pr-guardian

Your own site · 80×15
<a href="https://agentmods.dev/skills/bop-clocktower/canary/canary-pr-guardian"><img src="https://agentmods.dev/badge/skills/bop-clocktower/canary/canary-pr-guardian.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,419 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.00088 $0.01419
Opus 5 $0.00044 $0.00709
Sonnet 5 $0.00018 $0.00284
Haiku 4.5 $0.00009 $0.00142

Measured 6d ago against content hash 9d66e5db147e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

canary-pr-guardian 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 6d 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.

agents/skills/claude-code/canary-pr-guardian/SKILL.md · 130 lines

How it starts

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

Canary: PR Guardian

Guards a change's test quality before it lands. Composes the deterministic Tier-0 diff-coverage engine with two native agents — canary-test-reviewer (read-only audit) and canary-test-author (authoring) — under a strict write-safety model. This is the Option A driver: the engine never calls an LLM; this skill invokes the agents in-session and enforces stage-and-block-once.

On the tier numbers. Here they are the values of canary guardian pr-check --tier 0|1|2, not a repo-wide capability scale — Tier 1 means "the --tier 1 pass," which is the agent audit. Tier-0 is the one number with a repo-wide meaning (deterministic, no network, no agent), and Tier-1/Tier-2 are guardian-local by ADR 0015. Do not carry them into other skills.

When to Use

  • Before opening or updating a PR, to check that new/changed code is tested.
  • As a pre-commit companion when preCommit.authorTests: true is set and you want the guardian to author the missing tests for you (at the desk only).
  • NOT in CI for Tier-2 write-back — that is a NON-GOAL. CI runs Tier-0 only (the CANARY_GUARDIAN_AGENT env is unset there).

Safety model (non-negotiable)

  • NEVER commit or push. This skill only authors and git adds. The human reviews the staged tests and re-commits.
  • Honor every skipped reason from author-plan verbatim (opt-in-off / tier / fork / collision / loop-guard). Never override a skip.
  • Block once. When block.block == true, print the block message and stop — leave the staged tests for the human. The loop-guard sentinel you write in Phase 3 is what stops the guardian re-authoring over its own output on the next run. It is stamped with the current HEAD and expires by itself once the human's review commit moves HEAD — never delete it yourself.
  • Authoring is opt-in. No preCommit.authorTests: true ⇒ no writes, ever.

Phases

Read the full file on GitHub · 130 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 6d ago Changed · +8 lines 9d66e5db147e
  2. 11d ago First seen · 122 lines · 88 tokens per session scan A c52fa351286c

Subscribe to this mod's changes

canary-pr-guardian is a skill published in the GitHub repository bop-clocktower/canary (4 stars, last pushed today), licensed MIT. It adds 88 tokens to every session and 1,419 once invoked, about $0.0004 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-31.

Related

Other skills, from other repositories

adk-go-self-review

Review an ADK Go change the way a maintainer will — a fresh-context pass over the whole diff, five lenses (correctness and tests, scope, simplicity, style, adk-python parity), and the mutation check that proves your tests pin the change. Use before opening a PR, before any later push that changes code, and when asked…

google/adk-go · 87 tokens

gentle-ai

Use Gentle AI harness discipline for Pi work: clarify first, preserve OpenSpec artifacts, use strict TDD where available, delegate through subagents when useful, and protect review workload.

Gentleman-Programming/gentle-pi · 40 tokens

software-test-review

Evaluate the quality of TDD tests against slice acceptance criteria, codebase conventions, and Red-phase execution results, producing a structured review with Accept or Revise recommendations. Use when tests written during the Red phase of red-green-refactor need quality review — checking coverage of acceptance…

stencila/stencila · 127 tokens

orchestrated-execution

Execute work units through the rigorous 4-phase Metaswarm cycle (Implement -> Validate -> Adversarial Review -> Commit) with independent quality gate enforcement.

a5c-ai/babysitter · 37 tokens

software-code-refactoring

Improve production code quality while preserving all existing test behavior. Commonly used for the Refactor phase of TDD red-green-refactor, but applicable to any codebase with tests. Use when production code works but needs cleanup — reducing duplication, improving naming, simplifying complexity, aligning with…

stencila/stencila · 102 tokens

quality-playbook

Run a complete quality engineering audit on any codebase. Derives behavioral requirements from the code, generates spec-traced functional tests, runs a three-pass code review with regression tests, executes a multi-model spec audit (Council of Three), and produces a consolidated bug report with TDD-verified patches.…

andrewstellman/quality-playbook · 111 tokens