Behavioral validation of a UI implementation against its stated requirements. Checks whether the feature does what was asked, identifies gaps, and flags unrequested changes. Use when verifying a completed feature matches its spec, checking for scope creep, or reviewing before opening a PR.
Arguments: $ARGUMENTS — the original feature request, task description, or ticket URL
Parse $ARGUMENTS to find the original requirements:
Extract:
# What changed on this branch
git diff --name-only $(git merge-base HEAD main)..HEAD
Read the changed files. Understand what was actually built.
Compare spec against implementation — not from a code quality lens. Ask:
Does it do what was asked?
Are there gaps?
Are there unrequested changes?
Are the required tests present?
## Validation Report: {feature name}
**Verdict: COMPLETE | GAPS FOUND | OUT OF SCOPE CHANGES**
### Requirements Check
✓ {requirement}: implemented at {file:line}
✓ {requirement}: implemented at {file:line}
✗ {requirement}: NOT implemented — {what's missing}
⚠ {requirement}: partially implemented — {what's missing}
### Implicit Requirements
✓ Loading state handled
✓ Error state handled
✗ Empty state not handled — {where it's needed}
### Unrequested Changes
⚠ {file}: {description of change not in spec} — confirm intentional?
### Test Coverage
✓ Unit tests present
✗ E2E tests missing for {flow}
### Summary
{1-2 sentences on overall status and what to address before this is done}
REPO=$(git remote get-url origin 2>/dev/null | sed 's/.*\///' | sed 's/\.git//')
BRANCH=$(git branch --show-current 2>/dev/null | sed 's/\//-/g')
TS=$(date +%Y%m%d-%H%M%S)-$$
mkdir -p ~/.claude/skill-output/$REPO/$BRANCH
Write this report to ~/.claude/skill-output/$REPO/$BRANCH/validation-report-$TS.md so the next agent can read the verdict and act on gaps or unrequested changes.