Attempt automated verification of criteria before falling back to manual. Parses criterion text for automation hints and executes appropriate tool (curl, browser, file check). Invoked by verify-task and phase-checkpoint for MANUAL and MANUAL:DEFER criteria.
Attempt automated verification of criteria that would otherwise require manual review. This skill parses criterion text for automation hints, checks tool availability, and executes verification commands before marking items as truly manual.
/verify-task when processing MANUAL and MANUAL:DEFER type criteria/phase-checkpoint for Manual Local Verification itemscode-verification skill before browser fallbackbrowser-verification skill for HTTP-first optimizationCopy this checklist and track progress:
Auto-Verify Progress:
- [ ] Step 1: Parse criterion for automation hints
- [ ] Step 2: Check tool availability
- [ ] Step 3: Select tool and generate command
- [ ] Step 4: Execute with timeout
- [ ] Step 5: Interpret result
- [ ] Step 6: Return structured output
Analyze criterion text and optional Verify: line for automation keywords.
Patterns are checked in priority order — first match wins.
See PATTERNS.md for the full pattern matching table and command templates.
Key pattern categories:
These tools are always present and can be used without checking:
| Tool | Capabilities | |------|--------------| | Bash | curl, grep, jq, test, file operations, environment checks | | Read | File content inspection | | Glob | File pattern matching | | Grep | Content search |
Check availability before use:
| Tool | Check Method | Fallback |
|------|--------------|----------|
| ExecuteAutomation Playwright | mcp__playwright__* or mcp__executeautomation__* tools exist | Browser MCP |
| Browser MCP | mcp__browsermcp__* tools exist | Microsoft Playwright |
| Microsoft Playwright MCP | mcp__playwright__* tools exist | Chrome DevTools |
| Chrome DevTools MCP | mcp__chrome-devtools__list_pages responds | Manual |
TOOL_AVAILABILITY = {
"curl": ALWAYS,
"bash": ALWAYS,
"file_ops": ALWAYS,
"browser": CHECK_REQUIRED
}
Based on detected pattern, generate the appropriate verification command. See PATTERNS.md for complete command templates.
Quick reference:
| Tool | Timeout | Rationale | |------|---------|-----------| | curl | 5 seconds | Network requests should be fast | | bash (file ops) | 2 seconds | Local operations are quick | | browser | 30 seconds | Page loading and interaction take time |
| Error Type | Action | |------------|--------| | Timeout | Mark as FAIL with "timeout after {N}s" | | Connection refused | Mark as FAIL with "connection refused - is server running?" | | Command not found | Mark as FAIL with "tool not available" | | Unexpected output | Mark as FAIL with captured output |
Return a structured result for each criterion:
AUTO-VERIFY RESULT
------------------
Criterion: "{original criterion text}"
Pattern Detected: {pattern name or "none"}
Tool Used: {curl | bash | browser | none}
Command: {executed command or "N/A"}
Status: PASS | FAIL | MANUAL
Duration: {execution time in ms}
Output: {captured output, truncated if >500 chars}
Suggested Fix: {if FAIL, provide actionable suggestion}
Reason: {if MANUAL, explain why automation not possible}
| Status | Meaning | Next Action | |--------|---------|-------------| | PASS | Criterion verified automatically | No human review needed | | FAIL | Automation attempted but failed | Show error, suggest fix, allow human override | | MANUAL | No automation possible | List for human review with reason |
See references/integration-examples.md for 4 detailed examples covering:
See PATTERNS.md for URL and path extraction patterns.
This skill respects settings from .claude/verification-config.json:
{
"devServer": {
"url": "http://localhost:3000"
},
"autoVerify": {
"enabled": true,
"httpTimeout": 5000,
"fileTimeout": 2000,
"browserTimeout": 30000,
"httpFirst": true
}
}
URL resolution: Use devServer.url for all HTTP checks. Ensure the dev server is running before verification.
If autoVerify.enabled is false, skip automation attempts and return MANUAL for all criteria.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer