squiz (skwɪz) — Australian slang: a quick look. "Have a squiz at that."
A Claude Code plugin that gives your agent eyes. Token-efficient browser automation using agent-browser with context isolation, so verbose browser output never pollutes your main session.
Works on Windows, WSL, Linux VMs, and macOS — no Chrome extension required.
Claude Code's built-in /chrome integration doesn't work in WSL or on remote VMs, and the Claude in Chrome extension has reliability issues on Windows (service worker drops, tab group clutter, named pipe conflicts). Playwright scripts work but are token-expensive — Claude writes, saves, executes, reads output, and debugs a JS file for every interaction.
agent-browser uses snapshot-based refs (@e1, @e2) via CLI commands, cutting context usage by ~93% compared to Playwright MCP. Squiz wraps it in a skill that forks into isolated context, runs the browser commands, and returns only a concise summary.
| Skill | Invocation | Purpose |
|---|---|---|
squiz |
Auto-triggers on browser tasks | Forked browser agent. Runs commands, returns summary only. |
setup |
/squiz:setup |
Interactive wizard. Detects environment, configures everything. |
- commands.md — Full CLI reference (50+ commands)
- patterns.md — 8 common automation recipes + anti-patterns
- troubleshooting.md — Windows Defender, WSL bridge, remote VM, permission setup
/plugin marketplace add slamb2k/mad-skills
/plugin install squiz@mad-skills
claude --plugin-dir /path/to/squiz/squiz:setup
The wizard detects your OS, asks about your browser strategy, configures env vars and Claude Code permissions. Or do it manually:
npm install -g agent-browser
agent-browser install # Downloads Chrome for Testing
# Linux: agent-browser install --with-deps// .claude/settings.local.json
{ "permissions": { "allow": ["Bash(agent-browser *)"] } }Just talk naturally:
Have a squiz at localhost:3000
Check the staging deployment for console errors
Take a screenshot of the dashboard
Fill in the contact form and submit it
Scrape the pricing table from that page
Squiz triggers automatically, forks into isolated context, runs agent-browser commands, and returns a concise summary. Your main session never sees raw snapshots, DOM trees, or console dumps.
User prompt
→ Claude detects browser task
→ squiz skill triggers (context: fork, effort: medium)
→ Forked agent runs agent-browser CLI via Bash
→ Collects findings (errors, text, screenshots)
→ Returns summary only to parent session
→ Parent session acts on findings
Key design choices:
context: fork— every invocation runs in an isolated context windoweffort: medium— mechanical CLI work doesn't need deep reasoningtools: Bash— locked to bash only; no file editing from the browser agent- Progressive disclosure — SKILL.md is the core, references load on demand
| Environment | Browser Mode | Auth Reuse |
|---|---|---|
| Linux VM (headless) | agent-browser's own Chrome | --session-name or --profile |
| Windows 11 native | Headless or auto-connect to Edge | --auto-connect (Edge + --remote-debugging-port=9222) |
| WSL 2 | Headless, or bridge to Windows Edge | --port 9222 across WSL boundary |
| macOS | Headless or auto-connect to Chrome | --auto-connect |
| Need | Use Instead |
|---|---|
| Persistent E2E test suites | Playwright |
| Network interception / request mocking | Playwright |
| Multi-browser matrix testing | Playwright |
| CI/CD pipeline steps | Playwright |
| Native Windows + live Edge with extension | Claude in Chrome (/chrome) |
- npm (for installing agent-browser globally)
- No Node.js runtime needed at execution time — native Rust binary
- No Playwright, no Puppeteer, no MCP server config — zero-config CLI
squiz (skwɪz) — Australian/NZ English. Informal. "A quick or furtive look."
"Have a squiz at the deployment and tell me if the form's broken."
That's literally what the skill does.
MIT
