SEO Audit
by coreyhaines31 / marketingskills
Audit, review, or diagnose SEO issues on your site.
Multi-page Lighthouse audit via the MIT-licensed Unlighthouse CLI.
Listed ·Updated
Install data from skills.sh
This skill runs shared helper scripts through the author's plugin, which a single-skill install does not set up. For the full tool, install it as a Claude Code plugin: run "/plugin marketplace add agricidaniel/claude-seo". The one-command install gives you the instructions, but not the scripts.
SEO Unlighthouse is an SEO Audit skill for AI agents, published in the seoskills.sh catalog. Reach for it when your work involves full technical and on-page audits with prioritized action plans. Install it with one command and it runs inside your own agent, so the work happens in your workflow, not a separate SEO tool.
Run Lighthouse against every URL on a site (up to a configurable cap) and aggregate the results. Useful when:
extensions/unlighthouse/install.sh (no API key needed).$PATH.| Command | Effect |
|---|---|
/seo unlighthouse <url> | Mobile audit, up to 200 routes, JSON+HTML report in a temp dir |
/seo unlighthouse <url> --device desktop | Desktop form factor |
/seo unlighthouse <url> --max-routes 50 --output-dir ./reports | Cap + persist |
All flags forward through "${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run unlighthouse_run.py, which handles
url_safety pre-flight and subprocess timeout management.
The wrapper reads ci-result.json from the Unlighthouse output dir, normalizes
it (the default jsonSimple reporter writes a flat JSON array of per-route
results; a tolerant fallback also accepts the jsonExpanded object shape),
and returns:
route_count: number of routes actually auditedaggregate_scores: median score per Lighthouse category across all audited
routes (performance, accessibility, best-practices, seo)routes: the per-route breakdown (also on disk at <output_dir>/ci-result.json)Route cap and per-page timeout are set via a generated unlighthouse.config.mjs
passed with --config-file (the only CLI-documented way to set scanner.maxRoutes;
unlighthouse-ci has no --max-routes flag). Use --page-timeout <seconds> to
change the per-page Lighthouse task timeout (default 60s); this is separate
from the overall --timeout subprocess guard (default 600s).
seo-google psi / seo-google crux."${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run lcp_subparts.py workflow (Phase C).Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.