aboutsummaryrefslogtreecommitdiffstats
path: root/.agents/skills/verification-loop
diff options
context:
space:
mode:
Diffstat (limited to '.agents/skills/verification-loop')
-rw-r--r--.agents/skills/verification-loop/SKILL.md148
-rw-r--r--.agents/skills/verification-loop/examples/example-verification-report.md9
-rw-r--r--.agents/skills/verification-loop/references/REPORT-TEMPLATE.md13
-rw-r--r--.agents/skills/verification-loop/references/STACK-DETECTION.md12
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.