verification-loop
Comprehensive quality verification system for code changes with build, type, lint, test, and security checks
Best use case
verification-loop is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Comprehensive quality verification system for code changes with build, type, lint, test, and security checks
Teams using verification-loop should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/verification-loop/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How verification-loop Compares
| Feature / Agent | verification-loop | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Comprehensive quality verification system for code changes with build, type, lint, test, and security checks
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# Verification Loop
A comprehensive verification system for ensuring code quality across multiple dimensions.
## When to Use
Invoke this skill:
- **At task start** — to declare the verification surface *before* writing code (Phase 0)
- After completing a feature or significant code change
- Before creating a pull request
- When you want to ensure quality gates pass
- After refactoring or major modifications
- During code review preparation
## Verification Phases
### Phase 0: Declare the verification surface (BEFORE any work)
Run this *before* writing code, not after. The other phases ratify finished work; this one decides — up front — how that work will be proven, and ensures the proof comes from outside the model.
State three things before starting:
1. **The external signal.** Name the concrete command or surface that will confirm success: a `Bash` test/lint/typecheck command, an MCP browser loading the real page and reading the DOM/console, a fresh session, or a second agent. "I'll review it myself when done" is **not** a verification surface.
2. **Why it is external to the generating context.** A self-check inside the same context that produced the code can ratify the very error that context introduced. The signal must come from outside that context — a process the model cannot silently satisfy by asserting success. (Origin failure mode: a model asked to fix a wrong display edited the *underlying value* and marked the task resolved — the system failed *and reported success*. Every phase below exists to make that signature visible; this phase makes it visible **before** it spreads.)
3. **If no surface exists, building it is part of the task.** Do not proceed to implementation until the signal is wired. The verification surface is a deliverable, not an afterthought.
> Declaration stamp: `Verify-by: <command/surface> — external? Y/N — exists yet? Y/N`. If `exists yet = N`, the first build step is to create it.
This is the forward-declaration that Phases 1–6 assume. It is the FRAME-phase half of this skill; Phases 1–6 are the PROVE-phase half. (Constitutional anchor: Reliquary Rule #64(c) "govern the model, don't execute through it"; operator-invoked equivalent: `/v-govern` step 3.)
### Phase 1: Build Verification
```bash
# Check if project builds
npm run build 2>&1 | tail -20
# OR
pnpm build 2>&1 | tail -20
# OR for other build systems
make build 2>&1 | tail -20
cargo build 2>&1 | tail -20
```
**Critical**: If build fails, STOP and fix before continuing.
### Phase 2: Type Check
```bash
# TypeScript projects
npx tsc --noEmit 2>&1 | head -30
# Python projects
pyright . 2>&1 | head -30
mypy . 2>&1 | head -30
# Go projects
go vet ./... 2>&1 | head -30
```
Report all type errors. Fix critical ones before continuing.
### Phase 3: Lint Check
```bash
# JavaScript/TypeScript
npm run lint 2>&1 | head -30
eslint . 2>&1 | head -30
# Python
ruff check . 2>&1 | head-30
flake8 . 2>&1 | head -30
# Go
golint ./... 2>&1 | head -30
# Rust
cargo clippy 2>&1 | head -30
```
### Phase 4: Test Suite
```bash
# Run tests with coverage
npm run test -- --coverage 2>&1 | tail -50
pytest --cov=. 2>&1 | tail -50
go test -cover ./... 2>&1 | tail -50
# Check coverage threshold
# Target: 80% minimum for new code
```
Report:
- Total tests: X
- Passed: X
- Failed: X
- Coverage: X%
- New files covered: X%
### Phase 5: Security Scan
```bash
# Check for secrets
grep -rn "sk-" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
grep -rn "api_key" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
grep -rn "password.*=" --include="*.ts" --include="*.js" --include="*.py" . 2>/dev/null | head -10
# Check for debug statements
grep -rn "console.log" --include="*.ts" --include="*.tsx" --include="*.js" src/ 2>/dev/null | head -10
grep -rn "print(" --include="*.py" . 2>/dev/null | head -10
grep -rn "println!" --include="*.rs" src/ 2>/dev/null | head -10
```
### Phase 6: Diff Review
```bash
# Show what changed
git diff --stat
git diff HEAD~1 --name-only
git diff --shortstat
```
Review each changed file for:
- Unintended changes or modifications
- Missing error handling
- Potential edge cases
- Documentation updates needed
## 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, +Y lines, -Z lines]
Overall: [✓ READY / ✗ NOT READY] for PR
Issues to Fix:
1. [Priority] Description
2. [Optional] Description
...
Recommendations:
- Suggestion 1
- Suggestion 2
```
## Continuous Mode
For long sessions, run verification every 15 minutes or after major changes:
**Checkpoints:**
- After completing each function
- After finishing a component
- Before moving to next task
- After resolving merge conflicts
## Integration Points
This skill complements:
- **testing-patterns**: For test design
- **deployment-cicd**: For CI pipeline preparation
- **github-repository-standards**: For PR preparation
- **security-threat-modeler**: For security review
## Quick Verification
For rapid checks during development:
```bash
# Minimal verification (30 seconds)
npm run build && npm run lint && npm test
```
Use full verification before commits.
---
## Related Skills
### Complementary Skills (Use Together)
- **[testing-patterns](../testing-patterns/)** - Comprehensive testing approaches for the test verification phase
- **[tdd-workflow](../tdd-workflow/)** - Test-driven development that produces code ready for verification
- **[deployment-cicd](../deployment-cicd/)** - CI pipelines that automate the verification loop
### Alternative Skills (Similar Purpose)
- None - verification-loop is a quality gate process, not an alternative to other practices
### Prerequisite Skills (Learn First)
- **[testing-patterns](../testing-patterns/)** - Understanding testing helps interpret verification resultsRelated Skills
taxonomy-modeling-design
Phase 2 of the pentaphase structural-overhaul protocol. Classifies entities, standardizes attributes, establishes relationships, and designs the access framework. Use when the user invokes phase 2 of an overhaul, asks to "design the taxonomy" or "model the structure", or has completed a landscape audit and is ready to redesign. Consumes phase-1-landscape-report.md; produces phase-2-taxonomy-model.md.
systemic-ingestion-normalization
Phase 4 of the pentaphase structural-overhaul protocol. Purges redundancies, enriches and aligns legacy entities to the new schema, executes phased ingestion into the new environment, and audits integrity. Use when the user invokes phase 4 of an overhaul, asks to "migrate the data" or "ingest into the new system", or has a configured environment ready to accept legacy entities. Consumes phase-3-environment-spec.md; produces phase-4-ingestion-report.md.
system-environment-configuration
Phase 3 of the pentaphase structural-overhaul protocol. Translates the taxonomy model into objective technical criteria, evaluates candidate mechanisms or frameworks, instantiates the chosen architecture, and programs validation rules. Use when the user invokes phase 3 of an overhaul, asks to "select a system" or "configure the environment", or has a taxonomy model and is ready to choose technology. Consumes phase-2-taxonomy-model.md; produces phase-3-environment-spec.md.
pentaphase-orchestrator
Threads the full five-phase structural-overhaul protocol — landscape discovery, taxonomy design, environment configuration, systemic ingestion, governance evolution — for any substrate the user names. Use when the user requests a structural overhaul, system redesign, or end-to-end restructuring of a documentation system, asset registry, code monorepo, knowledge base, or operational workflow; or when they explicitly invoke the pentaphase methodology. Coordinates handoffs between phase-skills and seats validation gates between phases.
landscape-discovery-audit
Phase 1 of the pentaphase structural-overhaul protocol. Inventories assets, maps current flow, identifies friction, and defines value metrics for any substrate. Use when the user invokes phase 1 of an overhaul, requests a baseline audit, asks to "discover the landscape" of a system, or wants to understand current state before redesigning. Produces phase-1-landscape-report.md.
governance-evolution-protocol
Phase 5 of the pentaphase structural-overhaul protocol. Codifies operational protocols, onboards the ecosystem of participants, programs behavior monitoring, and establishes an iteration cadence so the substrate evolves rather than calcifies. Use when the user invokes phase 5 of an overhaul, asks to "establish governance" or "lock in the protocols", or has completed ingestion and is ready to declare the substrate operational. Consumes phase-4-ingestion-report.md; produces phase-5-governance-charter.md, which closes the protocol.
dimension-surfacing
Surfaces the parallel domain dimensions implicit in a dense or minimal prompt. Use when a user prompt is small on the surface but plainly implies multiple independent domains needing different expertise; when explicitly invoked by the coliseum-orchestrator skill as Phase 1; or when the user asks "what dimensions does this prompt encode" or "what axes does this break into." Produces a named dimension set where each dimension is independently executable and not a paraphrase of another.
coliseum-dispatch
Dispatches a composed set of assignment envelopes to domain-expert subagents in parallel, in a single message with multiple Agent tool calls. Enforces the no-pingpong gate via the pingpong-detector agent before any dispatch fires. Use when invoked by the coliseum-orchestrator as Phase 3; when envelopes are already composed and the next step is parallel execution; or when the user asks to "fan out" or "dispatch in parallel." Produces a dispatch log capturing what was sent, when, and where returns land.
assignment-composition
Wraps each surfaced dimension as a self-contained 9-section autonomous-work-assignment envelope — scope, context, success criteria, allowed tools, return format, handoff — all the recipient subagent needs to execute without coming back. Use when invoked by coliseum-orchestrator as Phase 2; when dimensions are named and the next step is to make each independently dispatchable; or when the user asks "compose this as an assignment." The no-pingpong gate validates each envelope before dispatch.
workspace-autopsy-governance
Conducts a full automated autopsy of the current workspace directory to map files, identifies structural issues, proposes a restructuring plan (the signal), and establishes unified governance using templates. Use this skill when a user asks to map, restructure, reorganize, or apply new governance to an existing messy repository.
workshop-presentation-design
Design engaging workshops, conference talks, and educational presentations. Covers learning objectives, activity design, slide craft, and facilitation techniques. Triggers on workshop design, presentation prep, talk structure, or training session requests.
webhook-integration-patterns
Designs reliable webhook systems with proper delivery guarantees, retry logic, signature verification, and idempotent processing for event-driven integrations.