git_review

git_review is a skill for Claude Code from theafh/ai-modules. It costs 207 tokens per session (7,532 once invoked), scanned A, original, MIT.

A review workflow for changes in Git, the version-control system used to track code. It separates whether a change is suitable for approval from whether the branch can be merged cleanly with the target branch.

In plain words
What is it for?
Use it to review a pull request, branch, or working tree, inspect every changed line, check repository rules, test mergeability, and report two separate verdicts.
Why use it?
It prevents code quality, merge conflicts, branch history, and continuous-integration status from being treated as one question.

Skill for Claude Code

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

Part of the ai_dev plugin — 26 skills, 9 agents, 1 hook shipped together

Good fit Use it to review a pull request, branch, or working tree, inspect every changed line, check repository rules, test mergeability, and report two separate verdicts.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/theafh/ai-modules/git_review
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 theafh/ai-modules --skill git_review
Clone the repo
git clone --depth 1 https://github.com/theafh/ai-modules

Made for: Claude Code.

Or install ai_dev, the plugin that ships this one along with the rest of its 26 skills, 9 agents, 1 hook.

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 git_review

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

Your own site · 80×15
<a href="https://agentmods.dev/skills/theafh/ai-modules/git_review"><img src="https://agentmods.dev/badge/skills/theafh/ai-modules/git_review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 207 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 7,532 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 warn 7 Sept 2026
SkillSpector: 1 finding, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Excessive Agency · line 126
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00207 $0.07532
Opus 5.5 $0.00083 $0.03013
Sonnet 5.5 $0.00041 $0.01506
Haiku 4.5 $0.00021 $0.00753

Measured today against content hash d2da219a33bf, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

git_review 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 today.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/collect_review_evidence.sh, scripts/extract_heading_range.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

plugins/ai_dev/skills/git_review/SKILL.md · 189 lines

How it starts

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

git_review

<git_review_skill> Produce one review report for the changes the user pointed at, opening with the reviewed commit and a verdict on approvability in general and closing with a yes or no on structural mergeability, so the user can decide whether the change goes in. <command_intent>resolve the target, pin the reviewed commit, collect the git and forge evidence into a scratch directory, read every changed line, judge each finding against the criteria the repository declares, and report under the fixed headings</command_intent>

<two_verdicts> <approvable_in_general>Judge substance: what the change does, what it breaks, what it leaves undone. This verdict answers whether a reviewer could sign the change off.</approvable_in_general> <structurally_mergeable>Judge the branch's own properties: a conflict-free test merge against the base, the ahead and behind counts, and the status of the continuous-integration checks. This verdict answers whether git and the forge would take the merge.</structurally_mergeable> <policy_is_context>Report required approvals, review decisions, and other branch-protection policy as context beside the closing answer rather than inside it. The user is producing the very review such a policy waits for, so a missing approval leaves the structural answer untouched.</policy_is_context> </two_verdicts>

<path_resolution> Bundled scripts live in scripts/ next to this SKILL.md. Resolve each script's absolute path by combining the directory of this SKILL.md with scripts/<script-name> and invoke the absolute path. If the first invocation reports a missing file, re-resolve the absolute path once before treating the script as failed. Open references/manual_fallback.md only after a script exits non-zero for a missing-file or environment reason after that retry. </path_resolution>

<primary_workflow> <resolve_target> <accepted_forms>Accept a pull request URL or number, a bare branch name, the remote-qualified <remote>/<branch> form, or nothing at all.</accepted_forms> <no_argument>With nothing given, review the checked-out branch against the repository's default branch. When the checked-out branch is the default branch itself, review the uncommitted changes, meaning the staged, the unstaged, and the untracked ones, together with the local commits ahead of the upstream, and report those two lanes under separate labels.</no_argument> <pull_request>Resolve a pull request to its head and base branches through <forge_layer>.</pull_request> <branch_the_user_wants_checked_out>Hand the switch to the git_checkout sibling when the user names a branch that is not checked out and asks to be put onto it. When that sibling surfaces a dirty-worktree block, leave HEAD where it is, name the blocking paths it reported, and finish the review from the remote-tracking ref inside the detached scratch worktree <pin_commit> already uses.</branch_the_user_wants_checked_out> <branch_for_review_only>Read the branch from its remote-tracking ref and leave HEAD where it is when the user asks only for the review.</branch_for_review_only> <base_branch>Take the base from the pull request when there is one, and otherwise detect the default branch from the remote HEAD the way git_refresh does, so no branch name is hardcoded.</base_branch> </resolve_target>

