brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Produce a plain-English review of the files you just edited and gate the changes behind an explicit Approve/Undo choice. Use when the Stop hook from the human-review-skill plugin asks for a review (you'll see a prompt referencing an edit log), OR when the developer's most recent
Claude Code
$ npx -y skills add IrtezaAsadRizvi/claude-human-review --skill human-review --agent claude-code
Codex
$ npx skills add IrtezaAsadRizvi/claude-human-review --skill human-review -a codex -y
Cursor
$ npx skills add IrtezaAsadRizvi/claude-human-review --skill human-review -a cursor -y
Gemini CLI
$ npx skills add IrtezaAsadRizvi/claude-human-review --skill human-review -a gemini-cli -y
GitHub Copilot
$ npx skills add IrtezaAsadRizvi/claude-human-review --skill human-review -a github-copilot -y
OpenCode
$ npx skills add IrtezaAsadRizvi/claude-human-review --skill human-review -a opencode -y
Windsurf
$ npx skills add IrtezaAsadRizvi/claude-human-review --skill human-review -a windsurf -y
name: human-review description: Produce a plain-English review of the files you just edited and gate the changes behind an explicit Approve/Undo choice. Use when the Stop hook from the human-review-skill plugin asks for a review (you'll see a prompt referencing an edit log), OR when the developer's most recent message is "1", "2", "approve", or "undo" in reply to a previous review.
Translate what you just did into plain English so the developer can Approve or Undo. Be brief. Every extra sentence costs tokens.
Exactly two situations:
1. **Review trigger.** The Stop hook injected a prompt telling you to invoke `human-review`. The prompt includes a path to `edit_log.jsonl` and a `session_id`. You must produce a review before stopping. 2. **Reply handling.** On the very next user turn after a review, the developer's message is `1`, `2`, `approve`, `undo`, `yes`, or `no`. Run the matching script and nothing else.
Otherwise, don't invoke this skill.
Before writing the review, add brief doc comments to new or materially-changed **classes, functions, methods, exported symbols, and non-obvious config blocks** in the files listed in `edit_log.jsonl`. The goal is a glanceable note, not prose.
| Language | Style | | -------------------------------- | ------------------------------------- | | TypeScript / JavaScript | JSDoc `/** ... */` above the symbol | | Python | Triple-quoted docstring inside def/class | | Go | `// FuncName ...` line above | | Rust | `/// ...` lines above | | Java / Kotlin / PHP / C# | JavaDoc-style `/** ... */` | | Ruby | `#` lines above | | Shell / YAML / TOML / Dockerfile | `#` line above the block |
If a file has nothing worth documenting under these rules, skip it. Don't force comments.
Read `edit_log.jsonl` for the file list. Produce exactly this structure:
## Review: what I just did **What changed** - `path/to/file1.py`: <≤12 words on the edit> - `path/to/file2.ts`: <≤12 words on the edit> **Why** <1 sentence. Only add a second if a non-obvious assumption needs flagging.> **Worth a second look** - <one line per real risk: new dep, secret/config, deletion, auth/crypto, SQL, shell exec, network, migration, unsnapshotted file> --- **1. Approve**: accept these changes. **2. Undo**: revert all files this turn.
## Review: what I just did **What changed** - `src/auth/session.py`: session cookie SameSite=Lax → Strict, added Secure flag. - `tests/test_auth.py`: two cases for the new flags; fixture expects `secure=True`. **Why** Read "tighten cookie handling" as CSRF hardening. Strict will break cross-site embeds; I assumed you have none. **Worth a second look** - Strict breaks OAuth redirects landing on your domain. - Secure drops cookies on plain-HTTP localhost dev. --- **1. Approve**: accept these changes. **2. Undo**: revert all files this turn.
On the turn *after* a review, match the message (case-insensitive, trimmed):
| Reply | Do | | --------------------- | ------------------------------------------------------------------------------------------------------------------ | | `1`, `approve`, `yes` | Run `bash ${CLAUDE_PLUGIN_ROOT}/scripts/approve.sh <session_id>`. Reply once: "Approved." | | `2`, `undo`, `no` | Run `bash ${CLAUDE_PLUGIN_ROOT}/scripts/undo.sh <session_id>`. Paste the script output. Surface any warnings. | | Anything else | Treat as a new prompt. Don't run either script. The next edit auto-clears prior review state (implicit approve). |
Use the exact `<session_id>` from the Stop hook prompt. `${CLAUDE_PLUGIN_ROOT}` is set by Claude Code.
A plugin that helps you actually understand the code Claude Code writes for you.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.