# Verification-Loop Skill in Everything-Claude-Code: A Complete Guide to Pre-PR Quality Gates

> Master the verification-loop skill in Everything-Claude-Code. This guide explains how this quality gate system automates checks for pre-PR code readiness, saving you time and ensuring top-tier code.

- Repository: [WorldFlowAI/everything-claude-code](https://github.com/WorldFlowAI/everything-claude-code)
- Tags: how-to-guide
- Published: 2026-09-07

---

**The verification-loop skill is a built-in quality-gate system that runs automated build, type, lint, test, security, and diff checks to ensure code is ready for pull request submission.**

The **verification-loop skill** in the [WorldFlowAI/everything-claude-code](https://github.com/WorldFlowAI/everything-claude-code) repository provides a structured, multi-phase audit workflow for Claude Code sessions. It catches regressions and quality issues **before** they reach code review, reducing broken commits and maintaining pipeline health.

## What the Verification-Loop Skill Does

At its core, the **verification-loop skill** is defined in [`skills/verification-loop/SKILL.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/skills/verification-loop/SKILL.md) and invoked via the `/verify` command (documented in [`commands/verify.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/commands/verify.md)). Unlike lightweight *PostToolUse* hooks that catch immediate mistakes, this skill performs a **comprehensive six-phase validation** that can be run manually or on an automated schedule.

The skill produces a structured **verification report** (lines 86-99 of [`SKILL.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/SKILL.md)) with **PASS/FAIL** status for each phase and an overall **READY** indicator for PR submission.

## The Six Verification Phases

The **verification-loop workflow** executes checks in strict sequence, with early termination on critical failures:

| Phase | Purpose | Typical Command | Failure Behavior |
|:---|:---|:---|:---|
| **1. Build Verification** | Confirm project compiles | `npm run build` or `pnpm build` | Hard stop |
| **2. Type Check** | Static type analysis | `npx tsc --noEmit` (TS) or `pyright .` (Python) | Stops on critical errors |
| **3. Lint Check** | Code style enforcement | `npm run lint` or `ruff check .` | Reports warnings/errors |
| **4. Test Suite** | Unit/integration tests with coverage | `npm run test -- --coverage` | Shows pass/fail + coverage % |
| **5. Security Scan** | Secret leakage detection | `grep -rn "sk-" …` and `grep -rn "console.log" …` | Flags accidental leaks |
| **6. Diff Review** | Unintended change detection | `git diff --stat` or `git diff HEAD~1 --name-only` | Highlights scope creep |

After all phases complete, the skill outputs a summary indicating whether the codebase meets the **≥80% coverage target** and is **READY for PR**.

## Verification-Loop Commands and Usage

The `/verify` command defined in [`commands/verify.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/commands/verify.md) supports multiple execution modes via positional arguments:

| Mode | Command | Phases Included |
|:---|:---|:---|
| **Full (default)** | `/verify` | All six phases |
| **Quick** | `/verify quick` | Build + Type check only |
| **Pre-commit** | `/verify pre-commit` | Lint + quick security scan |
| **Pre-PR** | `/verify pre-pr` | All phases + enhanced security |

### Example Invocations

```bash

# Run complete verification pipeline

claude /verify

```

```bash

# Fast feedback during development

claude /verify quick

```

```bash

# Final check before opening pull request

claude /verify pre-pr

```

### Sample Output Format

The **verification-loop skill** generates machine-parseable output:

```

VERIFICATION: PASS
Build:    OK
Types:    OK (0 errors)
Lint:     OK (2 warnings)
Tests:    124/124 passed, 92% coverage
Secrets:  OK (0 found)
Logs:    OK (0 console.logs)
Ready for PR: YES

```

## Verification-Loop Integration Points

The **verification-loop skill** connects with three system components:

- **PostToolUse Hooks** — Registered in [`hooks/hooks.json`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/hooks/hooks.json), enabling automatic triggering after specific tool invocations while maintaining distinction from the deeper `/verify` audit
- **Continuous Mode** — Configurable in [`SKILL.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/SKILL.md) to run every 15 minutes during long sessions, keeping the codebase perpetually validated
- **Command-Line Interface** — The `/verify` entry point with `$ARGUMENTS` handling for mode selection

As listed in [`WORLDFLOWAI.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/WORLDFLOWAI.md) (line 11), the **verification-loop** is classified among the repository's **core skills**, indicating its central role in the Claude Code workflow.

## Key Configuration Files

| File Path | Responsibility |
|:---|:---|
| [`skills/verification-loop/SKILL.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/skills/verification-loop/SKILL.md) | Phase definitions, output format, continuous-mode guidance |
| [`commands/verify.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/commands/verify.md) | CLI interface, argument parsing, report template structure |
| [`hooks/hooks.json`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/hooks/hooks.json) | Hook system registration for automatic invocation |
| [`WORLDFLOWAI.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/WORLDFLOWAI.md) | Core skills inventory and repository architecture docs |

## Summary

- The **verification-loop skill** is a **six-phase quality gate** (build → type → lint → test → security → diff) that validates code before PR submission
- Invoke via **`/verify`** with optional modes: `quick`, `pre-commit`, `pre-pr`
- Early termination on critical failures prevents wasted compute on broken builds
- **Continuous mode** supports ongoing validation during extended development sessions
- All configuration lives in [`skills/verification-loop/SKILL.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/skills/verification-loop/SKILL.md) with command definitions in [`commands/verify.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/commands/verify.md)

## Frequently Asked Questions

### How do I run a quick verification without the full test suite?

Use **`/verify quick`**. According to [`commands/verify.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/commands/verify.md), this mode executes only **build verification** and **type checking**—ideal for rapid iteration when you know tests will need attention later. The full test suite and security scans are skipped to minimize feedback latency.

### What happens if a security scan finds exposed secrets?

The **verification-loop skill** flags secrets via `grep` patterns for API key prefixes like `sk-` and stray `console.log` statements. These appear as **FAIL** in the security phase of your verification report. The pipeline continues (since this is informational), but `Ready for PR: NO` prevents premature submission until credentials are rotated or removed.

### Can the verification-loop run automatically instead of manually?

Yes. The skill supports **Continuous Mode** as documented in [`SKILL.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/SKILL.md), which triggers verification every 15 minutes during active sessions. Additionally, [`hooks/hooks.json`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/hooks/hooks.json) registers the **verification-loop** as hook-compatible, allowing *PostToolUse* integration that runs targeted checks after specific operations without requiring explicit `/verify` invocation.

### Does the verification-loop work for languages other than TypeScript/Python?

The phase structure is **language-agnostic**—only the specific commands change. [`SKILL.md`](https://github.com/WorldFlowAI/everything-claude-code/blob/main/SKILL.md) defines the plugin architecture so that build commands (e.g., `cargo build`, `go build`), type checkers (e.g., `mypy`, `cargo check`), and linters (e.g., `eslint`, `golangci-lint`) can be substituted while preserving the same six-phase workflow and report format.