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 instructions/jantimon/web-performance-debugger/agents-mdgit clone --depth 1 https://github.com/jantimon/web-performance-debuggerWhat 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.01088 | $0.01088 |
| Opus 5 | $0.00544 | $0.00544 |
| Sonnet 5 | $0.00218 | $0.00218 |
| Haiku 4.5 | $0.00109 | $0.00109 |
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.
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
- Record.
wpd record <module> [flags]writes a recording plus siblings. Onerecordis one capture pass. - Query. Read the recording through the
queryverbs. 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
latestin 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 Xwith no match is a filter: it reports the empty result and exits 0.query span Xwith 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 jsonor--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
nullis not0. A count or slice the capture could not observe is an explicitnull(not-measured), never0(measured clean). Do not coerce it. A gate on such a metric is a loudn/aFAIL, never a silent pass:assert --max-forced 0on a--breakdownrecording FAILs, because forced counts need--deep.jsSelfMsis the JS headline. Do not denominate a package share onactiveMs-- the larger non-idle total (js + gc + engine).- A function's display name is
fn, notname(its self time isselfMs, its sourcesource). - The full field reference: README, Consuming the JSON.
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.
- today First seen · 67 lines · 1,088 tokens per session scan A ce953d603e49
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.
Other instructions, from other repositories
codspeed AGENTS.md
Instructions for CodSpeedHQ/codspeed, covering agents.md, common development commands, building and testing, build the project and build in release mode.
codspeed CLAUDE.md
Instructions for CodSpeedHQ/codspeed, a project described as: CodSpeed is the all-in-one performance testing toolkit. Optimize code performance and catch regressions early.
playwright CLAUDE.md
Instructions for microsoft/playwright, covering monorepo packages, browser packages, tooling packages, key directories and build.
hotpath-rs AGENTS.md
Instructions for pawurb/hotpath-rs, covering agents.md, project overview, reference docs, development commands and profiling modes are combined via features, e.g.
std-env AGENTS.md
Instructions for unjs/std-env, covering agents, project overview, maintenance, scripts and source structure.
web-worker-patterns copilot-instructions.md
Instructions for damiansire/web-worker-patterns, covering persona, examples, resources, best practices & style guide and coding style guide.