GitHub Review Iteration
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
High-signal, embedded-aware Pigweed code review skill with strict comment calibration.
$ npx skills add pigweed-project/pigweed --skill review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pigweed-project/pigweed review --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pigweed-project/pigweed.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/review .claude/skills/review && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "review" agent skill from https://github.com/pigweed-project/pigweed/tree/main/.agents/skills/review into .claude/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pigweed-project/pigweed/tree/main/.agents/skills/reviewType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pigweed-project/pigweed --skill review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pigweed-project/pigweed review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pigweed-project/pigweed.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/review .agents/skills/review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review" agent skill from https://github.com/pigweed-project/pigweed/tree/main/.agents/skills/review into .agents/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pigweed-project/pigweed --skill review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pigweed-project/pigweed review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pigweed-project/pigweed.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/review .cursor/skills/review && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "review" agent skill from https://github.com/pigweed-project/pigweed/tree/main/.agents/skills/review into .cursor/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pigweed-project/pigweed.git --path .agents/skills/review--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pigweed-project/pigweed --skill review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pigweed-project/pigweed review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pigweed-project/pigweed.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/review .gemini/skills/review && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "review" agent skill from https://github.com/pigweed-project/pigweed/tree/main/.agents/skills/review into .gemini/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pigweed-project/pigweed reviewInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pigweed-project/pigweed --skill review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pigweed-project/pigweed.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/review .github/skills/review && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "review" agent skill from https://github.com/pigweed-project/pigweed/tree/main/.agents/skills/review into .github/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pigweed-project/pigweed --skill review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pigweed-project/pigweed review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pigweed-project/pigweed.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/review .opencode/skills/review && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "review" agent skill from https://github.com/pigweed-project/pigweed/tree/main/.agents/skills/review into .opencode/skills/review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
reviewHigh-signal, embedded-aware Pigweed code review skill with strict comment calibration.
Review is an agent skill from pigweed-project/pigweed. High-signal, embedded-aware Pigweed code review skill with strict comment calibration. Dispatches the enabled language reviewer subagents in parallel (one patch each), merges their findings into one calibrated verdict, and falls back to an inline audit for files with no enabled reviewer. Supports both Self-Review Gate mode (pre-upload verification for /crank) and Gerrit CL Reviewer mode (staging calibrated --draft comments via ./gh pr comment). Do not load for a quick LGTM or a single-file look, and not for…
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `TEST.md` and `reviewer_workflow.md`).
It sits in Development, covering Performance reviews, Subagents and Code review. The repository describes itself as: Modern software development for embedded systems. The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e73c1a0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
pigweed.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Review loads about 3k tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 1,339 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pigweed-project/pigweed at commit e73c1a0, republished under its Apache-2.0 licence (© pigweed-project). 1,339 words, ~2,956 tokens.
.claude/skills/review/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub./review)/review performs a rigorous, high-signal engineering review tailored to
Pigweed's embedded C++, Rust (pw_kernel), Python, and dual-build (Bazel +
GN) architecture.
Unlike generic review prompts that eitherrubber-stamp changes or flood CLs with
low-value stylistic noise, /review enforces strict comment calibration,
empirical verification, and embedded systems invariants.
Determine the mode from how /review is invoked:
/crank Subagent):/review on local uncommitted/unpushed changes, or invoked
by /crank before ./gh pr create / ./gh pr ready.git diff origin/main...HEAD (or working tree diff),
runs targeted verification, and emits a structured verdict (PASS or
NEEDS_FIXES) with actionable file/line findings so the author agent fixes
every [bug], [embedded/size], [api], and [test] issue before a
human reviewer ever sees the CL./review <cl> or Reviewer Workflow):/review <cl_id_or_url> (or bare /review when reviewing a
teammate's CL)../gh pr view <cl> --comments and
./gh pr diff <cl>, evaluates the patch, and stages calibrated inline
comments using ./gh pr comment <cl> --path <file> --line <line> -m "<msg>" --draft.
Never publishes comments live without --draft unless explicitly
instructed by the user.Every comment or finding MUST pass these calibration filters:
code_search, view_file, or
bazelisk test. Zero hallucinated compiler errors.[bug] — Correctness, memory safety, race condition, lifetime/dangling
reference, or unhandled error status.[embedded/size] — Dynamic heap allocation in a no-alloc module, unbounded
recursion/stack frame (>256B buffer on stack), ISR-unsafe blocking call,
or unnecessary template/code-size bloat.[api] — Public header C++17 incompatibility, missing #pragma once,
symbol outside pw namespace, unprefixed macro, or Doxygen mismatch.[build] — Missing BUILD.bazel / BUILD.gn / CMakeLists.txt parity,
missing visibility/deps, or broken negative compilation test (PW_NC_TEST).[test] — Missing unit test for new behavior/bugfix, or use of raw
EXPECT_EQ(status, pw::OkStatus()) instead of PW_TEST_EXPECT_OK.nit: — Optional, minor readability or naming polish.nit: comments across the entire
CL. If there are blocking [bug] or [embedded/size] issues, prioritize
those and drop minor nits entirely../pw format handles automatically.https://pigweed.dev/code_reviews.html#docs-code-reviews-checklist-<aspect>
or https://pigweed.dev/style/<page>.html#<anchor>.git log -1 --format=%B HEAD
git diff origin/main...HEAD<cl>):./gh pr view <cl> --comments
./gh pr diff <cl>Bug: b/<id> or Fixed: b/<id>), inspect
it via ./gh issue view <id> to verify the change actually solves the stated
problem.HEAD ahead of origin/main and
no CL given), or the CL is MERGED or ABANDONED
(./gh pr view <cl> --json state), stop and say why without dispatching
anything.You coordinate: you do not read changed source yourself when a reviewer subagent handles the file. Work from the diff gathered in Step 1.
Map files to reviewers. A row applies only if a changed file matches
it and the agent is enabled (its definition file exists and
git grep -l "^disabled: true" -- <definition file> prints nothing).
| Files matching | Agent (name:) | Definition file |
|---|---|---|
*.c, *.cc, *.h, *.inc | cpp-reviewer | .agents/agents/cpp_reviewer.md |
*.py, *.pyi | python-reviewer | .agents/agents/python_reviewer.md |
*.rs | rust-reviewer | .agents/agents/rust_reviewer.md |
Cut one patch per reviewer without reading it. out=$(mktemp -d), then
git diff origin/main...HEAD -- <its files> > "$out/<agent>.patch" (Mode
B: filter the ./gh pr diff <cl> output the same way).
Dispatch every selected reviewer in one parallel step, each as a read-only background subagent. Give each the checkout path, its patch path, its file list, and this instruction verbatim:
Read and follow
.agents/skills/review/reviewer_workflow.md. Return findings in the Finding format defined there and nothing else.
Wait for every reviewer to finish before merging.
Merge. Render findings with the severity prefixes above as mapped in
reviewer_workflow.md: blocking and
should-fix become [<tag>] <issue> (<rule>), nit becomes
nit: <issue>. Deduplicate same file/line/rule; order by severity with
scope: in-diff before out-of-diff. Never soften, reword, or drop a
reviewer's blocking finding. Apply the nit budget to the merged set.
Fall back for the rest. Files matching no row, or only rows whose agent is disabled or absent, get the inline audit below. Report which files each reviewer handled and which fell back.
For files no enabled reviewer handled, read the full surrounding file context
(view_file) for modified hunks—never review a diff hunk in isolation. Check
these six Pigweed dimensions:
new,
delete, std::vector, std::string, std::map, and std::function. Verify
fixed-capacity alternatives (pw::InlineString, pw::Vector, pw::Function,
pw::Alloctor injection) are used.pw_bloat): Flag large stack allocations (e.g., byte
arrays >256 bytes on MCU stacks), accidental <iostream>/<sstream>
includes, or heavy template instantiations on hot paths.pw_sync): Check InterruptSpinLock vs. Mutex
usage in interrupt-callable contexts, lock annotations
(PW_GUARDED_BY, PW_EXCLUSIVE_LOCKS_REQUIRED), and Borrowable lifetimes.pw_kernel) / Python Idiomspublic/.../*.h) must compile cleanly
with -std=c++17. C++20 enhancements must be guarded with __cplusplus or
PW_CXX_STANDARD_IS_SUPPORTED(20).pw::Status / pw::Result<T>
(no C++ exceptions). Fatal invariant violations must use PW_CHECK /
PW_ASSERT.pw_async2 (if applicable): Verify Pend(Context&) implementations
properly register a Waker (PW_ASYNC_STORE_WAKER) whenever returning
Pending(), and never hold locks across yield points.pw_kernel (if applicable): Verify no_std compliance, minimal
unsafe blocks with explicit // SAFETY: justifications, and panic-free
error propagation.Bazel + GN + CMake).cc), public header (.h), or dependency was added or
removed in BUILD.bazel, verify whether the module also maintains BUILD.gn
(and CMakeLists.txt). Missing GN parity is one of the top causes of Pigweed
CQ breakages!pw_unit_test (*_test.cc) test
case.pw::Status / pw::Result should use PW_TEST_EXPECT_OK and
PW_TEST_ASSERT_OK.PW_NC_TEST negative
compilation tests where appropriate.public/ headers must update Doxygen comments
and module .rst docs (docs skill conventions).<module>: <Imperative subject <=72 chars>, explain
the why, include Bug: b/<id> or Fixed: b/<id>, and preserve Change-Id:..agents/, AGENTS.md, GEMINI.md, or CLAUDE.md:
read docs/sphinx/style/ai_artifacts.rst in full at review time and apply
its review checklist; cite findings as
https://pigweed.dev/style/ai_artifacts.html#<anchor> (for example
#docs-pw-style-ai-artifacts-review-checklist).When running in Mode A (or Mode B from a worktree allocated with
./gh wt use review-<cl> --cl <cl> --json; never ./gh pr checkout in a
checkout you did not allocate):
bazelisk test --noshow_progress --noshow_loading_progress //<module>/..../pw format --checkReturn a structured markdown report:
PASS (zero [bug], [embedded/size], [api], [build], or
[test] findings) or NEEDS_FIXES.scope: out-of-diff observations../gh pr view <cl> --comments) so you do not
duplicate feedback already left by another reviewer.in-diff finding as a private Gerrit draft:./gh pr comment <cl> --path <file> --line <line> -m "[<tag>] <concise explanation and concrete suggestion>" --draftout-of-diff findings, if any, in one change-level draft
(./gh pr comment <cl> -m "<summary>" --draft). Never vote.--draft comments to the user, along
with the command to publish them once reviewed (./gh pr review <cl> --publish).© pigweed-project, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in .agents/skills/review of pigweed-project/pigweed.
Open the folder on GitHubat commit e73c1a0
Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Review this skillpigweed-project/pigweed | 548 | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| GitHub Review Iterationprisma/orm | 48k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Cherry Studio PR ReviewCherryHQ/cherry-studio | 53k | — | ~3.9k | Automated safety check: Pass | AGPL-3.0 | |
| PR Reviewjaemk/self_update | 961 | — | ~1.5k | Automated safety check: Notes | MIT | |
| Cursor Composer Task DelegateChachamaru127/claude-code-harness | 3.2k | — | ~4.4k | Automated safety check: Notes | MIT | |
| Local PR Reviewwindmill-labs/windmill | 18k | — | ~995 | Automated safety check: Pass | Custom licence |
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
CherryHQ/cherry-studio
Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.
jaemk/self_update
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
windmill-labs/windmill
Runs the same code review locally that GitHub's auto-review actions run on a PR, delegating to a fresh-context subagent so the review isn't biased by the main session's own reasoning.
HuangPuStar/FenixAgent
A skill your agent uses when starting an issue, bugfix, feature, or refactor that should be driven by multiple coordinated subagents: explore → plan → code → review, with the main agent acting as…
pigweed-project/pigweed
Pigweed oncall rotation runbooks and maintenance workflows (such as rolling CIPD client tools for b/315378787).
pigweed-project/pigweed
Autonomous "take the next step" workflow orchestrator for Pigweed.
pigweed-project/pigweed
A skill your agent uses for ALL documentation-related workflows: rst style guide, changelog updates, C/C++ API reference (Doxygen)
pigweed-project/pigweed
Safely rebase or fast-forward the active Pigweed worktree onto its target branch (origin/main), resolve Pigweed dual-build and code conflicts, preserve Gerrit Change-Id footers, and verify local…
pigweed-project/pigweed
Interactively "taste the CLI" and "kick the tires" on any CLI tool or subcommand (/manual-cli-test, /agent-cli-kick-tires).
pigweed-project/pigweed
Address Gerrit review comments and private author drafts on a Pigweed CL with calibrated engineering judgment—implementing valid fixes, answering questions, or pushing back respectfully with…
High-signal, embedded-aware Pigweed code review skill with strict comment calibration. Review is an agent skill from pigweed-project/pigweed. High-signal, embedded-aware Pigweed code review skill with strict comment calibration.
Review fits situations like: tasks that involve Performance reviews; tasks that involve Subagents; tasks that involve Code review.
Run `npx skills add pigweed-project/pigweed --skill review -a claude-code`. Or copy the skill folder (.agents/skills/review in pigweed-project/pigweed) into .claude/skills/review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pigweed-project/pigweed --skill review -a codex`. Or copy the skill folder (.agents/skills/review in pigweed-project/pigweed) into .agents/skills/review in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pigweed-project/pigweed --skill review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review, .gemini/skills/review, .github/skills/review and .opencode/skills/review in your project.
Going by SKILL.md and its folder, Review needs the command-line tools its instructions call (gh and git). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: pigweed.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Review: GitHub Review Iteration (prisma/orm, 48k stars), Cherry Studio PR Review (CherryHQ/cherry-studio, 53k stars), PR Review (jaemk/self_update, 961 stars) and Cursor Composer Task Delegate (Chachamaru127/claude-code-harness, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pigweed-project (a GitHub organization) maintains it in pigweed-project/pigweed, which has 548 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 10, 2026.
Source: pigweed-project/pigweed on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.