Performance and accessibility auditing using Google Lighthouse. Measure Core Web Vitals, accessibility scores, SEO, and best practices. Generate reports and track performance budgets.
Analyzes website performance, accessibility, SEO, and best practices using Google Lighthouse audits.
npx claudepluginhub a5c-ai/babysitterThis skill is limited to using the following tools:
README.mdYou are lighthouse - a specialized skill for comprehensive web auditing using Google Lighthouse, providing performance, accessibility, SEO, and best practices analysis.
This skill enables AI-powered web auditing including:
lighthouse CLI or npm packageMeasure and analyze Core Web Vitals:
{
"coreWebVitals": {
"LCP": {
"value": 2.1,
"unit": "s",
"rating": "good",
"threshold": { "good": 2.5, "poor": 4.0 },
"description": "Largest Contentful Paint"
},
"INP": {
"value": 150,
"unit": "ms",
"rating": "good",
"threshold": { "good": 200, "poor": 500 },
"description": "Interaction to Next Paint"
},
"CLS": {
"value": 0.05,
"unit": "",
"rating": "good",
"threshold": { "good": 0.1, "poor": 0.25 },
"description": "Cumulative Layout Shift"
},
"FCP": {
"value": 1.2,
"unit": "s",
"rating": "good",
"description": "First Contentful Paint"
},
"TTFB": {
"value": 0.3,
"unit": "s",
"rating": "good",
"description": "Time to First Byte"
}
}
}
Generate scores across all Lighthouse categories:
{
"scores": {
"performance": {
"score": 92,
"displayValue": "92",
"color": "green"
},
"accessibility": {
"score": 98,
"displayValue": "98",
"color": "green"
},
"bestPractices": {
"score": 95,
"displayValue": "95",
"color": "green"
},
"seo": {
"score": 100,
"displayValue": "100",
"color": "green"
},
"pwa": {
"score": 85,
"displayValue": "85",
"color": "orange"
}
}
}
Detailed performance breakdown:
{
"performanceMetrics": {
"firstContentfulPaint": 1200,
"largestContentfulPaint": 2100,
"totalBlockingTime": 150,
"cumulativeLayoutShift": 0.05,
"speedIndex": 1800,
"timeToInteractive": 2500
},
"opportunities": [
{
"id": "unused-css-rules",
"title": "Remove unused CSS",
"description": "Remove dead rules from stylesheets",
"savings": "120 KiB",
"estimatedSavings": 800
},
{
"id": "render-blocking-resources",
"title": "Eliminate render-blocking resources",
"resources": [
{ "url": "/styles/main.css", "transferSize": 45000 }
],
"estimatedSavings": 500
}
],
"diagnostics": [
{
"id": "dom-size",
"title": "Avoid an excessive DOM size",
"description": "Browser engineers recommend pages contain fewer than ~1,500 DOM nodes",
"value": 1823,
"rating": "warning"
}
]
}
Comprehensive accessibility analysis:
{
"accessibility": {
"score": 98,
"audits": {
"passed": [
"color-contrast",
"document-title",
"html-has-lang",
"meta-viewport"
],
"failed": [
{
"id": "image-alt",
"title": "Image elements do not have [alt] attributes",
"impact": "critical",
"nodes": [
{
"html": "<img src=\"hero.jpg\">",
"selector": ".hero-image > img"
}
],
"recommendation": "Add descriptive alt text to images"
}
],
"notApplicable": ["frame-title", "video-caption"]
}
}
}
SEO optimization recommendations:
{
"seo": {
"score": 100,
"audits": {
"passed": [
{ "id": "document-title", "title": "Document has a <title> element" },
{ "id": "meta-description", "title": "Document has a meta description" },
{ "id": "http-status-code", "title": "Page has successful HTTP status code" },
{ "id": "is-crawlable", "title": "Page isn't blocked from indexing" }
],
"opportunities": [
{
"id": "link-text",
"title": "Links do not have descriptive text",
"nodes": [
{ "html": "<a href=\"/more\">Click here</a>" }
]
}
]
}
}
}
Track against defined performance budgets:
{
"budget": {
"resourceSizes": [
{
"resourceType": "script",
"budget": 300000,
"actual": 285000,
"status": "pass"
},
{
"resourceType": "stylesheet",
"budget": 100000,
"actual": 125000,
"status": "fail",
"overage": 25000
},
{
"resourceType": "image",
"budget": 500000,
"actual": 450000,
"status": "pass"
}
],
"timings": [
{
"metric": "largest-contentful-paint",
"budget": 2500,
"actual": 2100,
"status": "pass"
}
]
}
}
# Basic audit
lighthouse https://example.com --output json --output-path report.json
# Desktop audit
lighthouse https://example.com --preset desktop
# Specific categories
lighthouse https://example.com --only-categories=performance,accessibility
# With performance budget
lighthouse https://example.com --budget-path=budget.json
# Multiple runs for accuracy
lighthouse https://example.com --chrome-flags="--headless" -n 3
This skill can leverage the following MCP servers:
| Server | Description | Installation |
|---|---|---|
| Lighthouse MCP Server (danielsogl) | 13+ tools for comprehensive auditing | GitHub |
| Lighthouse MCP (priyankark) | Agentic optimization loops | GitHub |
This skill integrates with the following processes:
responsive-design.js - Performance testing across viewportsaccessibility-audit.js - Accessibility scoringcomponent-library.js - Component performance impactWhen executing operations, provide structured output:
{
"operation": "audit",
"url": "https://example.com",
"device": "mobile",
"status": "success",
"scores": {
"performance": 92,
"accessibility": 98,
"bestPractices": 95,
"seo": 100
},
"coreWebVitals": {
"LCP": { "value": 2.1, "rating": "good" },
"INP": { "value": 150, "rating": "good" },
"CLS": { "value": 0.05, "rating": "good" }
},
"artifacts": ["report.json", "report.html"]
}
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.