Agent skill
verification-gate
Reusable verification gate for completed work before commit or merge. Use when implementation is done and Claude must prove the task works, verify the main user flow, choose between browser-flow, browser-static, or non-browser validation, and return a PASS/FAIL/BLOCKED verdict with evidence. When browser verification is needed, rely on the agent-browser skill for browser actions, screenshots, and recordings.
Install this agent skill to your Project
npx add-skill https://github.com/iamhenry/ai-project-starter-kit/tree/main/.opencode/skills/verification-gate
SKILL.md
Verification Gate
Use this skill after implementation and before commit or merge.
Keep the scope narrow:
- Prove the intended task outcome works.
- Choose the lightest verification mode that creates confidence.
- Return a clear verdict with evidence.
Do not use this skill for exploratory QA or bug hunting. Use dogfood for that.
Preflight
Before starting any browser verification:
- Confirm the
agent-browserskill is available and read it first for setup and usage. - If browser verification is needed but
agent-browseris not ready, do not loop on failing browser steps. ReturnBLOCKEDwith the missing setup or prerequisite.
Inputs
Collect the minimum context needed to verify the work:
- task goal
- acceptance criteria or success definition
- changed behavior or files
- target URL, command, or environment
- auth, seed data, or other prerequisites
If key prerequisites are missing and you cannot verify safely, return BLOCKED.
Modes
Choose exactly one primary mode:
browser-flow- Use for multi-step UI flows, async state transitions, persisted state, uploads, or other behavior that must be proven end to end in the browser.
browser-static- Use for simple render, layout, copy, or visible-state checks where screenshots are enough.
non-browser- Use for backend, CLI, API, data, or other tasks where browser proof adds no value.
Prefer the smallest proof path that still demonstrates real user value.
Workflow
-
Define the verification objective.
- State the single main user outcome that must work.
- Add one lightweight regression check when adjacent behavior could easily break.
-
Map the proof flow.
- Start from the first meaningful user or system action.
- End at the success state the user cares about.
- Avoid padding the flow with irrelevant steps.
-
Execute verification.
-
For
browser-floworbrowser-static, use theagent-browserskill instead of re-inventing browser steps. -
Follow the
snapshot -> interact -> re-snapshotcadence. -
Use named sessions.
-
When needed, read:
.opencode/skills/agent-browser/references/snapshot-refs.md.opencode/skills/agent-browser/references/session-management.md.opencode/skills/agent-browser/references/video-recording.md
-
Use
📸screenshots for static proof points. -
Use
🎥recordings only for multi-step interactions or async transitions that are hard to prove with screenshots alone. -
For
non-browser, run the smallest direct proof path available. -
Prefer assertions tied to user-visible outcomes: command success, API response shape, file creation, persisted data, or other concrete results.
-
-
Decide the verdict.
PASS: the main flow completes and the success state is proven.FAIL: the flow breaks, the result is wrong, or the outcome cannot be proven.BLOCKED: required auth, data, environment, or tooling is missing.
-
Report the result.
Evidence Rules
- Prove the whole flow, not just the final screen.
- Capture only the evidence needed to support the verdict.
- Never record secrets, tokens, private user data, or unnecessary personal information.
- If a task directory exists, store artifacts under
_ai/task/{SLUG}/verification/withscreenshots/andvideos/subfolders. - Always include artifact paths in the final report when evidence exists.
Output
Use this exact structure:
## Verification Result
- Mode: `browser-flow|browser-static|non-browser`
- Objective: [single outcome verified]
- Primary flow: [short description]
- Regression check: [short description or "None"]
- Verdict: `PASS|FAIL|BLOCKED`
### Evidence
- [artifact path or "No artifacts"]
### Notes
- [key proof point, failure point, or blocker]
### Next Action
- [commit / fix issue / unblock environment]
Examples
browser-flow: Select model -> enter prompt -> submit -> generated images appear.browser-static: Open settings page -> verify new card, copy, and CTA render correctly.non-browser: Run export command -> confirm output file exists and contains expected records.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
osgrep
Semantic code search using natural language queries. Use when users ask "where is X implemented", "how does Y work", "find the logic for Z", or need to locate code by concept rather than exact text. Returns file paths with line numbers and code snippets.
napkin
Maintain a per-repo napkin file that tracks mistakes, corrections, and what works. Activates EVERY session, unconditionally. Read the napkin before doing anything. Write to it continuously as you work — not just at session boundaries. Log your own mistakes, not just user corrections. The napkin lives in the repo at `.opencode/napkin.md`.
dogfood
Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.
tmux
Manage concurrent background processes using tmux. Use when spawning dev servers, running long-running tasks, monitoring multiple processes, or capturing output from background commands without blocking the main session.
viral-research
Viral content research and DNA extraction for Instagram Reels. Use this skill whenever you need to research what's performing in a niche on Instagram, find viral faceless Reels, download and analyze them frame-by-frame, identify patterns, and produce a structured research brief. Trigger whenever the user mentions viral content research, Instagram research, Reel analysis, content DNA, swipe file building, niche research, competitor analysis for social content, or wants to understand why certain content performs. Also trigger when the user wants to find content formats to adapt, study what's working in a niche, or build a research-backed content strategy. This skill is research-only — it does not generate or publish content.
import-github-dirs
Import specific directories from external GitHub repos without cloning. Uses tarball extraction to pull only what you need. TRIGGER when user wants to copy files/folders from another repo.
Didn't find tool you were looking for?