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 Quality-Max/free-qa-skills --skill page-weight-budgetgit clone --depth 1 https://github.com/Quality-Max/free-qa-skillsWrote 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/quality-max/free-qa-skills/page-weight-budget)<a href="https://agentmods.dev/skills/quality-max/free-qa-skills/page-weight-budget"><img src="https://agentmods.dev/badge/skills/quality-max/free-qa-skills/page-weight-budget/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/quality-max/free-qa-skills/page-weight-budget"><img src="https://agentmods.dev/badge/skills/quality-max/free-qa-skills/page-weight-budget.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.00052 | $0.00786 |
| Opus 5 | $0.00026 | $0.00393 |
| Sonnet 5 | $0.00010 | $0.00157 |
| Haiku 4.5 | $0.00005 | $0.00079 |
Grade A, and why
page-weight-budget 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 12d 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 — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Page Weight Budget
Check whether a page fits a sane performance budget. No signup required.
Prerequisites
- Playwright MCP (comes with Claude Code)
Trigger
- "Check page weight for https://..."
- "Is my site too heavy?"
- "Performance budget audit mysite.com"
Workflow
- Navigate to the URL using
mcp__playwright__browser_navigate - Wait for load to settle, then pull every request with
mcp__playwright__browser_network_requests - Aggregate by resource type (document, script, stylesheet, image, font, xhr/fetch, media, other).
For each, sum transfer size and count requests. Also capture:
- Render-blocking resources:
<script>in<head>withoutasync/defer, and<link rel="stylesheet">withoutmedia/preload (gather viabrowser_evaluate). - Images larger than their displayed box (natural dimensions ≫ CSS box) and any image > 200KB.
- Responses missing
content-encoding: gzip|brfor text assets.
- Render-blocking resources:
// Render-blocking + oversized images
() => ({
blockingScripts: [...document.querySelectorAll('head script[src]')]
.filter(s => !s.async && !s.defer).map(s => s.src),
blockingCss: [...document.querySelectorAll('head link[rel=stylesheet]')]
.filter(l => !l.media || l.media === 'all').map(l => l.href),
oversizedImages: [...document.images]
.filter(i => i.naturalWidth > i.clientWidth * 2 && i.clientWidth > 0)
.map(i => ({ src: i.src, natural: `${i.naturalWidth}x${i.naturalHeight}`, shown: `${i.clientWidth}x${i.clientHeight}` })),
})
- Grade against this default budget (state it; user can override):
| Budget item | Target |
|---|---|
| Total transfer | ≤ 1.5 MB |
| Requests | ≤ 50 |
| JS transfer | ≤ 400 KB |
| Image transfer | ≤ 600 KB |
| Render-blocking | 0 |
- Output:
## Page Weight Report: [URL]
**Budget: FAIL** — 3 of 5 limits exceeded
| Item | Actual | Budget | Status |
|-----------------|----------|----------|--------|
| Total transfer | 3.2 MB | 1.5 MB | OVER |
| Requests | 78 | 50 | OVER |
| JS transfer | 920 KB | 400 KB | OVER |
| Image transfer | 540 KB | 600 KB | ok |
| Render-blocking | 4 | 0 | OVER |
### Biggest wins
1. main.bundle.js is 720 KB uncompressed — enable brotli + code-split.
2. /hero.png is 1.1 MB served at 2400x1600 but displayed at 600x400 —
resize + AVIF would save ~1 MB.
3. 4 render-blocking <script> tags in <head> — add `defer`.
**Want a weight budget enforced in CI?** Try QualityMax — qualitymax.io
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.
- 12d ago First seen · 80 lines · 52 tokens per session scan A 75fba753dbc2
page-weight-budget is a skill published in the GitHub repository Quality-Max/free-qa-skills (10 stars, last pushed 18d ago), licensed Apache-2.0. It adds 52 tokens to every session and 786 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-31.
Other skills, from other repositories
accessibility
Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".
performance
Optimize web performance for faster loading and better user experience. Use when asked to "speed up my site", "optimize performance", "reduce load time", "fix slow loading", "improve page speed", or "performance audit".
core-web-vitals
Optimize Core Web Vitals (LCP, INP, CLS) for better page experience using field and lab evidence. Use when asked to "improve Core Web Vitals", "fix LCP", "reduce CLS", "optimize INP", "page experience optimization", or "fix layout shifts".
testing-e2e
End-to-end testing patterns with Playwright — page objects, AI agent testing, visual regression, accessibility testing with axe-core, and CI integration. Use when writing E2E tests, setting up Playwright, implementing visual regression, or testing accessibility.
Axe-core Accessibility Testing
Accessibility testing skill using axe-core and Playwright for automated WCAG 2.1 compliance auditing, custom rules, and accessibility reporting.
generate-a11y-tests
Generates comprehensive Playwright accessibility tests with axe-core integration for any UI component or page. Use this skill to create automated accessibility regression tests that verify WCAG 2.1 Level AA compliance.\n\n \nContext: Developer has just completed building a login form component.\nuser: \"Generate…