web-performance-debugger AGENTS.md

AGENTS.md instructions for jantimon/web-performance-debugger, covering driving wpd from an agent, the loop, output, reading the numbers: three traps and exit codes and refusals: treat the refusal as the answer.

Instructions file for CodexOpenCode

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.

agentmods
npx agentmods add instructions/jantimon/web-performance-debugger/agents-md
Clone the repo
git clone --depth 1 https://github.com/jantimon/web-performance-debugger

Made for: Codex, OpenCode.

Per session 1,088 This file is loaded in full into every session.
When invoked 1,088 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin unknown 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 $0.01088 $0.01088
Opus 5 $0.00544 $0.00544
Sonnet 5 $0.00218 $0.00218
Haiku 4.5 $0.00109 $0.00109

Measured today against content hash ce953d603e49, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

web-performance-debugger AGENTS.md 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 today.

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.

AGENTS.md · 67 lines

How it starts

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

Driving wpd from an agent

For an agent consuming wpd. wpd finds and investigates; it does not grade, rank, or recommend. It hands you typed, measurement-tagged numbers and a clean exit code; the judgment stays with you.

The loop

  1. Record. wpd record <module> [flags] writes a recording plus siblings. One record is one capture pass.
  2. Query. Read the recording through the query verbs. Never read the recording file directly -- it can be many MB. Drill instead:
query spans <file>              # overview: one row per span, one shape across chrome/firefox/node
  -> query span <file> <kind:label>   # one span's full anatomy
       -> query get <file> <id>       # one raw event (stack + args); needs --deep or firefox
  • Every verb takes latest in place of <file> (a cwd-keyed pointer, never resolved by mtime).
  • Span identity is kind + label. A bare label that matches more than one kind is a collision; qualify it (run, step:first increment, measure:hydrate).
  • query spans --label X with no match is a filter: it reports the empty result and exits 0. query span X with no match is a lookup: it exits 1. Pick the verb for the branch you want.
  • Other verbs: query cpu (hot functions + rollup), query frame <id> (one function's callers and callees), query blame --forced (forced-layout read sites), query events (the raw log).

Output

  • Always pass --format json or --format toon. Both are plain: no ANSI, whatever the TTY. TOON is a compact, JSON-shaped text format that spends fewer tokens than JSON.
  • The view shapes are typed and exported from the package root (SpansResult, SpanAnatomy, CpuOverview, CpuDiffResult, ...). Import them; do not hand-roll a shape.

Reading the numbers: three traps

  • null is not 0. A count or slice the capture could not observe is an explicit null (not-measured), never 0 (measured clean). Do not coerce it. A gate on such a metric is a loud n/a FAIL, never a silent pass: assert --max-forced 0 on a --breakdown recording FAILs, because forced counts need --deep.
  • jsSelfMs is the JS headline. Do not denominate a package share on activeMs -- the larger non-idle total (js + gc + engine).
  • A function's display name is fn, not name (its self time is selfMs, its source source).
  • The full field reference: README, Consuming the JSON.

Read the full file on GitHub · 67 lines

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. today First seen · 67 lines · 1,088 tokens per session scan A ce953d603e49

Subscribe to this mod's changes

web-performance-debugger AGENTS.md is an instructions file published in the GitHub repository jantimon/web-performance-debugger (31 stars, last pushed 26d ago), licensed MIT. It adds 1,088 tokens to every session, about $0.0054 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-09-01.