diff options
Diffstat (limited to '.agents/skills/verification-loop')
4 files changed, 182 insertions, 0 deletions
diff --git a/.agents/skills/verification-loop/SKILL.md b/.agents/skills/verification-loop/SKILL.md new file mode 100644 index 0000000..a535ed0 --- /dev/null +++ b/.agents/skills/verification-loop/SKILL.md @@ -0,0 +1,148 @@ +--- +name: verification-loop +description: This skill should be used when the user asks to "verify code", "run verification", "check quality", "validate changes", or before creating a PR. Provides comprehensive verification including build, type check, lint, tests, security scan, and diff review. +version: 1.0.0 +--- + +# Verification Loop Skill + +A comprehensive verification system for Claude Code sessions. + +## When to Use + +Invoke this skill: +- After completing a feature or significant code change +- Before creating a PR +- When you want to ensure quality gates pass +- After refactoring + +## Verification Phases + +Choose the commands adaptively for the current project instead of running every example blindly. Use the stack-appropriate command from `references/STACK-DETECTION.md` when the repo does not match the default examples below. + + +### Phase 1: Build Verification +```bash +# Python projects (uv) +uv build 2>&1 | tail -20 +# OR +python -m build 2>&1 | tail -20 + +# Node.js projects +npm run build 2>&1 | tail -20 +# OR +pnpm build 2>&1 | tail -20 +``` + +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 +``` + +Report all type errors. Fix critical ones before continuing. + +### Phase 3: Lint Check +```bash +# JavaScript/TypeScript +npm run lint 2>&1 | head -30 + +# Python +ruff check . 2>&1 | head -30 +``` + +### Phase 4: Test Suite +```bash +# Python projects +pytest --cov=src --cov-report=term-missing 2>&1 | tail -50 + +# Node.js projects +npm run test -- --coverage 2>&1 | tail -50 +``` + +Report: +- Total tests: X +- Passed: X +- Failed: X +- Coverage: X% + +### Phase 5: Security Scan +```bash +# Python: Check for secrets +grep -rn "sk-" --include="*.py" . 2>/dev/null | head -10 +grep -rn "api_key" --include="*.py" . 2>/dev/null | head -10 +pip-audit + +# Node.js: Check for secrets +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 + +# Check for debug statements +grep -rn "print(" --include="*.py" src/ 2>/dev/null | head -10 +grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10 +``` + +### Phase 6: Diff Review +```bash +# Show what changed +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: + +```markdown +Set a mental checkpoint: +- After completing each function +- After finishing a component +- Before moving to next task + +Run: /verify +``` + +## Integration with Hooks + +This skill complements PostToolUse hooks but provides deeper verification. +Hooks catch issues immediately; this skill provides comprehensive review. + + +## Reference Files + +Load only what is needed: +- `references/STACK-DETECTION.md` - how to choose the right verification command set for the current repo +- `references/REPORT-TEMPLATE.md` - report structure for final verification output +- `examples/example-verification-report.md` - example final report diff --git a/.agents/skills/verification-loop/examples/example-verification-report.md b/.agents/skills/verification-loop/examples/example-verification-report.md new file mode 100644 index 0000000..19c331f --- /dev/null +++ b/.agents/skills/verification-loop/examples/example-verification-report.md @@ -0,0 +1,9 @@ +VERIFICATION REPORT +================== +Build: PASS +Types: PASS +Lint: PASS (2 non-blocking warnings) +Tests: PASS (48/48) +Security: PASS +Diff: 4 files changed +Overall: READY diff --git a/.agents/skills/verification-loop/references/REPORT-TEMPLATE.md b/.agents/skills/verification-loop/references/REPORT-TEMPLATE.md new file mode 100644 index 0000000..9f2daa3 --- /dev/null +++ b/.agents/skills/verification-loop/references/REPORT-TEMPLATE.md @@ -0,0 +1,13 @@ +# Verification Report Template + +```text +VERIFICATION REPORT +================== +Build: [PASS/FAIL] +Types: [PASS/FAIL] +Lint: [PASS/FAIL] +Tests: [PASS/FAIL] +Security: [PASS/FAIL] +Diff: [summary] +Overall: [READY/NOT READY] +``` diff --git a/.agents/skills/verification-loop/references/STACK-DETECTION.md b/.agents/skills/verification-loop/references/STACK-DETECTION.md new file mode 100644 index 0000000..3289d91 --- /dev/null +++ b/.agents/skills/verification-loop/references/STACK-DETECTION.md @@ -0,0 +1,12 @@ +# Stack Detection + +## Python +Look for `pyproject.toml`, `uv.lock`, `requirements.txt`, or `pytest.ini`. +Prefer `uv` commands when the repo is uv-managed. + +## Node.js / TypeScript +Look for `package.json`, `pnpm-lock.yaml`, `tsconfig.json`. +Use the package manager already used by the repo. + +## Mixed repos +Run only the checks relevant to touched areas; do not force every language tool when the change is clearly scoped. |
