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.

Stars 5
Forks 3

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-browser skill is available and read it first for setup and usage.
  • If browser verification is needed but agent-browser is not ready, do not loop on failing browser steps. Return BLOCKED with 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:

  1. 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.
  2. browser-static
    • Use for simple render, layout, copy, or visible-state checks where screenshots are enough.
  3. 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

  1. Define the verification objective.

    • State the single main user outcome that must work.
    • Add one lightweight regression check when adjacent behavior could easily break.
  2. 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.
  3. Execute verification.

    • For browser-flow or browser-static, use the agent-browser skill instead of re-inventing browser steps.

    • Follow the snapshot -> interact -> re-snapshot cadence.

    • 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.

  4. 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.
  5. 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/ with screenshots/ and videos/ subfolders.
  • Always include artifact paths in the final report when evidence exists.

Output

Use this exact structure:

md
## 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.

Expand your agent's capabilities with these related and highly-rated skills.

iamhenry/ai-project-starter-kit

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.

5 3
Explore
iamhenry/ai-project-starter-kit

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`.

5 3
Explore
iamhenry/ai-project-starter-kit

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.

5 3
Explore
iamhenry/ai-project-starter-kit

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.

5 3
Explore
iamhenry/ai-project-starter-kit

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.

5 3
Explore
iamhenry/ai-project-starter-kit

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.

5 3
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results