agentsclimarketplace

Verification loop

Skill uzysjung/uzys-agent-harness/.claude/skills/verification-loop

A comprehensive verification system for Claude Code sessions. Every run ends with a fixed verdict — PASS / PASS_WITH_NITS / FAIL — plus severity-labeled findings (CRITICAL/HIGH/MEDIUM/LOW).From its SKILL.md

Install
npx -y skills add uzysjung/uzys-agent-harness --skill verification-loop

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.4 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Verification 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 — then re-verify from Phase 1 in a fresh instance. Continuing through the remaining phases yourself would make you the verifier of code you just wrote, which the Verdict Contract below forbids.

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]

Verdict:   PASS | PASS_WITH_NITS | FAIL

Findings:
| ID | Severity | Finding | Evidence (file:line / command output) |
|----|----------|---------|---------------------------------------|
| F1 | HIGH     | ...     | ...                                   |

Verdict Contract

The report ends with exactly one verdict. Free-prose closings ("looks ready", "should be fine") are banned — they leave room to bury defects. A fixed vocabulary makes the report honest and machine-checkable.

VerdictMeaningAction
PASSAll gates green, zero findings at any severityShip
PASS_WITH_NITSShip-safe: only LOW/MEDIUM findings, each recorded with a follow-upShip + log follow-ups
FAILAny gate red, or one or more CRITICAL/HIGH findingsBlock → fix → re-verify

Every finding gets exactly one severity:

  • CRITICAL — data loss, security hole, or the change misbehaves in real use if shipped
  • HIGH — main-path defect or regression; users will hit it
  • MEDIUM — edge-case or quality defect; unlikely to block real use
  • LOW — nit: style, naming, doc wording

Rules:

  • Severity is judged by impact evidence, not by how easy the fix is.
  • FAIL → fix → re-verify is one cycle. A fix alone never upgrades the verdict — the re-verification must reproduce green.
  • A run that aborts early (Phase 1 build failure) still emits a report: verdict FAIL with the failing gate as a CRITICAL finding. Stopping to fix is how you reach the next verdict, not a reason to skip issuing this one — an unreported run reads as "not run".
  • The instance that wrote the change never issues its own verdict: verification runs in a fresh instance (see the model-orchestration skill's V&V separation).

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.

What ships with it: 2 files

2.4 KB alongside SKILL.md

agents/

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.