verify
Skill5 starsChanged 4 months agoMITView on GitHub
Verifies the running application against PRD screen specs and acceptance criteria in a browser. This skill should be used when the user asks to "run visual verification", "verify the app against the PRD", "run Stage 6V", "check the running app", "verify screens match specs", "run live app verification", "test the running application", or "verify acceptance criteria in the browser", or when the transmute-pipeline agent reaches Stage 6V of the pipeline.
- Reads credentials
188 other projects use a version of this.
Adopted by
Most recently taken up by
- Doist/todoist-aitheir own version, first seen Nov 9, 2026
- udecode/better-convextheir own version, first seen Nov 9, 2026
- pytorch/heliontheir own version, first seen Nov 8, 2026
- amir20/dozzletheir own version, first seen Nov 8, 2026
- Doist/todoist-clitheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
Used with
Projects with it also use instinct-export, instinct-import and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
TheKREATORSSkillinstinct-export
Export instincts from project/global scope to a file
Also in 3 projects that use this
TheKREATORSSkillinstinct-import
Import instincts from file or URL into project/global scope
Also in 3 projects that use this
AviadPSkillrisk-assess
Assess the risk and blast radius of a proposed code change before implementing it. Evaluates CI impact, framework-wide vs localized scope, rollback path, and identifies blindspots. Use when user says "what's the risk", "is this safe", "assess the impact", "risk assess", "blast radius", or before applying framework-wide or CI-affecting changes. Do NOT use for code quality review (use code-quality) or plan validation (use design-validator).
Also in 3 projects that use this
diego-tobalinaSkillbuild-fix
Fix build and compilation errors systematically. Run when build fails.
Also in 6 projects that use this
AaravChadhaSkillsecure
Security review with a confidence gate - a finding exists only with a concrete exploit scenario and a high/medium/low confidence rating; everything else goes to a worth-hardening list, never inflated. Sweeps five surfaces: auth gates, secrets hygiene, injection and unsafe sinks, unsafe deserialization/crypto/transport, and LLM tool-use trust boundaries. Reports only, never fixes. Use when the user asks for a security review or to check vulnerabilities, secrets, or auth.
Also in 3 projects that use this
ArvorCoSkillspecify
Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.
Also in 10 projects that use this
- +1 more from TheKREATORS
Other versions188 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 188
- react/react★ 252ksame name
- facebook/react★ 252ksame name
- garrytan/gstack★ 141ksame name
- oven-sh/bun★ 97ksame name
- anthropics/financial-services★ 41ksame name
- anthropics/financial-services-plugins★ 41ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- anthropics/claude-quickstarts★ 19ksame name
- NVIDIA-NeMo/Speech★ 19ksame name
178 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository24 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- templates/CLAUDE.mdCLAUDE.md
- audit-a11ySkill
- audit-completenessSkill
- audit-securitySkill
- brdSkill
- docsSkill
- feedbackSkill
- hardenSkill
- implementSkill
- maintainSkill
- optimizeSkill
- polishSkill
- prdSkill
- prelaunchSkill
- redesignSkill
- refactorSkill
- remediateSkill
- scaffoldSkill
- seed-dataSkill
- smokeSkill
- tech-stackSkill
- user-guideSkill
- validate-specsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
31 rules. 0 are common, 25 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
25
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Verify the RUNNING application against every screen specification and acceptance criterion in the PRD by navigating the app in a browser.
- Very specific: line 19
Read the detailed guide at ${CLAUDE_SKILL_DIR}/references/verification-detailed-guide.md for full teammate prompts, failure patterns, and …
- Very specific: line 21
Read the scenario generation guide at ${CLAUDE_SKILL_DIR}/references/feature-scenario-generation.md for the algorithm to build the Feature …
- Distinctive: line 35
Verify Playwright browsers are installed:
- Very specific: line 59
Check ./plancasting/tech-stack.md for the Session Language setting.
- Distinctive: line 72
Read ALL PRD sources and extract structured data
- Distinctive: line 73
Read codebase sources (route constants, page files, middleware, auth helpers, schema, layouts)
- Very specific: line 82
Run the dev server. If BaaS dev server fails non-interactively, set the BaaS URL env var in .env.local and run only the frontend dev server.
- Distinctive: line 83
Wait up to 60 seconds. If the server fails to start, ABORT.
- Very specific: line 89
Test protected routes without auth -- verify redirect to /login
- Distinctive: line 94
Build Navigation Inventory: Read route constants, shared layout components, middleware.
- Distinctive: line 116
If Teammate 1 finds pages that don't load (HTTP 500, blank), flag as CRITICAL
- Distinctive: line 118
If auth fails for ALL test users, ABORT
- Very specific: line 123
Run generated Playwright tests: bunx playwright test e2e/verification/ --grep "@verification" --retries=2
- Distinctive: line 125
Commit generated test files if any
- Distinctive: line 168
Verify all files saved and committed
- Distinctive: line 169
Leave the dev server running for 6R or 6P/6P-R
- Distinctive: line 173
always start the dev server and verify accessibility before spawning teammates.
- Distinctive: line 174
never skip the AI vision review (Teammate 3).
- Distinctive: line 175
never mark a page as PASS if it has console ERRORS.
- Distinctive: line 176
always test with seeded data.
- Distinctive: line 177
always take screenshots on failure.
- Distinctive: line 178
always map findings to PRD identifiers (SC-NNN, US-NNN, FEAT-NNN).
- Distinctive: line 179
always generate Playwright test files even when using direct browser interaction.
- Distinctive: line 181
never let one teammate's actions corrupt state for another.
- Distinctive: line 183
always verify test user seeding BEFORE spawning teammates.
- Distinctive: line 184
always crawl links from shared layouts (sidebar, header, footer, mobile nav).
- Distinctive: line 185
always test navigation at BOTH desktop and mobile viewports.
- Distinctive: line 186
always click buttons and verify their action -- not just DOM presence.
- Distinctive: line 187
always test auth middleware redirects for ALL public routes.
- Distinctive: line 188
always test public routes from a FRESH unauthenticated browser context BEFORE logging in.
“Common” is measured: kept by at least 6 in 10 of the 167 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Stage 6V: Visual & Functional Verification
Verify the RUNNING application against every screen specification and acceptance criterion in the PRD by navigating the app in a browser. Lead a multi-agent verification project (teammates are Agent-tool subagents; see the pipeline agent's Execution Model).
Read the detailed guide at ${CLAUDE_SKILL_DIR}/references/verification-detailed-guide.md for full teammate prompts, failure patterns, and report templates.
Read the scenario generation guide at ${CLAUDE_SKILL_DIR}/references/feature-scenario-generation.md for the algorithm to build the Feature Scenario Matrix.
Prerequisites
- Verify
./plancasting/_launch/readiness-report.mdexists and shows READY. If NOT READY or file missing, STOP -- run Stage 6H first. Exception — Stage 5V (early runtime check): when invoked withMODE: criticaldirectly after 5B (alias/transmuter:cast early-verify), require./plancasting/_audits/implementation-completeness/report.md(PASS or CONDITIONAL PASS) instead of the 6H report, run only thecriticalscope, and title the report "Stage 5V — Early Runtime Check (6V critical scope)". The full 6V run after 6H overwrites it. - Create output directories:
mkdir -p ./plancasting/_audits/visual-verification mkdir -p ./screenshots/automated mkdir -p ./screenshots/criteria mkdir -p ./screenshots/vision mkdir -p ./screenshots/visual-verification/baseline mkdir -p ./e2e/verification - Verify Playwright browsers are installed:
bunx playwright install --with-deps chromium
Scope Modes
full(default) -- All screens inplancasting/prd/08-screen-specifications.md. ~30-60 min.critical-- P0/P1 features only. ~15-30 min.diff-- Only screens related to files changed since last verification. ~10-20 min. Note:last-verified-commit.txtis created at the END of a 6V run, sodiffmode only works on the second or subsequent run. If the file does not exist, automatically falls back tofull. Warning: diff mode requires a previous 6V report to diff against — do not use for the first 6V run.
How to specify scope: Append MODE: full, MODE: critical, or MODE: diff on a new line after pasting the prompt, or as a separate follow-up message. Default is full.
Important: This stage uses the FULL generation mode (all priorities) of the Feature Scenario Matrix. Do not use critical or diff scope unless explicitly requested by the user.
Input
- Running Application: Dev server (use the dev command from
plancasting/tech-stack.md) - Scenario Generation Guide:
${CLAUDE_SKILL_DIR}/references/feature-scenario-generation.md - PRD:
./plancasting/prd/-- ALL files, especially02-feature-map-and-prioritization.md,04-epics-and-user-stories.md,06-user-flows.md,07-information-architecture.md,08-screen-specifications.md - Tech Stack:
./plancasting/tech-stack.md - Project Rules:
./CLAUDE.md - E2E Config:
./playwright.config.ts,./e2e/helpers/,./e2e/constants.ts
Check ./plancasting/tech-stack.md for the Session Language setting. Generate all reports in that language. Code and file names remain in English.
Stack Adaptation
The examples use Playwright + Next.js + Convex. Adapt to your plancasting/tech-stack.md: test directory, test runner, dev server command, data fetching patterns. Replace npm run with your project's package manager per CLAUDE.md.
Phase 1: Lead Analysis & Planning
Complete BEFORE spawning teammates:
- Read project context:
./CLAUDE.md,./plancasting/tech-stack.md,${CLAUDE_SKILL_DIR}/references/feature-scenario-generation.md,./playwright.config.ts,./e2e/constants.ts,./e2e/helpers/ - Generate the Feature Scenario Matrix following the algorithm in the scenario generation guide:
- Read ALL PRD sources and extract structured data
- Read codebase sources (route constants, page files, middleware, auth helpers, schema, layouts)
- Build the Feature Dependency Graph
- Generate ALL scenario types: FS-NNN (Feature), AS-NNN (Auth Context), ES-NNN (Entity State), RS-NNN (Role Permission), NS-NNN (Negative)
- Apply scope filter (full/critical/diff)
- Cross-reference for coverage gaps -- every screen and route should appear in at least one scenario
- Save to
./plancasting/_audits/visual-verification/feature-scenario-matrix.mdand gap-fill matrix to./plancasting/_audits/visual-verification/verification-matrix.md
- Start the application:
- Kill any existing process on the dev port:
lsof -ti:3000 | xargs kill 2>/dev/null || true(Adapt port to your framework's default: Next.js: 3000, Vite/SvelteKit: 5173, Remix: 3000, Astro: 4321) - Run the dev server. If BaaS dev server fails non-interactively, set the BaaS URL env var in
.env.localand run only the frontend dev server. - Wait up to 60 seconds. If the server fails to start, ABORT.
- Kill any existing process on the dev port:
- Unauthenticated route verification (BEFORE logging in):
- Identify all public routes from middleware and PRD
- Open a fresh browser context (no cookies/localStorage/session)
- Navigate to EVERY public route -- verify HTTP 200 with correct content
- Test protected routes without auth -- verify redirect to
/login - Flag ANY public route that incorrectly redirects to login as CRITICAL
- Verify test users exist: Attempt login with credentials from
./e2e/constants.ts. If login fails, try seed endpoint, auth provider CLI, or UI signup. If all fail, ABORT. - Build Navigation Inventory: Read route constants, shared layout components, middleware. Compile a Navigation Checklist appended to the verification matrix.
- Plan teammate assignments: Assign separate test user accounts to each teammate to prevent state conflicts.
Phase 2: Spawn Verification Teammates
Spawn 4 teammates. Teammates 1, 2, and 4 run in parallel. Teammate 3 runs AFTER Teammate 1 completes.
Teammate 1: "automated-page-verifier"
Systematic page-by-page verification. Tasks: unauthenticated route checks (first), navigation/load verification, component presence, state verification, link integrity crawl, sub-navigation completeness, accessibility quick check, generate Playwright test files.
Teammate 2: "acceptance-criteria-verifier"
Execute Feature Scenarios and acceptance criteria. Tasks: parse and execute Given/When/Then criteria, generate Playwright tests, cross-feature flow verification, dead route detection, auth redirect verification.
Teammate 3: "visual-ai-reviewer" (after Teammate 1)
AI Vision review of screenshots at 3 breakpoints (1440px, 768px, 375px). Tasks: collect/take screenshots, visual spec compliance review (layout, component, content, responsive, design consistency), dark mode review.
Teammate 4: "responsive-and-interaction-verifier"
Interactive behavior and keyboard navigation. Tasks: form/modal/dropdown/tab testing, systematic button action verification, keyboard navigation, responsive functional testing at mobile breakpoints, cross-browser quick check (Chromium, Firefox, WebKit).
Phase 3: Coordination
- If Teammate 1 finds pages that don't load (HTTP 500, blank), flag as CRITICAL
- Aggregate findings across teammates
- If auth fails for ALL test users, ABORT
Phase 4: Verification Report
- Typecheck generated test files:
bun run typecheck - Run generated Playwright tests:
bunx playwright test e2e/verification/ --grep "@verification" --retries=2 - Generate report at
./plancasting/_audits/visual-verification/report.md-- include all result sections (scenario results, page-level results, unauthenticated access, acceptance criteria, visual compliance, navigation/link integrity, button actions, sub-navigation, responsive/interaction, gate decision, failure categorization for 6R routing) - Commit generated test files if any
- Save commit hash:
git rev-parse HEAD > ./plancasting/_audits/visual-verification/last-verified-commit.txt
Gate Decision (Dual System)
The gate uses TWO systems -- the final gate is the WORSE of the two:
Percentage-based system:
- PASS: >90% acceptance criteria pass, all pages load
- CONDITIONAL PASS: 80-90% criteria pass
- FAIL: <80% criteria pass
Fixability-based category system (uses 6V- prefix to distinguish from 5B):
- 6V-A (auto-fixable): broken links, dead code, incorrect imports -- 6R fixes automatically
- 6V-B (semi-auto): stub components, missing loading states -- 6R fixes with effort. Fixable by: adding component logic + local state, wiring existing hooks to components, adding inline handlers. NOT fixable (escalate to C) if it requires: restructuring state management, creating new hooks, changing API contracts, or modifying database schema.
- 6V-C (human judgment): architectural issues, design decisions -- 6R cannot fix
Dual-system decision matrix:
| Percentage | Categories Present | Final Gate | Next Stage |
| PASS (>90%) | None (zero actionable issues) | PASS | -> 6P/6P-R |
| PASS (>90%) | A/B only | CONDITIONAL PASS | -> 6R -> 6P/6P-R |
| PASS (>90%) | C only | PASS | -> 6P/6P-R (document C for human) |
| PASS (>90%) | Mixed A/B + C | CONDITIONAL PASS | -> 6R -> 6P/6P-R (document remaining C) |
| CONDITIONAL (80-90%) | A/B present | CONDITIONAL PASS | -> 6R -> 6P/6P-R |
| CONDITIONAL (80-90%) | C only | CONDITIONAL PASS | -> 6P/6P-R (document C for human) |
| FAIL (<80%) | Any | FAIL | Manual fix + re-run 6V |
Flaky Scenario Handling
A flaky scenario is a test that fails on the first run but passes on a subsequent re-run without code changes, typically caused by timing issues or external service latency. Retest a failing scenario once. If it passes on retest: mark as "FLAKY -- cause TBD" in the Issues table. In 6V, flaky scenarios are informational (do not count toward gate failure). In 7V (production), flaky scenarios count as FAIL.
Next Steps
- PASS: skip 6R -> proceed to Stage 6P or 6P-R (Visual Polish or Redesign) -> Deploy -> 7V -> 7D
- CONDITIONAL PASS with 6V-A/B issues: proceed to Stage 6R (Runtime Remediation)
- CONDITIONAL PASS with ONLY 6V-C issues: skip 6R -> proceed to Stage 6P or 6P-R
- FAIL: fix critical issues manually, then re-run Stage 6V
Phase 5: Shutdown
- Request shutdown for all teammates
- Verify all files saved and committed
- Leave the dev server running for 6R or 6P/6P-R
Critical Rules
- always start the dev server and verify accessibility before spawning teammates. ABORT if it fails within 60 seconds.
- never skip the AI vision review (Teammate 3).
- never mark a page as PASS if it has console ERRORS. Console WARNINGS from third-party libraries do not constitute FAIL.
- always test with seeded data.
- always take screenshots on failure.
- always map findings to PRD identifiers (SC-NNN, US-NNN, FEAT-NNN).
- always generate Playwright test files even when using direct browser interaction.
- This stage FINDS issues -- it does not fix them. Fixes happen in Stage 6R.
- never let one teammate's actions corrupt state for another.
- For eventually-consistent backends, use
expect.poll()or retry assertions (up to 10s timeout). - always verify test user seeding BEFORE spawning teammates.
- always crawl links from shared layouts (sidebar, header, footer, mobile nav).
- always test navigation at BOTH desktop and mobile viewports.
- always click buttons and verify their action -- not just DOM presence.
- always test auth middleware redirects for ALL public routes.
- always test public routes from a FRESH unauthenticated browser context BEFORE logging in.
Output Specification
| Artifact | Path |
| Feature Scenario Matrix | ./plancasting/_audits/visual-verification/feature-scenario-matrix.md |
| Verification Matrix (gap-fill) | ./plancasting/_audits/visual-verification/verification-matrix.md |
| Verification Report | ./plancasting/_audits/visual-verification/report.md |
| Last Verified Commit | ./plancasting/_audits/visual-verification/last-verified-commit.txt |
| Baseline Screenshots | ./screenshots/visual-verification/baseline/ |
| Playwright Test Files | e2e/verification/*.spec.ts |
| Screenshots | ./screenshots/automated/, ./screenshots/criteria/, ./screenshots/vision/ |
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

