skills/verify/SKILL.md
Use when user says "verify implementation", "check acceptance criteria", "validate feature", "does this meet requirements", "QA check", or wants to confirm code meets the original requirements and passes quality checks.
npx skillsauth add ash4180/vorbit verifyInstall 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.
Validate that an implementation meets the requirements in the parent Linear issue / PRD — not just that tests pass.
Linear MCP namespace: All Linear calls use
mcp__plugin_linear_linear__*. Figma calls usemcp__figma__*for design-driven sub-issues.
Locate
_shared/: This skill ships as a plugin, so_shared/files live in the plugin cache, not your project. Before reading any_shared/...path below, runls -d ~/.claude/plugins/cache/local/vorbit/*/skills/_shared 2>/dev/null | head -1and use the output as the absolute base for every_shared/...reference.
Required reading:
/vorbit:implement:epicproduces sub-issues with structured sections (Required Sections per Sub-issue — seeskills/epic/output-schema.md). Verify validates each section, not just tests. A passing test suite is the floor, not the ceiling.
UX patterns reference: When validating state coverage, consult
_shared/ux-knowledge/edge-case-catalog.md(concrete edge cases) andux-philosophy.md(state-design principles). Read directly.
Read and follow _shared/mcp-tool-routing.md. Discover connected platforms, ask user which to use, verify connection. If no PRD is needed, skip to Step 2.
get_issue. Read its description. Identify whether it's a sub-issue (has parentId) — if so, also fetch the parent epic for its Acceptance Criteria.notion-fetch to fetch the PRD.Parse the sub-issue body for these sections (per skills/epic/output-schema.md → Required Sections per Sub-issue):
| Section | What to look for |
|---------|------------------|
| Related Epic AC | List of AC-* IDs from parent epic this sub-issue must satisfy |
| Related Flow Steps | F*-S* IDs and touched surfaces |
| Reuse & Patterns | Utilities/constants/similar features the implementer was meant to use |
| FE Architecture Blueprint | 6-area table (reuse/create, hierarchy, data/API, state, design-system, test seams) |
| Design Source of Truth | Figma node IDs, target surface, states, conflicts |
| Screenshot Evidence | Figma reference + browser/app result expected |
| File Changes | CREATE/MODIFY file paths planned |
| Mock Data | Mock files/state planned |
| Acceptance Criteria | Sub-issue specific AC |
| Test Criteria | TDD requirements |
If the issue body is missing structured sections (older issues, hand-written), fall back to validating just the Acceptance Criteria + Test Criteria you can find.
Detect and run the project test suite:
npm test or yarn testpytestgo test ./...cargo testSTOP if tests fail — run /vorbit:implement:implement to fix first. No further validation runs until tests pass.
The sub-issue's Test Criteria was meant to be written FIRST per /epic's TDD rule. Verify:
git log for the test file:
output-schema.md → E2E Test Quality Rules):
Report TDD status:
[TDD OK] Tests written before implementation, observable assertions[TDD WARN] Tests exist but committed alongside implementation[TDD FAIL] No tests found for featureFor each AC-* item in the issue (and parent epic's "Related Epic AC" list):
[PASS] / [FAIL] / [PARTIAL] with evidenceIf the criterion has a [GIVEN/WHEN/THEN] scenario format, walk each clause:
If the sub-issue has an "FE Architecture Blueprint" section, check the implementation against each row:
| Blueprint area | Verify by |
|----------------|----------|
| Reuse/create matrix | Each block in the mockup → actual component used. Reuse/Adapt items must reference existing files; Create items must have new files in the right location |
| Component hierarchy | Component tree matches the planned parent→children render order |
| Data/API contract | API call exists, handles loading/error/empty as planned |
| State ownership | State lives in the planned owner (URL/server/local/form/optimistic) |
| Design-system mapping | UI primitives/tokens/icons used match the plan |
| Test seams | Tests exist at the planned levels (unit/component/integration/screenshot) |
If the implementation diverges from the blueprint, mark as [BLUEPRINT DRIFT] and explain — divergence might be justified (new info during implementation) or a bug (silent override of the plan).
If the sub-issue has a "Design Source of Truth" section with a Figma node ID:
mcp__figma__get_design_context with the primary node ID_shared/figma-handoff.md — layout, token bindings, states (empty/loading/error rendered as designed), and copy; follow the conflict rule when sources disagree.[FIGMA MATCH] — implemented surface matches the source node[FIGMA DRIFT — INTENTIONAL] — differs from Figma but the issue has a noted exception[FIGMA DRIFT — UNEXPLAINED] — differs with no documented reason → ask before passingThe issue's Screenshot Evidence section should already have the Figma reference + browser result captured by /implement. Cross-check that both screenshots exist and the comparison notes are present.
File Changes check:
git diff --name-only for this branch[FILES OK] — all planned files changed, no surprise files[FILES UNEXPECTED] — files outside the plan changed (could be valid, but explain)[FILES MISSING] — planned files weren't touchedMock Data check:
.claude/mock-registry.jsonMOCK_ prefixed constants or hardcoded mock arrays remain in production paths (run /vorbit:implement:cleanup-mocks if not done)Per _shared/frontend-knowledge/i18n-detection.md — if the project uses i18n:
t(), useTranslations, $t, etc. wrapping the text)[i18n MISSING] with file:lineScan for leftovers:
console.log / print / debug statementsTODO / FIXME comments introducing tech debt (existing comments OK if unrelated)Report findings with file:line locations.
# Verification Report
## Status: [PASS / FAIL / PASS WITH WARNINGS]
### Tests
- Passed: X / Failed: Y
- TDD status: [OK / WARN / FAIL]
### Related Epic Acceptance Criteria
- [x] AC-1 ... — `src/path/file.ts:42`
- [ ] AC-2 ... — FAIL: [reason]
- [x] AC-3 ... — `src/path/file.ts:120`
### Sub-issue Acceptance Criteria
- [x] AC-SUB-1 ...
- [ ] AC-SUB-2 ... — FAIL
### FE Architecture Blueprint (UI work)
- [x] Reuse/create matrix followed
- [ ] State ownership: planned URL state, implemented as local state — drift
### Design Source of Truth (UI work)
- Figma reference: [node-id]
- Browser screenshot: [path or "captured"]
- [FIGMA MATCH] or [FIGMA DRIFT]: ...
### File Changes
- [FILES OK] / [FILES UNEXPECTED]: ...
### Mock Data
- [x] All planned mocks registered
- [ ] 2 unregistered mocks in `src/pages/X/`
### i18n (if applicable)
- [ ] 3 hardcoded strings in `src/components/Form.tsx:15-18`
### Hygiene
- Found 2 `console.log` in `utils.ts:34`, `helpers.ts:88`
### Verdict
[1-2 sentences. What's still blocking, or "Ready to mark Done."]
If validating a Linear issue:
| # | Check | Required when |
|---|-------|---------------|
| 1 | Tests pass | Always — blocking |
| 2 | TDD-first verified | If Test Criteria section exists |
| 3 | Acceptance Criteria | Always |
| 4 | FE Architecture Blueprint compliance | If FE Architecture Blueprint section exists |
| 5 | Figma Source of Truth + Screenshot Evidence | If Design Source of Truth section exists |
| 6 | File Changes match plan | If File Changes section exists |
| 7 | Mock Data registered | If Mock Data section exists or project has mocks |
| 8 | i18n complete | If project uses any i18n library |
| 9 | Code hygiene | Always |
[OK] or [PASS] for the rows that apply[FAIL], or [BLUEPRINT DRIFT — UNEXPLAINED], or [FIGMA DRIFT — UNEXPLAINED], or [TDD FAIL]development
Sync design tokens and components from a codebase to a Pencil canvas (`.pen` files), or set up a Pencil canvas from a style guide when no codebase exists. Use when the user says "sync pencil", "setup pencil", "configure pencil", "pencil sync", "sync tokens to pencil", "build pencil component library", or names Pencil/`.pen` files explicitly. Also triggers when mockups generated by Pencil don't match project conventions.
development
--- name: figma version: 1.6.0 description: Use when user says "figma", "figma it", "sync figma", "figma mockup", "create figma file", "design to figma", "figma from PRD", "figma from journey", "build in figma", or "figma design system" — anything that creates, syncs, or updates Figma design systems, components, variables, mockups, or front-end-ready screens. Always enumerates the linked Figma library FIRST (library-driven discovery, not per-need search), produces a block→DS mapping table for us
development
Use when the user wants to build Webflow pages, templates, or components, with or without Figma designs as reference.
testing
Use when the user wants to verify an implementation, validate acceptance criteria, or run a Vorbit-style post-change check using shared project rules.