| name | verification-loop |
| description | Comprehensive multi-phase verification system. Use after completing a feature, before creating a PR, when ensuring quality gates pass, or after refactoring. |
| phase | verify |
| domains | ["testing","evaluation","release"] |
| stacks | ["any"] |
| allowed_agents | ["lead","developer","reviewer","evaluator"] |
| surfaces | ["quality-gates","pre-pr-checks"] |
| skill_source | external |
| origin | affaan-m/ecc |
| status | active |
Verification Loop
A comprehensive verification system that runs multi-phase quality gates before closing any non-trivial implementation.
When to Use
- After completing a feature or significant code change
- Before creating a PR
- When you want to ensure quality gates pass
- After refactoring
- When the handoff requires explicit validation evidence
Verification Phases
Phase 1: Build Verification
npm run build 2>&1 | tail -20
pnpm build 2>&1 | tail -20
If build fails, STOP and fix before continuing.
Phase 2: Type Check
npx tsc --noEmit 2>&1 | head -30
pyright . 2>&1 | head -30
Report all type errors. Fix critical ones before continuing.
Phase 3: Lint Check
npm run lint 2>&1 | head -30
ruff check . 2>&1 | head -30
Phase 4: Test Suite
npm run test -- --coverage 2>&1 | tail -50
Report:
- Total tests: X
- Passed: X
- Failed: X
- Coverage: X%
Phase 5: Security Scan
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
grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
Phase 6: Diff Review
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
Integration with OpenCode Harness
This skill complements the Verification Envelope in the developer contract:
- Verification Loop runs the actual quality gates (build, type, lint, test, security, diff)
- Verification Envelope documents the results for the next agent or reviewer
- Use both: run the loop, then report in the envelope
Verification
After applying verification-loop: