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.
git clone --depth 1 https://github.com/ncklrs/claude-chrome-user-testingWrote 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/commands/ncklrs/claude-chrome-user-testing/check-links)<a href="https://agentmods.dev/commands/ncklrs/claude-chrome-user-testing/check-links"><img src="https://agentmods.dev/badge/commands/ncklrs/claude-chrome-user-testing/check-links.svg" alt="Measured on agentmods" 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.00032 | $0.01345 |
| Opus 5 | $0.00016 | $0.00673 |
| Sonnet 5 | $0.00006 | $0.00269 |
| Haiku 4.5 | $0.00003 | $0.00135 |
Grade A, and why
check-links 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 8d 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 — 212 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Check Links Command
Find broken links on a webpage. Validates all links found on the page and reports issues.
Arguments
Parse the following from $ARGUMENTS:
--url <url>(required): URL to check for broken links--depth <n>(optional): How many levels deep to crawl (default: 1, max: 3)--internal-only(optional): Only check links to the same domain--external-only(optional): Only check external links--exclude <pattern>(optional): Exclude URLs matching this pattern--quiet(optional): Summary only output--output <markdown|json>(optional): Report output format (default: markdown)
How It Works
- Navigate to the target URL
- Extract all links from the page (
<a href>, etc.) - Categorize links as internal or external
- Validate each link by making a HEAD request
- Report broken links, redirects, and issues
Link Categories
| Category | Description | How Checked |
|---|---|---|
| Internal | Same domain | HEAD request |
| External | Different domain | HEAD request (if not --internal-only) |
| Anchor | Same page #section |
Verify element exists |
| mailto: | Email links | Format validation only |
| tel: | Phone links | Format validation only |
| javascript: | Script links | Flagged as warning |
Validation Results
| Status | Meaning | Severity |
|---|---|---|
| 200 | OK | Good |
| 301/302 | Redirect | Warning |
| 404 | Not Found | Error |
| 403 | Forbidden | Warning |
| 500 | Server Error | Error |
| Timeout | No response | Error |
Report Format
Standard Report
# Link Check Report
## Summary
- **URL Checked**: [url]
- **Links Found**: 47
- **Working**: 44 (94%)
- **Broken**: 2 (4%)
- **Redirects**: 3
- **Skipped**: 1 (external)
## Broken Links
| Link | Found On | Status | Error |
|------|----------|--------|-------|
| /products/old-item | /shop | 404 | Not Found |
| /team/john-doe | /about | 404 | Not Found |
## Redirects (Consider Updating)
| Link | Redirects To | Status |
|------|--------------|--------|
| /blog | /news | 301 Permanent |
| /old-page | /new-page | 302 Temporary |
| http://example.com | https://example.com | 301 Permanent |
## Warnings
| Issue | Link | Notes |
|-------|------|-------|
| javascript: link | onclick handler | /nav button |
| Empty href | # | /footer link |
| Slow response | /large-page | 3.2s response time |
## All Links (by page)
### / (Home)
- [x] /about
- [x] /products
- [ ] /old-feature (404)
- [x] /contact
### /about
- [x] /team
- [ ] /team/john-doe (404)
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.
- 8d ago First seen · 212 lines · 32 tokens per session scan A eac379442f5b
check-links is a command published in the GitHub repository ncklrs/claude-chrome-user-testing (19 stars, last pushed 8mo ago), licensed MIT. It adds 32 tokens to every session and 1,345 once invoked, about $0.0002 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-30.
Other commands, from other repositories
run
A command that starts a planned, isolated Windows computer-use task. It follows prepared steps, checks the computer setup, uses screenshots when needed, and reports what was actually verified.
axstream-teach
Compile a UI task into a fast replayable macro (do it once, instant forever).
auto-browse
Auto-browse — learn, optimize, and graduate browser operations or web data-mining workflows.
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
ship
Pre-release gate — run the full gate, responsive + render checks, then produce the release checklist (README badge/current/changelog). Use before tagging a release.
responsive-design-specialist
Use when a layout breaks between sizes. Arbitrary breakpoints, type that does not scale, images that blow out the grid, or a desktop design retrofitted onto mobile.