verify
Verify
Multi-stage quality gate. Run after finishing implementation, before superpowers:finishing-a-development-branch.
Fail-fast: Stop at the first failing stage. Do not continue.
Stage 1 — Get Changed Files
git diff HEAD --name-only
Store this list. Every conditional stage below checks against it.
Stage 2 — Lint
Run only on changed files (never without args — it will timeout):
bun lint <changed-files-space-separated>
STOP — do not continue to Stage 3.
Stage 3 — Typecheck
bun typecheck
STOP — do not continue to Stage 4.
Stage 4 — Coding Standards Audit (conditional)
Trigger: Any changed file matches **/*.ts or **/*.tsx
Dispatch a general-purpose subagent via the Task tool with this prompt:
Read ./coding-standards/SKILL.md (the full skill, including the Code Smell Checklist).
Run through every item in the Code Smell Checklist against the following changed files:
Changed files: <list of .ts/.tsx files>
For each violation found, report:
- File path and approximate line number
- Which checklist item it violates
- The offending code snippet
Report violations only. If everything is clean, report "No violations found."
STOP — do not continue to Stage 5.
Stage 5 — UI Verification (conditional)
Trigger: Any changed file matches src/app/**/*.tsx, src/components/**, or src/styles/**
5a — Determine Acceptance Criteria
- Check the current conversation — user may have described expected behavior, a Linear ticket, or a spec
- If a Linear issue is active or referenced → fetch it with
mcp__linear__get_issue - If still unclear → use
AskUserQuestionwith the most logical options for this context, always including an "Other (describe)" option
5b — Start Dev Server (if not already running)
if curl -s http://localhost:3000 > /dev/null 2>&1; then
echo "Dev server already running — skipping start"
DEV_STARTED_BY_VERIFY=false
else
bun dev &
DEV_PID=$!
DEV_STARTED_BY_VERIFY=true
until curl -s http://localhost:3000 > /dev/null 2>&1; do sleep 2; done
echo "Dev server ready"
fi
5c — Dispatch Agent-Browser Task
Spawn a general-purpose subagent via the Task tool. In the prompt:
- Tell it to read
./agent-browser/SKILL.mdfor the full command reference and session management patterns - Include the acceptance criteria from 5a
- Include the relevant route(s) to navigate to
- Ask it to use
--session-name verify(auto-saves/restores Clerk session across runs) - Ask it to use
screenshot --annotateat key states (gives visual layout + numbered refs) - Ask it to report pass/fail per criterion and close the session when done
Example prompt (adapt route and criteria to this feature):
Read ./agent-browser/SKILL.md for browser automation command reference, then verify the following at http://localhost:3000.
Use --session-name verify for ALL commands. This auto-saves Clerk session state after
first login so subsequent runs skip authentication.
Route: /[relevant path]
Acceptance criteria:
- <criterion 1>
- <criterion 2>
Workflow:
1. agent-browser --session-name verify open http://localhost:3000/[route]
2. agent-browser --session-name verify wait --load networkidle
3. Check current URL — if redirected to Clerk login:
a. agent-browser --session-name verify snapshot -i
b. Fill email with $AGENT_BROWSER_EMAIL, password with $AGENT_BROWSER_PASSWORD
c. agent-browser --session-name verify wait --url "**/localhost:3000**"
(On subsequent runs, Clerk session is restored automatically — skip this step)
4. For each criterion: navigate/interact as needed, take annotated screenshot, verify
5. agent-browser --session-name verify screenshot --annotate (at each key state)
6. Report pass/fail per criterion with screenshot evidence
7. agent-browser --session-name verify close
Credentials: $AGENT_BROWSER_EMAIL / $AGENT_BROWSER_PASSWORD from env.example → .env.local. To reset an expired session: agent-browser state clear verify.
5d — Stop Dev Server (only if we started it)
if [ "$DEV_STARTED_BY_VERIFY" = "true" ]; then
kill $DEV_PID 2>/dev/null
fi
Stage Summary
| Changed files contain | Stage triggered |
|---|---|
**/*.ts or **/*.tsx |
Stage 4: Coding standards audit |
src/app/**/*.tsx, src/components/**, src/styles/** |
Stage 5: UI verification |
| Neither | Stages 1–3 only |
Final Report
When all stages pass, output:
✅ Lint — N files
✅ Typecheck
✅ Coding standards — N files, no violations (if triggered)
✅ UI verified — N/N criteria passed (if triggered)
→ Ready for: superpowers:finishing-a-development-branch
More from sylla-bv/sylla-skills
ticket-creator
>-
27pr-sweep
>-
7coding-standards
>-
6brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
2playwright-cli
Automate browser interactions, test web pages and work with Playwright tests.
1code-upkeep
>-
1