Mandatory verification steps for all code reviews to reduce false positives. Load this skill before reporting ANY code review findings.
View on GitHubskills/review-verification-protocol/SKILL.md
February 1, 2026
Select agents to install to:
npx add-skill https://github.com/existential-birds/beagle/blob/main/skills/review-verification-protocol/SKILL.md -a claude-code --skill review-verification-protocolInstallation paths:
.claude/skills/review-verification-protocol/# Review Verification Protocol This protocol MUST be followed before reporting any code review finding. Skipping these steps leads to false positives that waste developer time and erode trust in reviews. ## Pre-Report Verification Checklist Before flagging ANY issue, verify: - [ ] **I read the actual code** - Not just the diff context, but the full function/class - [ ] **I searched for usages** - Before claiming "unused", searched all references - [ ] **I checked surrounding code** - The issue may be handled elsewhere (guards, earlier checks) - [ ] **I verified syntax against current docs** - Framework syntax evolves (Tailwind v4, TS 5.x, React 19) - [ ] **I distinguished "wrong" from "different style"** - Both approaches may be valid - [ ] **I considered intentional design** - Checked comments, CLAUDE.md, architectural context ## Verification by Issue Type ### "Unused Variable/Function" **Before flagging**, you MUST: 1. Search for ALL references in the codebase (grep/find) 2. Check if it's exported and used by external consumers 3. Check if it's used via reflection, decorators, or dynamic dispatch 4. Verify it's not a callback passed to a framework **Common false positives:** - State setters in React (may trigger re-renders even if value appears unused) - Variables used in templates/JSX - Exports used by consuming packages ### "Missing Validation/Error Handling" **Before flagging**, you MUST: 1. Check if validation exists at a higher level (caller, middleware, route handler) 2. Check if the framework provides validation (Pydantic, Zod, TypeScript) 3. Verify the "missing" check isn't present in a different form **Common false positives:** - Framework already validates (FastAPI + Pydantic, React Hook Form) - Parent component validates before passing props - Error boundary catches at higher level ### "Type Assertion/Unsafe Cast" **Before flagging**, you MUST: 1. Confirm it's actually an assertion, not an annotation 2. Check if the type is narrowed by runt