From review-snapshot
Configure the review-snapshot hook for any project. Detects test runners, writes config, installs the hook.
How this skill is triggered — by the user, by Claude, or both
Slash command
/review-snapshot:setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Configure the review-snapshot hook for any project. Detects test runners, writes config, installs the hook.
Configure the review-snapshot hook for any project. Detects test runners, writes config, installs the hook.
The review-snapshot hook runs on every Claude Code Stop event. It generates a folder of markdown reports covering changes, tests, conversation transcript, and PR statuses. Reports are written to .claude/reviews/latest/ (overwritten each session). This skill handles one-time setup — detecting the project's test runner and writing the config that drives the hook.
Determine mode automatically based on current state:
references/detection-methodology.md.claude/reviews/config.json:
{
"sha": "<current HEAD short SHA>",
"test_command": "<detected command>",
"test_runner": "<runner name>"
}
hooks/review-snapshot.sh to .claude/hooks/.claude/settings.json (if not present):
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/review-snapshot.sh",
"timeout": 10
}]
}]
}
}
If the plugin is installed via marketplace, the hook may already be registered by the plugin system..claude/reviews/ to .gitignore (if not present)config.jsonsettings.json has the Stop hook registered.gitignore includes .claude/reviews/config.json with re-detected test runnersettings.json or .gitignoreFollow the detailed guide in references/detection-methodology.md. Summary:
File: .claude/reviews/config.json
| Field | Type | Required | Description |
|---|---|---|---|
sha | string | yes | Baseline commit SHA (short) for diff comparison |
test_command | string | no | Shell command to run tests. Omit if no tests available. |
test_runner | string | no | Runner name (e.g., "plenary", "pytest", "jest"). Omit if no tests. |
The hook writes markdown reports to .claude/reviews/latest/:
| File | Content |
|---|---|
00-summary.md | At-a-glance overview with links to other reports |
01-changes.md | Changed files list, insertions/deletions |
02-tests.md | Test runner, exit code, full output |
03-conversation.md | User/assistant dialogue from session transcript |
04-pull-requests.md | Current branch PR + recent open PRs |
After generating reports, the hook opens 00-summary.md in the running nvim instance with neo-tree revealed.
& disown) — it must not block Claude's exitgh CLI — graceful fallback if unavailablejq and CLAUDE_PROJECT_DIR — graceful fallback if unavailablenpx claudepluginhub ondrasek/nvim-agentic-devenv --plugin review-snapshotRuns a structured code review using Codex, Claude, or other engines as a closeout check before commit or ship.
Conducts tiered code reviews for security (OWASP top 10), performance, and quality on staged git changes, PRs, or files before commits or releases.
Final code review skill: runs stack-specific tests/lints (Next.js, Python, Swift, Kotlin), security checks, verifies spec.md criteria, audits hub files, issues ship/no-go verdict after /build or /deploy.