Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/lukedj78/dev-flownpx agentmods add skills/lukedj78/dev-flow/app-verificationWrote 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.
[](https://agentmods.dev/skills/lukedj78/dev-flow/app-verification)<a href="https://agentmods.dev/skills/lukedj78/dev-flow/app-verification"><img src="https://agentmods.dev/badge/skills/lukedj78/dev-flow/app-verification/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.
<a href="https://agentmods.dev/skills/lukedj78/dev-flow/app-verification"><img src="https://agentmods.dev/badge/skills/lukedj78/dev-flow/app-verification.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00247 | $0.03512 |
| Opus 5.5 | $0.00099 | $0.01405 |
| Sonnet 5.5 | $0.00049 | $0.00702 |
| Haiku 4.5 | $0.00025 | $0.00351 |
Grade A, and why
app-verification 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 — 199 lines — stays where its author put it; the contents beside it link to each section on GitHub.
app-verification — a manual to prove features on the real app
Every time an agent has to show that something works on the running app, it starts from nothing: how to start it, when it is really ready, which user to sign in as, where to look, how to stop without killing the user's own dev server. What it learns is gone at the end of the session, and the next agent guesses — and a guess is how a page that merely rendered becomes "verified".
This skill writes that knowledge down once, inside the project, as a skill Claude Code finds by itself:
.claude/skills/verify-<app>/. The manual is for the next agent, read cold mid-task by someone who has never seen
the app, not for a person.
The manual
.claude/skills/verify-<app>/
├── SKILL.md # Launch · Doctor · Drive · Evidence · Cleanup · Isolation
├── features/README.md # baseline preconditions, driving conventions, proof rules, index
├── features/US-N-<slug>.md # one per PRD story: Sub-features · How to get to it · Driving it with · Gotchas
└── scripts/ # only if needed: executable, and named in SKILL.md
What each part holds, with filled examples: references/manual.md. How to drive each stack (web, Expo, eve,
monorepo): references/stack-recipes.md.
create
-
Interview the repo, not the user. What a user touches, how it starts (the repo's own scripts first), how it can be driven (an existing Playwright or Maestro setup before a generic recipe), what can be observed, whether two instances can run side by side. Ask the user only what the code cannot tell you.
-
If the app does not start as it is, say so precisely — the missing env var, the database it cannot reach — before writing a line. A manual written over a broken base teaches wrong steps.
-
Scaffold.
python3 <skills>/app-verification/scripts/verify_map.py scaffold <project-root>One manual per surface the project has, found by
surfaces.py, the one module that decides what a project is made of (canonical indev-flow/scripts/, vendored here). It walks the root, the declared workspaces (pnpm-workspace.yaml,package.json#workspaces) andapps/*/packages/*:
What ships with it
19 files 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.
- references/contracts.md 80 KB
- references/maintain.md 3.2 KB
- references/manual.md 5.1 KB
- references/stack-recipes.md 4.6 KB
- scripts/fixtures/probe/broken.html 1.2 KB
- scripts/fixtures/probe/clean.html 2.5 KB
- scripts/fixtures/probe/fetch-skeleton.html 905 B
- scripts/fixtures/probe/late-shift.html 726 B
- scripts/fixtures/probe/orders.json 16 B
- scripts/fixtures/probe/redirect.html 242 B
- scripts/fixtures/probe/reveal-js.html 857 B
- scripts/fixtures/probe/skeleton-shift.html 974 B
- scripts/fixtures/probe/two-windows.html 879 B
- scripts/meta_io.py 9.2 KB runs code
- scripts/render_probe.mjs 30 KB runs code
- scripts/surfaces.py 7.8 KB runs code
- scripts/test_render_probe.py 8.3 KB runs code
- scripts/test_verify_map.py 23 KB runs code
- scripts/verify_map.py 31 KB runs code
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 Changed · +33 lines · +19 tokens per session 89c047de9bb2
- 3d ago First seen · 166 lines · 228 tokens per session scan A d560a8a628a9
app-verification is a skill published in the GitHub repository lukedj78/dev-flow (6 stars, last pushed yesterday), licensed MIT. It adds 247 tokens to every session and 3,512 once invoked, about $0.0010 per session on Opus 5.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-10-19.
Other skills, from other repositories
nexent-daily-test
A procedure for running Nexent daily, full-layer tests on a self-hosted Ubuntu machine. Nexent is tested across separate layers such as unit, service, AI runtime, and browser journeys, with results and evidence kept locally.
tfp-verification
Generate a deterministic report for disposable executor acceptance tests.
ios-testing-patterns
XCTest and XCUITest execution workflows and flaky test detection patterns.
ui-automation-workflows
Accessibility-first UI automation using IDB. Query accessibility tree (fast, 50 tokens) before screenshots (slow, 170 tokens). Use when automating simulator interactions, tapping UI elements, finding buttons, or testing user flows. Covers idb-ui-describe, idb-ui-tap, idb-ui-find-element patterns.
test-automation
Execute Vitest and Playwright test suites with result collection and failure analysis.
qa-testing
Generate and execute API and E2E tests with quality gate assessment.