skills/verify/SKILL.md
Human acceptance testing — structured verification that work actually works. Run standalone or integrated in HITL review cycle.
npx skillsauth add OrodruinLabs/nazgul nazgul:verifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
/nazgul:verify — Verify all completed tasks that haven't been verified yet/nazgul:verify TASK-003 — Verify a specific completed task$ARGUMENTS
cat nazgul/config.json 2>/dev/null | head -3 || echo "NOT_INITIALIZED"for f in nazgul/tasks/TASK-*.md; do status=$(grep -m1 'Status' "$f" 2>/dev/null | sed 's/.*: *//'); id=$(basename "$f" .md); if [ "$status" = "DONE" ] && [ ! -f "nazgul/tasks/$id/verification.md" ]; then echo "$id"; fi; done 2>/dev/null || echo "none"Format all output per references/ui-brand.md — use checkpoint boxes, status symbols, and display patterns defined there.
nazgul/config.json exists. If not: "Nazgul not initialized. Run /nazgul:init first." and STOP.$ARGUMENTS:
verification.md and verify them in sequence─── ◈ NAZGUL ▸ VERIFYING ─────────────────────────────────
For each task being verified:
nazgul/tasks/TASK-NNN.mdnazgul/reviews/TASK-NNN/Run automated verification using patterns from references/verification-patterns.md:
Level 1 — Exists:
File Scope → Creates actually existFile Scope → Modifies were actually modified (git diff)Level 2 — Substantive:
Level 3 — Wired:
Report pre-check results:
Automated Pre-Checks
─────────────────────────────────────
✦ Level 1 (Exists): 4/4 files present
⚠ Level 2 (Substantive): 3/4 pass (1 stub detected in src/utils/helper.ts)
✦ Level 3 (Wired): 4/4 connected
1 issue found — included in verification walkthrough below.
From the task manifest, extract user-observable outcomes:
Focus on outcomes, not implementation:
Present each deliverable one at a time:
┌─── ◈ CHECKPOINT: Verification Required ──────────────┐
│ │
│ TASK-003: User Authentication │
│ Test 1 of 4 │
│ │
│ Expected: Login form accepts email and password. │
│ On valid credentials, redirects to /dashboard. │
│ On invalid credentials, shows error message. │
│ │
│ → Type "yes" if it works, or describe what's wrong │
└───────────────────────────────────────────────────────┘
Handle responses:
Write nazgul/tasks/TASK-NNN/verification.md (create directory if needed):
# Verification: TASK-NNN
## Summary
- **Verified at**: [ISO 8601 timestamp]
- **Verified by**: human (via /nazgul:verify)
- **Result**: [ALL_PASS | ISSUES_FOUND]
## Pre-Checks
- Level 1 (Exists): [N/N pass]
- Level 2 (Substantive): [N/N pass]
- Level 3 (Wired): [N/N pass]
## Deliverable Results
| # | Deliverable | Result | Notes |
|---|-------------|--------|-------|
| 1 | [description] | ✦ PASS | — |
| 2 | [description] | ✗ FAIL | [user's description of issue] |
## Issues
### Issue 1: [description from user]
- **Deliverable**: #2
- **Pre-check findings**: [any related automated findings]
If any issues found:
nazgul/tasks/TASK-MMM.md with status READY- **Traces to**: TASK-NNN verification issue #N─── ◈ NAZGUL ▸ VERIFYING ─────────────────────────────────
TASK-003: 3/4 deliverables passed, 1 issue found
✦ Login form renders correctly
✦ Valid credentials redirect to dashboard
✗ Invalid credentials — error message not shown
✦ Session persists after refresh
Fix task created: TASK-008 (fix error message display)
─── ◈ NEXT ─────────────────────────────────────────────
/nazgul:start to implement fixes
────────────────────────────────────────────────────────
If all pass:
─── ◈ NAZGUL ▸ VERIFYING ─────────────────────────────────
✦ TASK-003: All 4 deliverables verified
─── ◈ NEXT ─────────────────────────────────────────────
/nazgul:verify to check more tasks
/nazgul:start to continue
────────────────────────────────────────────────────────
devops
Task lifecycle management — skip, unblock, add, prioritize, info, and list tasks. Use when you need to manage individual tasks in the Nazgul pipeline.
development
Check the current state of a Nazgul autonomous loop. Use when asked about loop progress, task status, iteration count, review board status, or how the Nazgul loop is going.
development
Start or resume a Nazgul autonomous development loop. Use when user says "start nazgul", "run nazgul", "begin development", "resume the loop", or passes an objective for new work. Auto-detects project state — no arguments needed.
development
Run a cleanup and simplification pass on all files modified during a Nazgul loop. Use after a Nazgul loop completes to improve code clarity without changing functionality.