web-verify

web-verify is a skill for Claude Code, Codex from kirodotdev/KiroCrew. It costs 0 tokens per session (2,781 once invoked), scanned A, original, Apache-2.0.

A verification workflow for checking a changed web interface by opening it in a browser, taking a screenshot, and inspecting the result. It treats the screenshot as evidence that the visible page works as intended.

In plain words
What is it for?
Checking front-end changes on a local development server or pod and capturing a bounded set of screenshots for visual inspection.
Why use it?
Automated tests can pass while the page still has visual problems such as clipped text, blank panels, or incorrect layout.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents.

Good fit Checking front-end changes on a local development server or pod and capturing a bounded set of screenshots for visual inspection.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/kirodotdev/kirocrew/web-verify
About the project

Kiro Crew is a persistent development workspace where agents continue multi-step software work across sessions, schedules, and connected interfaces. Developers use it locally or remotely through a desktop app, web dashboard, CLI, Slack, or Discord, with unattended tasks and recurring jobs. The catalogue contains skills and instructions for working with this workspace.

kirodotdev/KiroCrew · 4,496 stars · on GitHub · kiro.dev

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add kirodotdev/KiroCrew --skill web-verify
Clone the repo
git clone --depth 1 https://github.com/kirodotdev/KiroCrew

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for web-verify

README.md
[![agentmods](https://agentmods.dev/badge/skills/kirodotdev/kirocrew/web-verify/github.svg)](https://agentmods.dev/skills/kirodotdev/kirocrew/web-verify)
Your own site
<a href="https://agentmods.dev/skills/kirodotdev/kirocrew/web-verify"><img src="https://agentmods.dev/badge/skills/kirodotdev/kirocrew/web-verify/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for web-verify

Your own site · 80×15
<a href="https://agentmods.dev/skills/kirodotdev/kirocrew/web-verify"><img src="https://agentmods.dev/badge/skills/kirodotdev/kirocrew/web-verify.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,781 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 4 findings, up to medium

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • medium Excessive Agency · line 28
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
  • medium Excessive Agency · line 100
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
  • medium Excessive Agency · line 138
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
  • medium Excessive Agency · line 163
    Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.
    Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.02781
Opus 5.5 $0.00000 $0.01112
Sonnet 5.5 $0.00000 $0.00556
Haiku 4.5 $0.00000 $0.00278

Measured 8d ago against content hash a56f4a2b4a76, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

web-verify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/downscale_image.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

src/kiro_crew/builtin_skills/web-verify/SKILL.md · 174 lines

How it starts

The opening of the file, as written. The whole thing — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Web Verify: look at your own front-end change

Tests prove the code runs; they do not prove the pixels are right. A passing vitest run is compatible with a clipped label, a wrapped flex row, a blank panel behind a gate, or an empty state that never mounts. When you change UI, open it and look at it, then put the frame in chat so the user sees the same thing you did.

This is the self-verification path: the screenshot is evidence, not decoration. It is view-only (navigate plus screenshot); clicking and typing through a flow uses the same CLI with more verbs. Keep the frame count bounded (see below). Restraint here is about context cost, not permission.

Three ways to capture, and name the one you used

Not a backend here: the browser MCP tool. Its screenshot op renders in the Browser panel and hands you no image file to read, and it refuses loopback unless the operator listed that exact host:port in the dashboard's local-origins setting (every URL in this skill is loopback). So playwright-cli is the local-verification path by design, not by preference.

backend how notes
playwright-cli playwright-cli open <url> then playwright-cli screenshot. It prints the path it wrote; read that. The positional argument is an element ref, not a path, and --filename resolves against the CWD (so it can clobber a repo file and is not auto-approved) -- take the printed path instead of naming the file. The panel-integrated path: the session is what the dashboard's Browser panel shows, so the user watches the verification instead of waiting for a summary. Prefer it when playwright-cli is on PATH.
agent-browser (vercel-labs/agent-browser) agent-browser open <url> then screenshot <path>; snapshot -i for refs, screenshot --full for a whole page, screenshot --annotate for numbered element labels, diff screenshot --baseline before.png for a pixel diff, a11y for an axe-core audit. Batch a whole flow in one call with agent-browser batch. A standalone Rust CLI (npm install -g agent-browser plus agent-browser install); it drives its own Chrome, so frames land on disk and do not appear in the Browser panel. Reach for it when it is already installed, or when you specifically want annotated frames, a baseline pixel diff, or the a11y audit.
Scripted Playwright the pod-e2e runner, or a repo capture harness under website/scripts/, writing PNGs to a directory. The right choice for many deterministic frames or a repeatable harness in CI, and it keeps this loop working on a host with no browser CLI at all.

Read the full file on GitHub · 174 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago Changed · +4 lines a56f4a2b4a76
  2. 12d ago Changed · +6 lines 22c5f04583eb
  3. 15d ago Changed b6c87239c355
  4. 1mo ago Changed · -4 lines d72be4fd6699
  5. 1mo ago Changed · +4 lines baea95c65dad
  6. 1mo ago First seen · 164 lines · 0 tokens per session scan A 337306d0d7cc

Subscribe to this mod's changes

web-verify is a skill published in the GitHub repository kirodotdev/KiroCrew (4,496 stars, last pushed today), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 2,781 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.