<pin_commit>
  <fetch_first>Fetch the base and head refs before any diff runs. A stale local base inflates the diff and a stale local head reviews the wrong code.</fetch_first>
  <compare_heads>Compare the checked-out `HEAD` with the remote head, and for a pull request with the forge's head commit as well. Read `head_sync.txt` from the collected evidence for the git side of that comparison: its `head_vs_upstream` line reports `in sync`, `behind N`, `ahead N`, or `diverged`, and a pull request adds `headRefOid` from `<forge_layer>`. When those heads differ, name both SHAs in the report lead — the checked-out `HEAD` as the run found it before any fast-forward, and the head the report reviews — even when `<fast_forward_when_clean>` then advances the checkout. Review the forge head.</compare_heads>
  <fast_forward_when_clean>Fast-forward `HEAD` and say so when it is behind on a clean tree. A `head_vs_upstream` of `behind N` on a clean worktree is exactly that case, so act on it rather than reviewing the stale local commit.</fast_forward_when_clean>
  <scratch_worktree>Review the remote ref from a detached scratch worktree, and remove that worktree when the run ends, whenever the tree is dirty, the local branch has diverged, or a repository hook refuses the checkout. Run every command that needs files inside that worktree.</scratch_worktree>
  <hook_refusal_is_a_finding>Report a hook that refuses the checkout as a finding and review from the scratch worktree. Leave the hook in force rather than bypassing it.</hook_refusal_is_a_finding>
  <leave_the_tree_alone>Use no stash, reset, or checkout-discard on the user's tree on any path. Reproducing a defect under `<reproduce>` counts here too: run the code from a copy outside the repository, and suppress the byproducts a run leaves behind, such as compiled bytecode, caches, and build output, so the tree the report calls clean actually is. Reach for the interpreter's own switch where there is one, such as `python3 -B` or `PYTHONDONTWRITEBYTECODE=1`, then read `git status --porcelain --untracked-files=all` once the reproduction has run and remove whatever the run itself created.</leave_the_tree_alone>
  <anchor_the_report>Open the report with the reviewed commit and the tree state the run left behind, so a later delta run has its anchor.</anchor_the_report>
</pin_commit>

Read the full file on GitHub · 189 lines

Files

What ships with it

5 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. today Changed · -5 tokens per session d2da219a33bf
  2. 5d ago Changed 64b46a01a5df
  3. 7d ago Changed da626663dcdd
  4. 10d ago Changed c4326dbe4a0d
  5. 20d ago Changed 8a5551a69a5d
  6. 25d ago Changed · -1 lines dc4ce5d43f5c
  7. 26d ago Changed a5375df1c731
  8. 1mo ago Changed · +8 lines 9d31b29e4667
  9. 1mo ago Changed · -88 tokens per session f01469f47ec8
  10. 1mo ago First seen · 182 lines · 300 tokens per session scan A 11ac16c7019c

Subscribe to this mod's changes

git_review is a skill published in the GitHub repository theafh/ai-modules (38 stars, last pushed today), licensed MIT. It adds 207 tokens to every session and 7,532 once invoked, about $0.0008 per session on Opus 5.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-09-05.

Related

Other skills, from other repositories

pr

Draft a PR body from OMC's paper trail — the smallest visual that proves the change, evidence consumed from the verify protocol (never re-collected), reversibility from the ADR test on the diff, glossary language throughout.

Yeachan-Heo/oh-my-claudecode · 47 tokens

merge-batch

Prepare and merge an owner-selected PR batch with contributor credit and exact-candidate admission. Use for a pasted PR list; combined focused validation is diagnostic, and every actual landing still requires its applicable checks and authorization.

diegosouzapw/OmniRoute · 46 tokens

otto-pr-review-loop

Run Polly and OCR on a PR until all findings settle.

omnigent-ai/omnigent · 17 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

github-contributor

A step-by-step guide for contributing code, tests, documentation, or build changes to open-source projects you do not maintain. It explains how to prepare a pull request that follows the project’s rules and is easier for maintainers to review.

daymade/claude-code-skills · 105 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