nousresearch/hermes-agent/requesting-code-review
Claude Code and agent skill by nousresearch/hermes-agent
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Pre-commit review: security scan, quality gates, auto-fix.
Install
npx vskill@latest install nousresearch/hermes-agent/requesting-code-reviewSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Pre-Commit Code Verification
Automated verification pipeline before code lands. Static scans, baseline-aware quality gates, an independent reviewer subagent, and an auto-fix loop.
Core principle: No agent should verify its own work. Fresh context finds what you miss.
When to Use
- After implementing a feature or bug fix, before
git commitorgit push - When user says "commit", "push", "ship", "done", "verify", or "review before merge"
- After completing a task with 2+ file edits in a git repo
- After each task in subagent-driven-development (the two-stage review)
Skip for: documentation-only changes, pure config tweaks, or when user says "skip verification".
This skill vs github: This skill verifies YOUR changes before committing. github reviews OTHER people's PRs on GitHub with inline comments.
Step 1 — Get the diff
If empty, try git diff then git diff HEAD~1 HEAD.
If git diff --cached is empty but git diff shows changes, tell the user to git add <files> first. If still empty, run git status — nothing to verify.
If the diff exceeds 15,000 characters, split by file:
Step 2 — Static security scan
Scan added lines only. Any match is a security concern fed into Step 5.
Step 3 — Baseline tests and linting
Detect the project language and run the appropriate tools. Capture the failure count BEFORE your changes as baseline_failures (stash changes, run, pop). Only NEW failures introduced by your changes block the commit.
Test frameworks (auto-detect by project files):
Linting and type checking (run only if installed):
Baseline comparison: If baseline was clean and your changes introduce failures, that's a regression. If baseline already had failures, only count NEW ones.
Step 4 — Self-review checklist
Quick scan before dispatching the reviewer:
- [ ] No hardcoded secrets, API keys, or credentials
- [ ] Input validation on user-provided data
- [ ] SQL queries use parameterized statements
- [ ] File operations validate paths (no traversal)
- [ ] External calls have error handling (try/catch)
- [ ] No debug print/console.log left behind
- [ ] No commented-out code
- [ ] New code has tests (if test suite exists)
Step 5 — Independent reviewer subagent
Interactive sessions only. In a one-shot run (hermes chat -q, --oneshot, a benchmark harness) there is no one to hand the verdict to and a fresh subagent re-pays the whole system prompt plus a repo re-read: skip Steps 5 and 7, apply the Step 4 checklist to the diff yourself, run the tests, and go to Step 8.
Call delegate_task directly — it is NOT available inside execute_code or scripts.
The reviewer gets ONLY the diff and static scan results. No shared context with the implementer. Fail-closed: unparseable response = fail.
Step 6 — Evaluate results
Combine results from Steps 2, 3, and 5.
All passed: Proceed to Step 8 (commit).
Any failures: Report what failed, then proceed to Step 7 (auto-fix).
Step 7 — Auto-fix loop
Maximum 2 fix-and-reverify cycles. Interactive sessions only (see Step 5).
Spawn a THIRD agent context — not you (the implementer), not the reviewer. It fixes ONLY the reported issues:
After the fix agent completes, re-run Steps 1-6 (full verification cycle).
- Passed: proceed to Step 8
- Failed and attempts < 2: repeat Step 7
- Failed after 2 attempts: escalate to user with the remaining issues and
suggest git stash or git reset to undo
Step 8 — Commit
If verification passed:
The [verified] prefix indicates an independent reviewer approved this change.
Reference: Common Patterns to Flag
Python
JavaScript
Integration with Other Skills
subagent-driven-development: Run this after EACH task as the quality gate. The two-stage review (spec compliance + code quality) uses this pipeline.
test-driven-development: This pipeline verifies TDD discipline was followed — tests exist, tests pass, no regressions.
plan: Validates implementation matches the plan requirements.
Pitfalls
- Empty diff — check
git status, tell user nothing to verify - Not a git repo — skip and tell user
- Large diff (>15k chars) — split by file, review each separately
- delegate_task returns non-JSON — retry once with stricter prompt, then treat as FAIL
- False positives — if reviewer flags something intentional, note it in fix prompt
- No test framework found — skip regression check, reviewer verdict still runs
- Lint tools not installed — skip that check silently, don't fail
- Auto-fix introduces new issues — counts as a new failure, cycle continues
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/software-development/requesting-code-review/SKILL.md
Popularity
- Repository stars
- 195,697
- Repository forks
- 34,381
- 7-day trend score
- 61
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nousresearch/hermes-agent/requesting-code-review)