Enables interactive git diff reviews: generates clean diffs for editor annotations, applies Claude fixes based on feedback, loops until approved.
From reviewnpx claudepluginhub umputun/cc-thingz --plugin reviewThis skill is limited to using the following tools:
scripts/git-review.pyGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Orchestrates subagents to execute phased plans: deploys for implementation, verification, anti-pattern checks, code quality review, and commits only after passing checks.
Interactive annotation-based code review using editor overlays.
$EDITOR via tmux popup, kitty overlay, or wezterm split-pane${CLAUDE_PLUGIN_ROOT}/skills/git-review/scripts/git-review.py [base_ref]
HEAD~3)If the script produces output (stdout), the user made annotations. The output is a git diff showing what the user added/changed in the review file.
Read the diff carefully:
Each annotation is in context — the surrounding === file headers and diff content
show which file and code area the annotation refers to.
Enter plan mode (EnterPlanMode) to analyze annotations and design the fix approach:
After plan approval, fix the actual source code in the real repository. Each annotation is a directive — treat it as a code review comment that must be addressed.
After fixing code, run the script again. It regenerates a fresh diff reflecting the fixes and opens the editor. The user can:
When the script produces no output, the review is complete. Inform the user.
| Argument | Description |
|---|---|
| (none) | auto-detect: uncommitted changes if present, otherwise branch vs default branch |
<ref> | diff against specific ref: master, main, HEAD~5, v1.2.0, etc. |
--clean | remove the review tracking repo from /tmp |
--test | run embedded unit tests |
User: "review my changes"
→ run: git-review.py
→ editor opens with cleaned diff
→ user adds "this should validate input" next to a handler
→ user closes editor
→ stdout shows the annotation
→ enter plan mode: "annotation requests input validation in handler.go, plan: add validate() call"
→ user approves plan
→ Claude adds input validation to the handler
→ run: git-review.py (again)
→ editor opens with updated diff (validation now visible)
→ user closes without changes
→ no stdout → review complete
→ "review complete, all annotations addressed"
$EDITOR set (defaults to micro)allow_remote_control yes and listen_on unix:/tmp/kitty-$KITTY_PID