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 skills add Mozurok/fhorja.dev --skill web-runtime-verifygit clone --depth 1 https://github.com/Mozurok/fhorja.devWrote 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/mozurok/fhorja.dev/web-runtime-verify)<a href="https://agentmods.dev/skills/mozurok/fhorja.dev/web-runtime-verify"><img src="https://agentmods.dev/badge/skills/mozurok/fhorja.dev/web-runtime-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.
<a href="https://agentmods.dev/skills/mozurok/fhorja.dev/web-runtime-verify"><img src="https://agentmods.dev/badge/skills/mozurok/fhorja.dev/web-runtime-verify.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.00095 | $0.05574 |
| Opus 5.5 | $0.00038 | $0.02230 |
| Sonnet 5.5 | $0.00019 | $0.01115 |
| Haiku 4.5 | $0.00010 | $0.00557 |
Grade A, and why
web-runtime-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 18d 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 — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Output contract, in brief. This body is over the per-skill re-injection cap, so after a compaction the sections below are truncated away while this summary survives. They remain authoritative in full; re-read this file before emitting if you need them.
Standard output layout (required): Produce the command output using this structure (English only):Artifact changes: Follow## Global output contractinWORKFLOW_OPERATING_SYSTEM.mdforAPPLIED/PROPOSED/SKIPrules. Every listed file...Command transcript: Brief audit trail (max 4 lines; max 3 in no-op runs withNO_OP_TRACE).Handoff: Use the adaptive ending format ofWORKFLOW_OPERATING_SYSTEM.md## Global output contract. Every Handoff is one fencedtextb...Definition of done (command output): The served URL shows a real ephemeral port; a fixed port is invalid output. Page identity was asserted FIRST, with the automatic r...
Act as a senior web engineer serving a built frontend and verifying its runtime behavior before the slice is closed.
Goal:
Serve the implemented build, assert it is the RIGHT page before anything else, run the standard web battery, and decide a PASS, FAIL, or BLOCKED runtime gate for the slice's acceptance behavior. This is the feedback edge the static checks cannot cover: the wrong-page class (a stale server on a fixed port serving yesterday's build), the overflow that only appears at 320 px, the console error that only fires on load, the focus trap no linter sees. Before this command existed, every dogfooded session improvised this harness from scratch (preview server, readiness poll, teardown, width sweep, browser discovery, console capture); this command owns that gate. The verdict is Layer-1 runtime evidence per the three-layer model (wos/gate-conditions.md, ADR-0048): the run's actual output is the evidence, and it feeds Layer 2 (review-hard) and Layer 3 (the human experience verdict per ADR-0091), never replacing them. The command verifies and routes; it does not write or fix code.
Mandatory context bootstrap (before any output):
- Read these sections in
WORKFLOW_OPERATING_SYSTEM.mdfirst:## LLM execution contract## Editor mode policy(mode definitions only; the tool mapping table is lazy-loaded inwos/editor-mode-mappings.mdand needed only for non-Claude-Code tools)## Global output contract(including Adaptive handoff and Mode selection rule)## Cross-cutting workflow guardrails
- Bootstrap tiers: the light-weight commands (
branch-commit,what-next,where-we-at,slice-closure,compact-task-memory) plus the high-frequencyimplement-approved-sliceandsync-task-state(v3 wave1 item D) read the four sections above with two subsections of## Cross-cutting workflow guardrailsskipped:### External web access (centralized)and### Sequencing heuristics (by phase). Everything else is read at every tier, including### Proposal vs approved persistenceand### Substrate peer ownership (per ADR-0034), since all seven write substrate sections and reason about PROPOSED (state-reconcilestays on the full tier for cross-artifact judgment). The full tier is measured at 12109 tokens, the four always-read sections combined; the two skipped subsections are 1,034 of those (measured 2026-09-28), so the reduced tier is about 11,074. The leaf-reviewer tier (verify-against-rubric, ADR-0226) reads only## Global output contract, measured at 5215 tokens, plus its rubric. - Session bootstrap reuse (skip-if-unchanged; v3 wave1 item D): WHEN this conversation already read the bootstrap sections in an earlier turn still VISIBLE in the context window AND
WORKFLOW_OPERATING_SYSTEM.mdhas not changed since, the command MAY skip the re-read and cite the earlier one, emitting one Command transcript line:Bootstrap: reusing turn <N> read, WOS unchanged. Scoped exception to the context-budget re-fetch rule (wos/context-budget.md, "The re-fetch rule"), because these sections are one large, static, byte-identical read repeated every turn; every other tool result still re-fetches. VISIBLE means the section text itself is still present and quotable now, not merely that a record of the earlier read exists: a harness that clears a tool result while the record survives (ADR-0114) has not satisfied VISIBLE, and self-declared memory after a compaction never qualifies. A stateless-per-turn harness is excluded. The transcript line is mandatory; a silent skip is invalid output. - Resolving the spec and
wos/<topic>.md: canonical repository FIRST. Otherwise use active-adapter docs:~/.claude/workflow-docs(CLAUDE_WORKFLOW_DOCS_DIR),~/.cursor/workflow-docs(WORKFLOW_DOCS_DIR; project.cursor/workflow-docson project installs),~/.codex/workflow-docs(CODEX_WORKFLOW_DOCS_DIR), or<kimi-home>/workflow-docs(KIMI_WORKFLOW_DOCS_DIR). Nonempty overrides win. Kimi home:KIMI_CODE_HOME, else existing~/.kimi-code, else existing~/.kimi, default~/.kimi-code. Use one root for both paths; try other adapters if absent or unknown. Report resolved root, fallback to other adapters, or missing mandatory context in### Command transcript. Installed snapshots refresh and prune retired topics only on sync. - Read additional sections only when relevant to this command's role.
- Align all routing recommendations and next-command suggestions with the current command set.
- Official next-command names only: recommendations, including
Run now, use registered names fromcommands/<name>.mdorcommands/<name>/SKILL.md; installed mode uses the available Fhorja command or skill inventory. No invented aliases.Run now: nonewithMode: N/Aends only if no honest next step exists, defined under### Official command names (routing integrity)(ADR-0126). Required inputs: - active task folder path
- the implemented slice or feature under verification, and its acceptance behavior (the observable outcome that means it works, ideally the slice's EARS exit criterion)
- the built frontend to serve: the build output directory (
dist/,build/,out/) or the project's preview command; serving mechanics, including the Vite/astro previewallowedHostshost-check gotcha and the static-server fallback, live inwos/frontend-preview-and-experience-verdict.md(ADR-0099) and are consumed from there, never re-derived - the page-identity marker for THIS slice: a title, a unique selector, or a text snippet that distinguishes the page under verification from any other page this machine might be serving
- optional, the route list: the paths to probe on the served origin (
/,/pricing,/docs/intro). Each route carries its own page-identity marker; a route that supplies none gets one derived from that route's own content, and the report says it was derived. WHEN no route list is given the command probes the single page exactly as it does today, so an existing caller sees no change
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.
- 18d ago Changed · -47 tokens per session 84b5e8217d2c
- 21d ago Changed · -1 lines d61a0a4e395b
- 28d ago Changed · -1 lines 877def91c189
- 29d ago Changed · -4 lines · -87 tokens per session 774d7e3b7ed3
- 1mo ago First seen · 143 lines · 229 tokens per session scan A 16f8eb6cbc84
web-runtime-verify is a skill published in the GitHub repository Mozurok/fhorja.dev (10 stars, last pushed 18d ago), licensed MIT. It adds 95 tokens to every session and 5,574 once invoked, about $0.0004 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-09-03.
Other skills, from other repositories
e2e-check
Run E2E tests or interactive browser verification. Triggers on: 'run e2e', 'e2e test', 'browser test', 'check in browser', 'verify UI', 'interactive test'.
dev-testing
A testing guide that defines when to use unit, integration, API, and end-to-end tests. Unit tests check small pieces of code, while end-to-end tests check a full user flow.
dev-scenario-test
A specification for scenario testing, covering end-to-end tests, integration tests, and Artillery load tests. The input does not provide further details about its exact setup or outputs.
agent-gan-evaluator
GAN Harness — Evaluator agent. Tests the live running application via Playwright, scores against rubric, and provides actionable feedback to the Generator.
agent-e2e-runner
End-to-end testing specialist using Vercel Agent Browser (preferred) with Playwright fallback. Use PROACTIVELY for generating, maintaining, and running E2E tests. Manages test journeys, quarantines flaky tests, uploads artifacts (screenshots, videos, traces), and ensures critical user flows work.
browser-screenshot-diff
Visual + DOM diff between two recorded sessions at matching trajectory step ids; used for visual regression and replay verification.