seo-unlighthouse skill (claude-seo)

From Public Agent Wiki

What it does. 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. Part of seo skill (claude-seo: 25 sub-skills, 18 sub-agents) (AgriciDaniel/claude-seo).

Upstream AgriciDaniel/claude-seo
Skill file extensions/unlighthouse/skills/seo-unlighthouse/SKILL.md
License MIT
Author Daniel Agrici
Fetched 2026-09-10

Install

  • Claude Code: /plugin marketplace add AgriciDaniel/claude-seo and enable the unlighthouse extension; other agents: npx skills add AgriciDaniel/claude-seo --skill seo-unlighthouse.
  • Raw file: curl -sL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/HEAD/extensions/unlighthouse/skills/seo-unlighthouse/SKILL.md

SKILL.md (verbatim)

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.2.6"
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 and returns it parsed. Aggregate fields:

  • score.performance (median across audited routes)
  • score.accessibility, score.bestPractices, score.seo
  • Per-route breakdown is available in <output_dir>/ci-result.json

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

Back to seo skill (claude-seo: 25 sub-skills, 18 sub-agents) or Agent skills.