.cursor/skills/qa-browser-check/SKILL.md
Fast browser health check for web pages. Catches 404s, console errors, and missing assets. Returns JSON with check results per URL.
npx skillsauth add astro44/Autonom8-Agents qa-browser-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Fast sanity check for web pages - catches 404s, console errors, and missing assets.
{
"project_dir": "/path/to/project",
"ticket_id": "TICKET-XXX",
"urls": ["http://localhost:8080/index.html"],
"check_console": true,
"check_network": true,
"timeout_ms": 5000
}
Check if dev server is running before attempting to load pages:
lsof -i :8080 | grep LISTEN || (cd $project_dir && python3 -m http.server 8080 &)
For each URL, verify:
| Check | Pass Criteria |
|-------|---------------|
| Page loads | HTTP 200 response |
| No 404s | All resources load (images, CSS, JS) |
| No console errors | window.console.error not called |
| No CORS errors | No cross-origin blocks |
| DOM renders | Expected elements exist |
Use Playwright in check mode (not test mode):
const { chromium } = require('playwright');
const browser = await chromium.launch();
const page = await browser.newPage();
// Collect console errors
const consoleErrors = [];
page.on('console', msg => {
if (msg.type() === 'error') consoleErrors.push(msg.text());
});
// Collect failed requests
const failedRequests = [];
page.on('requestfailed', req => {
failedRequests.push({ url: req.url(), error: req.failure().errorText });
});
// Load page
await page.goto(url, { waitUntil: 'networkidle' });
// Check for expected elements
const hasBody = await page.$('body') !== null;
{
"skill": "qa-browser-check",
"status": "success|failure",
"checks": [
{
"url": "http://localhost:8080/index.html",
"loaded": true,
"status_code": 200,
"console_errors": [],
"failed_requests": [],
"dom_valid": true
}
],
"summary": {
"total_urls": 1,
"passed": 1,
"failed": 0
},
"errors": [],
"warnings": [],
"next_action": "proceed|fix"
}
| Category | Severity | Example | |----------|----------|---------| | PAGE_404 | HIGH | Main page returns 404 | | ASSET_404 | MEDIUM | CSS/JS file not found | | CONSOLE_ERROR | MEDIUM | JavaScript runtime error | | CORS_ERROR | LOW | Cross-origin block (may be expected) | | TIMEOUT | HIGH | Page didn't load in time |
tools
Generation-time design taste for web UI work. Anti-cliche bans, layout and motion hard rules, and client-intent dials. Advisory only - shapes drafts; declared measured contracts remain the sole gate authority.
development
Scores proposal complexity against codebase surface. Uses proposal text analysis and readiness stats to determine decomposition tier and agent count.
testing
Fast filesystem readiness scan — counts docs, source files, manifests, platform signals. Produces initial ReadinessReport for agent spawning decisions.
testing
Merges bookend agent reports into revised readiness, complexity, and decomposition plan. Produces the final evidence-backed assessment consumed by sprint-architect-agent.