verification-loop
Scannednpx machina-cli add skill affaan-m/everything-claude-code/verification-loop --openclawVerification Loop Skill
A comprehensive verification system for Claude Code sessions.
When to Use
Invoke this skill:
- After completing a feature or significant code change
- Before creating a PR
- When you want to ensure quality gates pass
- After refactoring
Verification Phases
Phase 1: Build Verification
# Check if project builds
npm run build 2>&1 | tail -20
# OR
pnpm build 2>&1 | tail -20
If build fails, STOP and fix before continuing.
Phase 2: Type Check
# TypeScript projects
npx tsc --noEmit 2>&1 | head -30
# Python projects
pyright . 2>&1 | head -30
Report all type errors. Fix critical ones before continuing.
Phase 3: Lint Check
# JavaScript/TypeScript
npm run lint 2>&1 | head -30
# Python
ruff check . 2>&1 | head -30
Phase 4: Test Suite
# Run tests with coverage
npm run test -- --coverage 2>&1 | tail -50
# Check coverage threshold
# Target: 80% minimum
Report:
- Total tests: X
- Passed: X
- Failed: X
- Coverage: X%
Phase 5: Security Scan
# Check for secrets
grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
# Check for console.log
grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
Phase 6: Diff Review
# Show what changed
git diff --stat
git diff HEAD~1 --name-only
Review each changed file for:
- Unintended changes
- Missing error handling
- Potential edge cases
Output Format
After running all phases, produce a verification report:
VERIFICATION REPORT
==================
Build: [PASS/FAIL]
Types: [PASS/FAIL] (X errors)
Lint: [PASS/FAIL] (X warnings)
Tests: [PASS/FAIL] (X/Y passed, Z% coverage)
Security: [PASS/FAIL] (X issues)
Diff: [X files changed]
Overall: [READY/NOT READY] for PR
Issues to Fix:
1. ...
2. ...
Continuous Mode
For long sessions, run verification every 15 minutes or after major changes:
Set a mental checkpoint:
- After completing each function
- After finishing a component
- Before moving to next task
Run: /verify
Integration with Hooks
This skill complements PostToolUse hooks but provides deeper verification. Hooks catch issues immediately; this skill provides comprehensive review.
Source
git clone https://github.com/affaan-m/everything-claude-code/blob/main/.agents/skills/verification-loop/SKILL.mdView on GitHub Overview
The verification-loop guides you through six automated checks that must pass before a PR. It covers build, type safety, lint, tests with coverage, security scans, and diff review. This reduces regressions and guarantees baseline quality for Claude Code sessions.
How This Skill Works
Technically, it runs six sequential phases; for each phase it executes project-specific commands and halts on failures. It aggregates results into a VERIFICATION REPORT showing Build, Types, Lint, Tests, Security, Diff, and Overall readiness.
When to Use It
- After completing a feature or significant code change
- Before creating a PR
- When you want to ensure quality gates pass
- After refactoring
Quick Start
- Step 1: Run Build, Type Check, Lint, Test, Security, and Diff Review in order using the commands shown in the skill docs.
- Step 2: Inspect the VERIFICATION REPORT, note any FAILs, and fix issues.
- Step 3: If all phases PASS and coverage meets the target, proceed to open the PR.
Best Practices
- Run all six phases in order after major changes
- Fix critical build or type errors before proceeding
- Keep phase commands aligned with your project setup (npm/pnpm, tsc or pyright, ruff)
- Enforce a minimum test coverage target and review the report
- Review diffs for unintended changes and edge cases
Example Use Cases
- After finishing a feature, run verification-loop before PR
- Before opening a PR to gate changes
- After refactoring to catch regressions
- When updating dependencies or introducing new paths
- After adding tests to confirm coverage and identify gaps