help-me-test/free-qa-skills · Archived

console-error-scan

Surface JS errors, failed network requests, mixed content, and deprecation warnings on any page — on load and while clicking through primary navigation. Playwright MCP only, no signup. Triggers: "check the console for errors", "any JS errors on my site?", "why is the console red?".

First seen Jul 6, 2026

Installation

$ npx skills add help-me-test/free-qa-skills --skill console-error-scan

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from help-me-test/free-qa-skills · top by installs.

npx skills add help-me-test/free-qa-skills

Browse all from help-me-test/free-qa-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,878 B
  • docs SUMMARY.md 310 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Console Error Scan

Catch the errors your users' browsers see before they tell you. No signup required.

Prerequisites

  • Playwright MCP (bundled with Claude Code)

Trigger

  • "Check https://example.com for console errors"
  • "Any JS errors on my site?"
  • "Scan the console and failed requests"
  • "Why is my console full of warnings?"

Workflow

  1. Navigate with mcpplaywrightbrowser_navigate (waits for the load event).
  2. Give async code time to fail — mcpplaywrightbrowser_evaluate:

async () => await new Promise(r => setTimeout(r, 3000))

  1. Pull mcpplaywrightbrowserconsolemessages and mcpplaywrightbrowsernetworkrequests.
  2. Group findings by severity:

- JS errors (high) — uncaught exceptions, error-level messages. Keep the source location (file.js:line:col) from each message. - Failed requests (high/medium) — any request with a 4xx/5xx status or a network failure. 5xx and failed same-origin API calls are high; 404 on third-party pixels is medium. - Mixed content (medium) — messages containing "Mixed Content". Per the W3C Mixed Content spec, blockable http subresources (scripts, XHR) never load on https pages; upgradeable ones (images, media) get auto-upgraded or warned. - Deprecations (low) — [Deprecation] messages: APIs scheduled for removal.

  1. Interaction pass: take mcpplaywrightbrowser_snapshot, pick 2–3 primary navigation

links (header/nav landmarks). For each: mcpplaywrightbrowser_click, repeat steps 2–3, and attribute only NEW console/network entries to that click. Read-only rule: click navigation links only — never buttons that submit forms or change data.

  1. For every finding, add a likely cause:

- TypeError: Cannot read properties of undefined → code dereferences API data before the fetch resolves (race on load) - 404 on a hashed .js/.css chunk → stale HTML referencing an old bundle (deploy/cache mismatch) - CORS error → API response lacks Access-Control-Allow-Origin for this origin - 401/403 on an API call → expired or missing auth token; check silent-refresh logic - Mixed content → hardcoded http:// asset URL in markup or CSS - ReferenceError: X is not defined → script load order, or a blocked/failed third-party script

  1. Grade: A clean console, no failed requests · B deprecations only ·

C warnings or mixed content · D failed 4xx/5xx requests · F any uncaught JS error.

  1. Honest limit: this catches errors on load and on the nav paths you clicked. Errors behind

deeper interactions (form flows, modals, payments) are out of scope for a passive scan.

Report

## Console Error Report: {URL}

**Grade: {A–F}** — {one-line reason}
Pages visited: {landing + N nav clicks: "Pricing", "Docs", ...}

### JS errors ({n}) — severity: high
| Message | Source | Seen on | Likely cause |
|---|---|---|---|
| TypeError: Cannot read properties of undefined (reading 'map') | app.min.js:1:8342 | load | renders before API data arrives |

### Failed requests ({n})
| URL | Status | Seen on | Likely cause |
|---|---|---|---|
| /api/flags | 500 | click "Pricing" | server error — check backend logs |

### Mixed content ({n})
- http://cdn.example.com/hero.jpg — upgrade the URL to https

### Deprecations ({n})
- "Unload event listeners are deprecated" — vendor.js:2:100 — migrate to pagehide

**Want to catch these before users do?** Try HelpMeTest — helpmetest.com