NEW Browse AI tools across categories — updated daily. See what's new →

Verification Loop

Full verify cycle: build → typecheck → lint → test before completion.

AuthorOMARVII
Version1.0.0
LicenseMIT
Token count~865
UpdatedJun 5, 2026

Install

Quick install

via npx skills · works with 57+ agents
npx skills add https://github.com/OMARVII/claude-alloy
Or pick agent:
npx skills add OMARVII/claude-alloy --agent claude-code
npx skills add OMARVII/claude-alloy --agent cursor
npx skills add OMARVII/claude-alloy --agent codex
npx skills add OMARVII/claude-alloy --agent opencode
npx skills add OMARVII/claude-alloy --agent github-copilot
npx skills add OMARVII/claude-alloy --agent windsurf
More install options

Shorthand — useful for multi-skill repos:

npx skills add OMARVII/claude-alloy

Manual — clone the repo and drop the folder into your agent's skills directory:

git clone https://github.com/OMARVII/claude-alloy.git
cp -r claude-alloy ~/.claude/skills/
How to use: Once installed, ask your agent to "use the Verification Loop skill" or describe what you want (e.g. "Full verify cycle: build → typecheck → lint → test before completion"). Requires Node.js 18+.

Verification Loop

Full verify cycle: build → typecheck → lint → test before completion.

---
name: verification-loop
description: "Full verify cycle: build → typecheck → lint → test before completion."
allowed-tools: Bash, Read, Grep, Glob, Edit
---

You are running a verification loop. The goal is to PROVE the code works — not assume it does.

The Loop

Run these in order. If any step fails, FIX IT before moving to the next.

Step 1: Build

# Detect build system and run it
if [ -f "package.json" ]; then
    npm run build 2>&1
elif [ -f "Cargo.toml" ]; then
    cargo build 2>&1
elif [ -f "go.mod" ]; then
    go build ./... 2>&1
elif [ -f "pyproject.toml" ] || [ -f "setup.py" ]; then
    pip install -e . 2>&1
fi

Pass criteria: Exit code 0, zero errors.
If it fails: Fix the build error. Do NOT proceed to tests with a broken build.

Step 2: Type Check

# TypeScript
npx tsc --noEmit 2>&1

# Python (if mypy/pyright configured)
mypy . 2>&1 || pyright 2>&1

# Go (built into build step)
# Rust (built into build step)

Pass criteria: Zero type errors.
If it fails: Fix type errors. These are real bugs, not lint warnings.

Step 3: Lint

# Detect linter and run it
if [ -f ".eslintrc*" ] || grep -q "eslint" package.json 2>/dev/null; then
    npx eslint . 2>&1
fi
if [ -f "biome.json" ]; then
    npx biome check . 2>&1
fi
if [ -f ".flake8" ] || [ -f "pyproject.toml" ]; then
    ruff check . 2>&1 || flake8 . 2>&1
fi
if [ -f ".golangci.yml" ]; then
    golangci-lint run 2>&1
fi

Pass criteria: Zero lint errors (warnings are acceptable).
If it fails: Fix lint errors. These prevent merge in most CI pipelines.

Step 4: Test

# Run the full test suite
npm test 2>&1                    # JS/TS
pytest -v 2>&1                   # Python
go test -v ./... 2>&1            # Go
cargo test 2>&1                  # Rust
dotnet test 2>&1                 # C#

Pass criteria: ALL tests pass. Zero failures. Zero skipped tests that shouldn't be skipped.
If it fails: Fix the failing test. NEVER delete or skip a test to make the suite pass.

Step 5: Integration / E2E (if available)

# Check if E2E tests exist
if [ -d "e2e" ] || [ -d "tests/e2e" ] || [ -f "playwright.config.ts" ]; then
    npx playwright test 2>&1
fi
if [ -d "cypress" ]; then
    npx cypress run 2>&1
fi

Pass criteria: All E2E tests pass.
If not available: Skip this step. Note "No E2E tests configured."

Reporting

After the loop completes, report:

## Verification Results
- Build: PASS / FAIL
- Types: PASS / FAIL / N/A
- Lint:  PASS / FAIL (N warnings)
- Tests: PASS / FAIL (X passed, Y failed, Z skipped)
- E2E:   PASS / FAIL / N/A

Overall: PASS / FAIL

If ANY step is FAIL, the overall result is FAIL. Fix it before reporting done.

Rules

  1. Run the FULL suite, not just your tests. Regressions happen in code you didn't touch.
  2. Don't suppress warnings to "pass." Warnings are future bugs.
  3. If no test infrastructure exists, say so: "No test suite configured. Cannot verify beyond build + typecheck."
  4. If tests are flaky, note which ones and why. Don't mark PASS if a test is timing-dependent.
  5. Always show the actual output. "Tests pass" without output is not evidence.

---

Source: https://github.com/OMARVII/claude-alloy
Author: OMARVII
Discovered via: skillsdirectory.com
Genre: ai-agents

SKILL.md source

---
name: Verification Loop
description: Full verify cycle: build → typecheck → lint → test before completion.
---

# Verification Loop

Full verify cycle: build → typecheck → lint → test before completion.

---
name: verification-loop
description: "Full verify cycle: build → typecheck → lint → test before completion."
allowed-tools: Bash, Read, Grep, Glob, Edit
---

You are running a verification loop. The goal is to PROVE the code works — not assume it does.

## The Loop

Run these in order. If any step fails, FIX IT before moving to the next.

### Step 1: Build

```bash
# Detect build system and run it
if [ -f "package.json" ]; then
    npm run build 2>&1
elif [ -f "Cargo.toml" ]; then
    cargo build 2>&1
elif [ -f "go.mod" ]; then
    go build ./... 2>&1
elif [ -f "pyproject.toml" ] || [ -f "setup.py" ]; then
    pip install -e . 2>&1
fi
```

**Pass criteria**: Exit code 0, zero errors.
**If it fails**: Fix the build error. Do NOT proceed to tests with a broken build.

### Step 2: Type Check

```bash
# TypeScript
npx tsc --noEmit 2>&1

# Python (if mypy/pyright configured)
mypy . 2>&1 || pyright 2>&1

# Go (built into build step)
# Rust (built into build step)
```

**Pass criteria**: Zero type errors.
**If it fails**: Fix type errors. These are real bugs, not lint warnings.

### Step 3: Lint

```bash
# Detect linter and run it
if [ -f ".eslintrc*" ] || grep -q "eslint" package.json 2>/dev/null; then
    npx eslint . 2>&1
fi
if [ -f "biome.json" ]; then
    npx biome check . 2>&1
fi
if [ -f ".flake8" ] || [ -f "pyproject.toml" ]; then
    ruff check . 2>&1 || flake8 . 2>&1
fi
if [ -f ".golangci.yml" ]; then
    golangci-lint run 2>&1
fi
```

**Pass criteria**: Zero lint errors (warnings are acceptable).
**If it fails**: Fix lint errors. These prevent merge in most CI pipelines.

### Step 4: Test

```bash
# Run the full test suite
npm test 2>&1                    # JS/TS
pytest -v 2>&1                   # Python
go test -v ./... 2>&1            # Go
cargo test 2>&1                  # Rust
dotnet test 2>&1                 # C#
```

**Pass criteria**: ALL tests pass. Zero failures. Zero skipped tests that shouldn't be skipped.
**If it fails**: Fix the failing test. NEVER delete or skip a test to make the suite pass.

### Step 5: Integration / E2E (if available)

```bash
# Check if E2E tests exist
if [ -d "e2e" ] || [ -d "tests/e2e" ] || [ -f "playwright.config.ts" ]; then
    npx playwright test 2>&1
fi
if [ -d "cypress" ]; then
    npx cypress run 2>&1
fi
```

**Pass criteria**: All E2E tests pass.
**If not available**: Skip this step. Note "No E2E tests configured."

## Reporting

After the loop completes, report:

```
## Verification Results
- Build: PASS / FAIL
- Types: PASS / FAIL / N/A
- Lint:  PASS / FAIL (N warnings)
- Tests: PASS / FAIL (X passed, Y failed, Z skipped)
- E2E:   PASS / FAIL / N/A

Overall: PASS / FAIL
```

If ANY step is FAIL, the overall result is FAIL. Fix it before reporting done.

## Rules

1. **Run the FULL suite, not just your tests.** Regressions happen in code you didn't touch.
2. **Don't suppress warnings to "pass."** Warnings are future bugs.
3. **If no test infrastructure exists**, say so: "No test suite configured. Cannot verify beyond build + typecheck."
4. **If tests are flaky**, note which ones and why. Don't mark PASS if a test is timing-dependent.
5. **Always show the actual output.** "Tests pass" without output is not evidence.


---

**Source**: https://github.com/OMARVII/claude-alloy
**Author**: OMARVII
**Discovered via**: skillsdirectory.com
**Genre**: ai-agents

Related skills 6

running-claude-code-via-litellm-copilot

★ Featured

Use when routing Claude Code through a local LiteLLM proxy to GitHub Copilot, reducing direct Anthropic spend, configuring ANTHROPIC_BASE_URL or ANTHROPIC_MODEL overrides, or troubleshooting Copilot proxy setup failures such as model-not-found, no localhost traffic, or GitHub 401/403 auth errors.

xixu-me 155k
AI & ML

skills-cli

★ Featured

Use when users ask to discover, install, list, check, update, remove, back up, restore, sync, or initialize Agent Skills, mention `bunx skills`, `npx skills`, `skills.sh`, or `skills-lock.json`, ask "find a skill for X", or want help extending agent capabilities with installable skills.

xixu-me 155k
AI & ML

repo-intake-and-plan

★ Featured

Narrow RigorPilot helper for README-first deep learning repo reproduction. Use when the task is specifically to scan a repository, read the README and common project files, extract documented commands, classify inference, evaluation, and training candidates, and return the smallest trustworthy reproduction plan to the main orchestrator. Do not use for environment setup, asset download, command execution, final reporting, paper lookup, or end-to-end orchestration.

lllllllama 127k
AI & ML

image-to-video

★ Featured

Animate any still image on RunComfy — this skill is a smart router that matches the user's intent to the right i2v model in the RunComfy catalog. Picks HappyHorse 1.0 I2V (Arena #1, native audio, identity preservation) for general animations, Wan 2.7 with `audio_url` for custom-voiceover lip-sync, or Seedance 2.0 Pro for multi-modal animation from image + reference video + reference audio. Bundles each model's documented prompting patterns so the caller gets sharper output without burning ite...

agentspace-so 121k
AI & ML

video-edit

★ Featured

Edit existing video on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Wan 2.7 Edit-Video (general restyle / background swap / packaging swap, identity + motion preservation), Kling 2.6 Pro Motion Control (transfer precise motion from a reference video to a target character), or Lucy Edit Restyle (lightweight identity-stable restyle / outfit swap). Bundles each model's documented prompting patterns so the skill gets...

agentspace-so 121k
AI & ML

nano-banana-2

★ Featured

Generate images with Google Nano Banana 2 (Gemini-family flash-tier text-to-image) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Nano Banana 2's strengths (rapid iteration, in-image typography rendering, predictable framing, optional web-grounded context), the resolution-tier pricing, the safety-tolerance dial, and when to route to Nano Banana Pro / GPT Image 2 / Flux 2 / Seedream in...

agentspace-so 121k
AI & ML