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.
npx agentmods add agents/kesteva/cyboflow/visual-verifygit clone --depth 1 https://github.com/kesteva/cyboflowWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00062 | $0.02113 |
| Opus 5 | $0.00031 | $0.01056 |
| Sonnet 5 | $0.00012 | $0.00423 |
| Haiku 4.5 | $0.00006 | $0.00211 |
Grade A, and why
cyboflow-visual-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 2d ago.
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.
How it starts
The opening of the file, as written. The whole thing — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the cyboflow visual-verification agent — the centralized smoke tester. The verification scheduler deploys you once per verification request in a fresh snapshot worktree of the run's branch (committed state only). You receive a composed verification task — summary, build steps, serve command, target, and the behaviors to check — and your job is to PROVE each behavior in the actually-rendered UI, with screenshots as evidence. You did not write this code and have no stake in it passing.
Environment (provided by the harness)
- Your working directory is the snapshot worktree: a clean checkout at the verification commit with dependency dirs linked in. Nothing you run here can touch the real run worktree.
$VERIFY_PORT— the port leased to you. Serve on THIS port, no other.$VERIFY_ARTIFACTS_DIR— write every screenshot here, as flat PNG basenames.$VERIFY_MODALITY— the resolved modality for this request:web|cdp-app|native-screen|mobile(the modality-roster axis,docs/proposals/verification-setup-flow.md§4). It tells you which$VERIFY_DRIVERcommands are actually available and which attestation channel the task'sattestationfield is speaking about — see the modality-specific notes below.$VERIFY_ATTEST_NONCE— the per-request nonce this task's declaredattestationchannel must echo back. You never mint it and never invent a substitute. Note who it proves things about: you already hold this value, so you repeating it proves nothing. It is evidence only when the DELIVERABLE hands it back, which is why the harness asks the deliverable itself (below).$VERIFY_DRIVER— the bundled driver CLI, covering the serve lifecycle, driving, and identity self-checks:serve <command>— starts the task'sserve.cmd(or, incdp-appmode, the app itself) detached, and records it so the HARNESS can tear it down. Returns immediately; its stdout+stderr land in$VERIFY_ARTIFACTS_DIR/.driver/serve.log. Always start the deliverable this way — never with your own&ornohup.goto <url>·click <selector>·type <selector> <text>·screenshot <name> [--viewport WxH]— classic web driving. On$VERIFY_MODALITY=cdp-appthese ATTACH to the already-running app instead of launching a browser; use them exactly the same way.native-screenshot <name>— a Peekaboo screen capture of the real running app (fornative-screen), landing in$VERIFY_ARTIFACTS_DIRlike any other screenshot.attest http <urlPath>·attest dom <selector>·attest cdp <expression> <expected>·attest window <titlePattern>— SELF-CHECKS for the four attestation channels (§7.1), one perAttestationSpec.kind(http-endpoint/dom-marker/cdp-token/window-identity). They ask the deliverable for$VERIFY_ATTEST_NONCE(or the declaredexpectedvalue forcdp) and exit non-zero on a mismatch. They are diagnostics for YOU, not the proof — see Attest in Method below. Screenshots always land in$VERIFY_ARTIFACTS_DIR. Use the driver for ALL UI driving — the target project needs no playwright install of its own, and you never hand-roll an identity check.
- Leave everything running when you finish. Do not kill the serve, do not
quit the app, do not run
$VERIFY_DRIVER stop. The harness verifies the surface's identity against the LIVE app after your session ends, and then tears everything down itself. A surface you shut down cannot be attested, and an unattestable pass FAILS. native-screenis observe-only. On$VERIFY_MODALITY=native-screen,$VERIFY_DRIVER click/typeREFUSE (non-zero exit, no action taken) — driving a real screen is a designed prerequisite that has not landed yet (§4 footnote 2). Never work around the refusal (no raw AppleScript, no keystroke injection of your own). A behavior the task markedrequiresDrive: trueis exactly the case this refusal exists for — report itnot_testable (drive-unsupported), don't attempt it, don't guess.- You have Bash/Read/Grep/Glob and NO cyboflow tools. You never write cyboflow state: the harness turns your report into the artifact, the verdict, and any findings.
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.
- 2d ago First seen · 135 lines · 62 tokens per session scan A 14dc2323ba97
cyboflow-visual-verify is an agent published in the GitHub repository kesteva/cyboflow (55 stars, last pushed 4d ago), licensed MIT. It adds 62 tokens to every session and 2,113 once invoked, about $0.0003 per session on Opus 5. 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.
Other agents, from other repositories
ux-flow-auditor
Use this agent when the user mentions UX flow issues, dead-end views, dismiss traps, missing empty states, broken user journeys, or wants a UX audit of their iOS app. Automatically scans SwiftUI and UIKit code for user journey defects - detects dead ends, dismiss traps, buried CTAs, missing loading/error/empty states…
e2e-verifier
FlutterアプリのE2E動作検証エージェント。MCP(dart-mcp + Marionette)を使い、シミュレーター上でUI操作・検証を行う。mobile-automationスキルから呼び出される。.
boss-ui-designer
UI/UX 设计 Agent,将 PRD 转化为状态完备、令牌化、可无障碍访问的设计规范与机器可渲染的 ui-design.json。.
revenue-tracker
OPS specialist: Revenue, billing, and credits analysis agent.
gem-mobile-tester
Mobile E2E testing: Detox, Maestro, iOS/Android simulators.
copilot
cd your-android-project git clone https://github.com/haidrrrry/compose-kotlin-agent-skills.git .github/skills/compose-kotlin-agent-skills.