Skip to content
Marketing
Skill

/seo-unlighthouse

Multi-page Lighthouse audit via the MIT-licensed Unlighthouse CLI. Free-tier alternative to running PageSpeed against every URL on a site, no API quota burn, runs locally.

From plugin
claude-seo
17k31 skills18 agents1 hook
Install
$ npx -y skills add AgriciDaniel/claude-seo --skill seo-unlighthouse --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-unlighthouse

Context preview

The summary Claude sees to decide when to auto-load this skill.

Multi-page Lighthouse audit via the MIT-licensed Unlighthouse CLI. Free-tier alternative to running PageSpeed against every URL on a site, no API quota burn, runs locally.

SKILL.md

seo-unlighthouse.SKILL.md
name: seo-unlighthouse
description: Multi-page Lighthouse audit via the MIT-licensed Unlighthouse CLI. Free-tier alternative to running PageSpeed against every URL on a site, no API quota burn, runs locally.
metadata:
  version: "2.3.1"
compatibility: "Requires Node 18+ and the unlighthouse npm package. Run extensions/unlighthouse/install.sh to pre-warm."

seo-unlighthouse

Run Lighthouse against every URL on a site (up to a configurable cap) and aggregate the results. Useful when:

  • PageSpeed Insights' free quota (25k QPD) isn't enough for a large site.
  • You want offline / local CWV measurement (CI integration, restricted environments).
  • You need a quick site-wide regression check after a deploy.

Prerequisites

  • Run `extensions/unlighthouse/install.sh` (no API key needed).
  • Node 18+ on `$PATH`.

Routing

| 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.

Output handling

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 audited
  • `aggregate_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).

Cross-skill delegation

  • For single-URL field data (CrUX), use `seo-google psi` / `seo-google crux`.
  • For LCP subpart decomposition on slow pages, use the

`"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run lcp_subparts.py` workflow (Phase C).

Read more
Ships withclaude-seo

Claude SEO is an open-source SEO analysis plugin for Claude Code. It runs 25 sub-skills and 18 specialist agents in parallel across technical SEO, content quality (E-E-A-T), Schema.org markup, AI search optimization (GEO), local SEO, e-commerce, and

Get the whole plugin

Other skills on claude-seo.