2.2 KiB
2.2 KiB
name, description
| name | description |
|---|---|
| verification-loop | Systematic verification before claiming completion — run tests, check coverage, verify edge cases, inspect CI. Use when about to mark a task done, before merge, or when user asks "is it ready?" |
Verification Loop Skill
Based on ECC verification-loop + verification-before-completion patterns.
When to Use
- Before claiming any task is complete
- Before merge or PR
- User asks "is it ready?" or "có ổn chưa?"
- After fixing a bug
Loop Steps
1. Run Tests
npm test # or your test command
pytest tests/ # Python
go test ./... # Go
If ANY test fails — FIX first, do NOT claim done.
2. Check Coverage
npm run coverage # or equivalent
Thresholds:
- Line coverage: > 80%
- Branch coverage: > 70%
- Critical paths: 100% (auth, payments, data mutations)
3. Verify Edge Cases
For each input or parameter:
- null / None / undefined
- Empty string, empty array, empty object
- Maximum allowed length/value
- Minimum allowed length/value
- Special characters
- Boundary values (just above, just below limit)
4. Check for Regressions
git diff --name-only HEAD~1 # or relevant range
Verify changes don't break existing functionality. Run full test suite.
5. Lint and Type Check
npm run lint && npm run typecheck # TypeScript
ruff check . && mypy . # Python
golangci-lint run # Go
6. Review the Diff
git diff
Read every changed line. Verify:
- No accidental deletions
- No debug code left (print, console.log, debugger)
- No commented-out code
- No TODO without ticket reference
- Code matches what was asked
7. Build Check
npm run build # or equivalent
Must succeed with zero errors.
Decision
If ALL steps pass — safe to mark complete. If ANY step fails — list issues, fix, re-run loop.
Report Template
## Verification: [Task/Feature]
Tests: X/X pass (previously Y/Z)
Coverage: X% line (threshold: 80%), Y% branch (threshold: 70%)
Lint: clean / X warnings / X errors
Build: success / failed with [details]
Edge cases: all covered / gaps: [list]
Regressions: none / [list with test names]
Diff review: clean / issues: [list]
Status: READY / NOT READY