whiteboard: Skill for Claude Code

.claude/skills/review-gate/SKILL.md

review-gate is a skill for Claude Code from kamiazya/whiteboard. It costs 73 tokens per session (2,270 once invoked), scanned A, original, Apache-2.0.

A review workflow for checking the changes in a Git code comparison before they are merged. It combines several review areas, verification, and quality checks into one report.

In plain words
What is it for?
It is for pre-merge reviews, reviews before marking work ready, and one-off checks of selected files or Git changes.
Why use it?
It reduces the need to run separate checks and helps catch problems in a specific set of code changes. A Git range is the starting and ending point used to compare revisions.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions Codex.

This is kamiazya/whiteboard's own configuration. It tells Claude Code how to work on whiteboard 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 whiteboard configures →

Part of the whiteboard plugin — 22 skills, 18 agents, 3 hooks shipped together

Reuse

Borrowing it

Nothing to install: this file belongs to kamiazya/whiteboard. 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/kamiazya/whiteboard/main/.claude/skills/review-gate/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/kamiazya/whiteboard

Made for: Claude Code.

Or install whiteboard, the plugin that ships this one along with the rest of its 22 skills, 18 agents, 3 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 review-gate

README.md
[![agentmods](https://agentmods.dev/badge/skills/kamiazya/whiteboard/review-gate/github.svg)](https://agentmods.dev/skills/kamiazya/whiteboard/review-gate)
Your own site
<a href="https://agentmods.dev/skills/kamiazya/whiteboard/review-gate"><img src="https://agentmods.dev/badge/skills/kamiazya/whiteboard/review-gate/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 review-gate

Your own site · 80×15
<a href="https://agentmods.dev/skills/kamiazya/whiteboard/review-gate"><img src="https://agentmods.dev/badge/skills/kamiazya/whiteboard/review-gate.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 73 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,270 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. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00073 $0.02270
Opus 5 $0.00036 $0.01135
Sonnet 5 $0.00015 $0.00454
Haiku 4.5 $0.00007 $0.00227

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

Security

Grade A, and why

review-gate 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 11d 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/skills/review-gate/SKILL.md · 179 lines

How it starts

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

Review Gate (whiteboard)

review.workflow.mjs is the generic per-diff change-review gate: parallel multi-dimension review + adversarial verify + QA smoke, returning one consolidated report. It is the most-invoked workflow in the repo — every dev-loop composes it as its review phase — but is also runnable standalone against any git range.

Run it

Workflow({ scriptPath: '.claude/workflows/review.workflow.mjs',
           args: { range?, files?, cwd?, dimensions?, qaScenarios?,
                    dogfood?, appUrl?, dogfoodPersonas?, codex? } })
  • range: a git range understood by git diff/git log. Default 'origin/main...HEAD'.
  • files: optional explicit scope (array of paths). When omitted, each reviewer agent discovers changed files itself via git diff --name-only <range>.
  • cwd: optional worktree path so a composed parent (dev-loop) can point review at an isolated worktree. When set, agents run git as git -C <cwd> ... and Read files at that absolute path.
  • dimensions: defaults to ['correctness', 'contract', 'boundary', 'test-coverage', 'reachability', 'background-work'] (dead-code, auth and accessibility are opt-in extras — pass them explicitly when relevant). The last two are default rather than opt-in for the same single reason: what they catch is CORRECT code. An unwired slice and a worker that runs on every instance both pass their tests and read as finished to every other dimension, so the only reliable catch is a lane that always asks. They answer notApplicable cheaply when the diff has nothing for them. security always runs in addition, unconditionally. Each entry is either a legacy plain string (criteria stays embedded in reviewer-dimension.md) or {name, content} where content is authoritative externalized criteria injected into the reviewer prompt (see below). A malformed non-string entry (e.g. missing name) throws instead of silently propagating undefined.
  • qaScenarios: defaults to ['smoke', 'error-recovery', 'startup'].
  • dogfood: optional live persona pass over the touched flow. Default false — requires a running app (appUrl).
  • appUrl: the running app URL for the dogfood phase.
  • dogfoodPersonas: number of persona passes when dogfood is on. Default 1.
  • codex: adds a Codex second-opinion review lane. Default false. If the Codex runtime is unavailable, the lane returns null and is reported via codexUnavailable — it never counts as a failed partition dimension and never blocks the gate.

Read the full file on GitHub · 179 lines

Files

What ships with it

10 files 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. 11d ago First seen · 179 lines · 73 tokens per session scan A 1385bd3378e5

Subscribe to this mod's changes

review-gate is a skill published in the GitHub repository kamiazya/whiteboard (6 stars, last pushed today), licensed Apache-2.0. It adds 73 tokens to every session and 2,270 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

review-implement-phase

Implements triaged review actions, commits focused fixes, and posts Done plus resolves threads. Use when the user wants only the implementation phase of the review-framework workflow.

prisma/orm · 38 tokens

engram-branch-pr

PR creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a pull request, opening a PR, or preparing changes for review.

Gentleman-Programming/engram · 37 tokens

verify-behavior

Verify or reproduce visible product behavior by driving the real UI with pi-computer-use's checked tools, requiring verified expect postconditions and durable state evidence for meaningful UI flows. Use when triage needs visual reproduction, implementation needs behavioral proof, review needs interactive confirmation…

nicknisi/dotfiles · 68 tokens

github-contributor

End-to-end playbook for shipping high-quality pull requests to open-source projects you don't maintain — discovery, CONTRIBUTING compliance, PR-size check, minimal-diff implementation, PR description with AI-assisted disclosure, conflict resolution, and post-submission maintainer interaction. Use whenever creating…

daymade/claude-code-skills · 133 tokens

revdiff

Review diffs, files, and documents with inline annotations in a TUI overlay, or answer questions about revdiff usage, configuration, themes, and keybindings. Opens revdiff in agterm/tmux/zellij/herdr/kitty/wezterm/cmux/ghostty/iterm2/emacs-vterm, captures annotations, and addresses them. Works in git, hg, and jj repos…

umputun/revdiff · 248 tokens

write-pr

Reference standards for writing pull request titles and descriptions in the tldraw repository, plus the pre-flight comment sweep over the diff. Use as supporting guidance when another skill or workflow needs PR content standards, not as the user-facing create/update PR workflow.

tldraw/tldraw · 53 tokens