.claude/skills/criteria-audit/SKILL.md
Validate EXECUTION_PLAN.md for verification metadata, manual reasons, and testability. Use when preparing Phase 1 or after editing EXECUTION_PLAN.md.
npx skillsauth add benjaminshoemaker/ai_coding_project_base criteria-auditInstall 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.
Audit EXECUTION_PLAN.md to ensure acceptance criteria are automation-ready and use the verification metadata format.
$1 (optional) = directory containing EXECUTION_PLAN.md
$1/EXECUTION_PLAN.mdEXECUTION_PLAN.md from the current working directoryCopy this checklist and track progress:
Criteria Audit Progress:
- [ ] Step 1: Read EXECUTION_PLAN.md
- [ ] Step 2: Parse phases, tasks, and acceptance criteria
- [ ] Step 3: Validate verification metadata
- [ ] Step 4: Report issues and summarize
Resolve the plan path: if $1 is provided, use $1/EXECUTION_PLAN.md; otherwise use EXECUTION_PLAN.md in the current working directory.
For each task, collect:
(TEST))Verify: lineReason: lineAlso collect Pre-Phase Setup items and their Verify: lines.
(TEST), (CODE), (LINT),
(TYPE), (BUILD), (SECURITY), (BROWSER:DOM), (MANUAL), (MANUAL:DEFER) etc.Verify: line unless it is MANUAL or MANUAL:DEFER.MANUAL and MANUAL:DEFER criteria must include a Reason: line.Verify: command.Read ~/.claude/skills/auto-verify/PATTERNS.md for the full pattern matching table
and MANUAL decision tree. If PATTERNS.md is not found, skip the false-MANUAL check and note the limitation in the report output (e.g., "PATTERNS.md not found — false-MANUAL detection skipped").
For each criterion tagged (MANUAL), check if it contains keywords from the
Pattern Matching Table that indicate it CAN be automated (priorities 1-10).
If it matches any automatable pattern, it is a false MANUAL tag.
Only criteria matching the "Truly Manual Patterns" section (subjective UX/brand/tone judgment) should remain as MANUAL.
For each (MANUAL) criterion (not MANUAL:DEFER):
(MANUAL:DEFER)
→ Reason: "No downstream dependency detected"For each (MANUAL:DEFER) criterion:
MANUAL (blocking) — downstream dependency exists"Provide a structured report:
CRITERIA AUDIT
==============
Tasks Checked: {N}
Criteria Checked: {N}
Issues Found: {N}
Missing Type Tags:
- Task 1.2.A: "{criterion}"
Missing Verify Lines:
- Task 1.3.B: "{criterion}"
Manual Missing Reason:
- Task 2.1.A: "{criterion}"
Pre-Phase Setup Missing Verify:
- Phase 1: "{setup item}"
False MANUAL Tags (should be automated):
- Task 1.2.A: (MANUAL) "{criterion}"
→ Suggest: (CODE) — Verify: `curl -sf {url} -o /dev/null`
→ Reason: Contains "endpoint"/"returns" — automatable via curl
- Task 2.1.B: (MANUAL) "{criterion}"
→ Suggest: (BROWSER:DOM) — Verify: route=`/page`, selector=`.class`
→ Reason: Contains "visible"/"displays" — automatable via browser
MANUAL Summary:
Total MANUAL criteria: {N}
Likely false tags: {N} (should be retagged to automated)
Truly manual: {N} (subjective judgment)
DEFER Classification:
Total MANUAL: {N} blocking, {M} deferrable
Suggested retags: {list of MANUAL → MANUAL:DEFER or vice versa}
Status: PASS | WARN | FAIL
FAIL if any false MANUAL tags are found. WARN if MANUAL criteria exceed 10% of total criteria. PASS otherwise.
| Situation | Action |
|-----------|--------|
| EXECUTION_PLAN.md not found at the resolved path | Report "EXECUTION_PLAN.md not found" with the path checked and stop |
| PATTERNS.md not found (~/.claude/skills/auto-verify/PATTERNS.md) | Skip false-MANUAL detection, note limitation in report output |
| Plan file is empty or has no parseable phases/tasks | Report "No phases or tasks found" and mark audit as NOT APPLICABLE |
| A criterion has multiple conflicting type tags | Flag as ambiguous, list all tags found, and recommend the user pick one |
| Plan file exceeds 2000 lines | Process in chunks, warn user that partial analysis may miss cross-phase dependencies |
Verify: line.testing
Audit project alignment with VISION.md, identify SDLC gaps, and generate feature proposals. Use when reviewing strategic direction or planning new features.
development
Run code-verification on a specific task. Use to verify a single task's acceptance criteria after implementation.
testing
Resolve Vercel preview deployment URL for the current git branch. Invoked by browser-verification when deployment.enabled is true, or directly to check deployment status. Use to check deployment status or when browser verification needs a URL.
tools
Discover and sync all toolkit-using projects with the latest skills. Use when skills are modified, after the post-commit hook reminds you, or to batch-sync multiple projects.