Skip to content
Back to skills

Verify

ASecurity

Ensure code quality with systematic 6-phase verification loop. Use after feature completion, before PR creation, after refactoring, or for periodic quality checks. Keywords: verify, verification, check, validate, quality, build, lint, test, security, pr-ready.

  • 14 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 6, 2026
ai-agentsjavascripttypescriptpythonrustgojavabashtestingrefactoringcode-review

Works with

  • cli
  • api

Security analysis

A100/100

Scanned June 6, 2026

npx -y skills add excatt/superclaude-plusplus --skill verify --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Verify?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Verify
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/excatt-verify/badge)](https://www.skillsdirectory.com/skills/excatt-verify)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: verify
description: Ensure code quality with systematic 6-phase verification loop. Use after feature completion, before PR creation, after refactoring, or for periodic quality checks. Keywords: verify, verification, check, validate, quality, build, lint, test, security, pr-ready.
---

## Dynamic Context

Current working state:
!`git status --short 2>/dev/null`

Recent changes:
!`git diff --stat 2>/dev/null | tail -5`

# Verification Loop Skill

## Purpose
Ensure quality through systematic 6-phase verification after code changes and confirm PR-ready state.

**Core Principle**: Build failure → Immediate stop → Fix issue → Re-verify

## Activation Triggers
- After feature implementation completion
- Before PR creation (`--pre-pr`)
- After refactoring work
- Periodic quality checks (15-min intervals or major component completion)
- User explicit request: `/verify`, `verify`, `check`

## 6-Phase Verification Pipeline

### Phase 1: Build Verification 🔨
**Purpose**: Confirm project compilation/build success

```bash
# JavaScript/TypeScript
npm run build || pnpm build || yarn build

# Python
python -m py_compile src/**/*.py

# Go
go build ./...

# Rust
cargo build
```

**On Failure**: 🚨 **Immediate stop** - Build error resolution is top priority

---

### Phase 2: Type Checking 📝
**Purpose**: Verify type safety

```bash
# TypeScript
npx tsc --noEmit

# Python (with type hints)
pyright src/ || mypy src/

# Flow
npx flow check
```

**Output**: Type error count and locations

---

### Phase 3: Linting 🔍
**Purpose**: Detect code style and potential issues

```bash
# JavaScript/TypeScript
npm run lint || npx eslint src/

# Python
ruff check src/ || flake8 src/

# Go
golangci-lint run

# Rust
cargo clippy
```

**Output**: Lint violation count and severity

---

### Phase 4: Testing 🧪
**Purpose**: Confirm test passing and coverage

```bash
# JavaScript/TypeScript
npm test -- --coverage

# Python
pytest --cov=src --cov-report=term-missing

# Go
go test -cover ./...

# Rust
cargo test
```

**Criteria**:
- ✅ All tests pass
- ✅ Coverage ≥ 80% (business logic)
- ⚠️ Coverage < 80% → Show warning

---

### Phase 5: Security Scanning 🛡️
**Purpose**: Check security vulnerabilities and sensitive information exposure

**5.1 Secrets Detection**:
```bash
# Check .env, credentials, API keys
grep -r "PRIVATE_KEY\|SECRET\|PASSWORD\|API_KEY" src/ --include="*.ts" --include="*.js" --include="*.py"
```

**5.2 Debug Statement Detection**:
```bash
# Check console.log, print, debugger
grep -rn "console\.log\|console\.debug\|debugger" src/ --include="*.ts" --include="*.tsx" --include="*.js"
grep -rn "print(" src/ --include="*.py" | grep -v "# noqa"
```

**5.3 Dependency Vulnerabilities** (optional):
```bash
npm audit --audit-level=high
pip-audit
```

**Output**: List of discovered security issues

---

### Phase 6: Diff Review 📋
**Purpose**: Final review of changes

```bash
git diff --stat
git diff HEAD~1 --name-only
```

**Review Items**:
- [ ] No unintended file changes
- [ ] No missing error handling
- [ ] Edge case handling confirmed
- [ ] Unnecessary console.log/print removed
- [ ] No hardcoded values

---

## Verification Modes

### Quick Mode (`/verify quick`)
Fast verification - Execute Build + Type Check only
```
Phase 1: Build ✅
Phase 2: Types ✅
⏱️ Complete: ~30 seconds
```

### Full Mode (`/verify` or `/verify full`)
Complete 6-phase verification
```
Phase 1: Build ✅
Phase 2: Types ✅
Phase 3: Lint ✅
Phase 4: Tests ✅ (Coverage: 85%)
Phase 5: Security ✅
Phase 6: Diff ✅
⏱️ Complete: ~2-5 minutes
```

### Pre-PR Mode (`/verify pre-pr`)
Strict verification before PR submission (Enhanced security)
```
Phase 1-6: Full verification
+ Additional security scan
+ Dependency vulnerability check
+ Commit message review
```

### Pre-Commit Mode (`/verify pre-commit`)
Quick verification before commit
```
Phase 1: Build ✅
Phase 2: Types ✅
Phase 3: Lint ✅
Phase 5: Security (secrets only) ✅
```

---

## Report Format

### Success Report
```
╔══════════════════════════════════════════════════════╗
║              🎯 VERIFICATION REPORT                  ║
╠══════════════════════════════════════════════════════╣
║ Phase 1: Build        ✅ OK                          ║
║ Phase 2: Type Check   ✅ OK                          ║
║ Phase 3: Lint         ✅ OK (0 issues)               ║
║ Phase 4: Tests        ✅ OK (47/47 passed, 85% cov)  ║
║ Phase 5: Security     ✅ OK (0 issues)               ║
║ Phase 6: Diff Review  ✅ OK (3 files changed)        ║
╠══════════════════════════════════════════════════════╣
║ 📊 Total Issues: 0                                   ║
║ 🚀 PR Ready: YES                                     ║
╚══════════════════════════════════════════════════════╝
```

### Failure Report
```
╔══════════════════════════════════════════════════════╗
║              🎯 VERIFICATION REPORT                  ║
╠══════════════════════════════════════════════════════╣
║ Phase 1: Build        ✅ OK                          ║
║ Phase 2: Type Check   ❌ FAIL (3 errors)             ║
║   → src/api/user.ts:45 - Type 'string' not assignable║
║   → src/utils/format.ts:12 - Missing return type     ║
║   → src/components/Card.tsx:78 - Property missing    ║
║ Phase 3: Lint         ⚠️ WARN (2 warnings)           ║
║ Phase 4: Tests        ⏸️ SKIPPED (blocked by Phase 2)║
║ Phase 5: Security     ⏸️ SKIPPED                     ║
║ Phase 6: Diff Review  ⏸️ SKIPPED                     ║
╠══════════════════════════════════════════════════════╣
║ 📊 Total Issues: 5                                   ║
║ 🚀 PR Ready: NO                                      ║
║                                                      ║
║ 🔧 Suggested Fixes:                                  ║
║ 1. Fix type errors in src/api/user.ts:45            ║
║ 2. Add return type to formatDate function           ║
║ 3. Add missing 'onClick' prop to Card component     ║
╚══════════════════════════════════════════════════════╝
```

---

## Periodic Verification Strategy

### Mental Checkpoints
- After function/component completion → `/verify quick`
- After 15 minutes elapsed → `/verify`
- Major milestone completed → `/verify full`

### Session Integration
```
Start work
    │
    ├─→ Feature implementation
    │       │
    │       └─→ [15min elapsed] → /verify quick
    │
    ├─→ Component completion
    │       │
    │       └─→ /verify
    │
    ├─→ Feature completion
    │       │
    │       └─→ /verify full
    │
    └─→ PR preparation
            │
            └─→ /verify pre-pr
```

---

## Integration with Other Skills

### With `/checkpoint`
```
/checkpoint create "before-refactor"
... refactoring work ...
/verify full
/checkpoint verify "before-refactor"  # Compare changes
```

### With `/feature-planner`
Auto-execute `/verify` at each Phase Quality Gate

### With `/code-review`
```
/verify pre-pr
/code-review  # Code review after verification passes
```

---

## Auto-Fix Suggestions

Suggest automatic fixes on verification failure:

| Issue Type | Suggested Fix |
|------------|---------------|
| Type Error | Add/modify type annotation |
| Lint Error | `npm run lint -- --fix` or `ruff --fix` |
| Missing Test | Suggest test case creation |
| console.log | Remove line or replace with logger |
| Security Issue | Suggest moving to environment variables |

---

## Configuration

Project-specific configuration (`.claude/verify.config.json`):
```json
{
  "coverageThreshold": 80,
  "skipPhases": [],
  "customCommands": {
    "build": "pnpm build",
    "test": "pnpm test:ci",
    "lint": "pnpm lint"
  },
  "securityPatterns": [
    "API_KEY",
    "SECRET",
    "PASSWORD",
    "PRIVATE_KEY"
  ],
  "ignoreFiles": [
    "**/*.test.ts",
    "**/*.spec.ts",
    "**/fixtures/**"
  ]
}
```

---

## Quick Reference

| Command | Description |
|---------|-------------|
| `/verify` | Full 6-phase verification |
| `/verify quick` | Verify Build + Type only |
| `/verify pre-pr` | Strict verification before PR |
| `/verify pre-commit` | Quick verification before commit |
| `/verify --fix` | Fix auto-fixable issues |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.