Source profileQuality 91/100Review permissions

bestdeejay-design/agent-skills/skills/frontend-perfection/SKILL.md

frontend-perfection

Audit and polish frontend (static HTML/CSS/JS or built SPA) to measurable perfection: real-Chrome Lighthouse >=13 runs (mobile+desktop, no Playwright internals), SEO meta layer, WCAG contrast by computed luminance, heading order, a11y checks (axe-core subset: img-alt/button-name/link-name/label/aria-valid/landmark-unique), back-to-top navigation check, design tokens (zero raw hex outside tokens), adaptive checks, and OG-image generation with a crop-safe layout. Front-End Checklist-inspired check

Source repository stars
5
Declared platforms
0
Static risk flags
2
Last source update
2026-08-23
Source checked
2026-08-25

Decision brief

What it does: where it fits

Audit and polish a frontend — static HTML/CSS/JS or a built SPA — towards verifiable perfection. The skill exists because production web perf tooling commonly breaks when it pokes at private APIs (Playwright internals, old Lighthouse signatures, unisolated global deps). This ski…

Best for

  • User asks to "make the layout perfect", "fix performance", "reach
  • User wants an OG image or social share meta for a homepage.
  • User reports contrast problems, missing SEO tags, broken anchors under a

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/bestdeejay-design/agent-skills --skill "skills/frontend-perfection"
Safe inspection promptEditorial

Inspect the Agent Skill "frontend-perfection" from https://github.com/bestdeejay-design/agent-skills/blob/cb4108bbfc3fedca92f9d1b9693a008660210cfa/skills/frontend-perfection/SKILL.md at commit cb4108bbfc3fedca92f9d1b9693a008660210cfa. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    1. Locate the project — static files (index.html + css/) or built SPA. 2. Serve it locally if needed: python3 -m http.server 8377 (or the project's dev server). Static files are fine over http://localhost. 3. Run audit.js (Lighthouse, real Chrome):

    Locate the project — static files (index.html + css/) or built SPA.Serve it locally if needed: python3 -m http.server 8377 (or theRun audit.js (Lighthouse, real Chrome):
  2. 02

    When to use

    User asks to "make the layout perfect", "fix performance", "reach

    User asks to "make the layout perfect", "fix performance", "reachUser wants an OG image or social share meta for a homepage.User reports contrast problems, missing SEO tags, broken anchors under a
  3. 03

    Composition

    For Core Web Vitals / schema.org / SEO deep-dives — load seo-toolkit (this skill

    For Core Web Vitals / schema.org / SEO deep-dives — load seo-toolkit (this skillFor a distinctive visual DIRECTION before building — load frontend-design-taste- For Core Web Vitals / schema.org / SEO deep-dives — load seo-toolkit (this skill measures layout, contrast, tokens and a11y; the SEO-layer breadth lives there). - For a distinctive visual DIRECTION before building — l…
  4. 04

    audit.js — Lighthouse runner (stable API)

    Real Chrome via chrome-launcher (default channel = installed Chrome;

    Real Chrome via chrome-launcher (default channel = installed Chrome;Lighthouse = 13 support: module may export a namespace; the scriptDependency isolation: modules resolve local nodemodules → NODEPATH
  5. 05

    metaaudit.py — static audit (Python stdlib, offline)

    Review the “metaaudit.py — static audit (Python stdlib, offline)” section in the pinned source before continuing.

    Review and apply the “metaaudit.py — static audit (Python stdlib, offline)” source section.

Permission review

Static risk signals and limitations

Network access

medium · line 32

The documentation includes network, browsing, or remote request actions.

node scripts/audit.js --url http://localhost:8377/ --mobile --out lh-mobile.json

Runs scripts

medium · line 32

The documentation asks the agent to run terminal commands or scripts.

node scripts/audit.js --url http://localhost:8377/ --mobile --out lh-mobile.json

Network access

medium · line 33

The documentation includes network, browsing, or remote request actions.

node scripts/audit.js --url http://localhost:8377/ --desktop --out lh-desktop.json

Runs scripts

medium · line 33

The documentation asks the agent to run terminal commands or scripts.

node scripts/audit.js --url http://localhost:8377/ --desktop --out lh-desktop.json

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars5SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
bestdeejay-design/agent-skills
Skill path
skills/frontend-perfection/SKILL.md
Commit
cb4108bbfc3fedca92f9d1b9693a008660210cfa
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

frontend-perfection

Audit and polish a frontend — static HTML/CSS/JS or a built SPA — towards verifiable perfection. The skill exists because production web perf tooling commonly breaks when it pokes at private APIs (Playwright internals, old Lighthouse signatures, unisolated global deps). This skill runs on STABLE apis only, computes exactly (luminance, not eyeballs), and demands a before/after report bound to audit ids.

When to use

  • User asks to "make the layout perfect", "fix performance", "reach 100/100/100/100", "check the frontend", "audit the page".
  • User wants an OG image or social share meta for a homepage.
  • User reports contrast problems, missing SEO tags, broken anchors under a fixed header, colors duplicated as raw hex.

Composition

  • For Core Web Vitals / schema.org / SEO deep-dives — load seo-toolkit (this skill measures layout, contrast, tokens and a11y; the SEO-layer breadth lives there).
  • For a distinctive visual DIRECTION before building — load frontend-design-taste (palette/type/signature), then run this skill to verify the result.

Workflow

  1. Locate the project — static files (index.html + css/) or built SPA.
  2. Serve it locally if needed: python3 -m http.server 8377 (or the project's dev server). Static files are fine over http://localhost.
  3. Run audit.js (Lighthouse, real Chrome):
    node scripts/audit.js --url http://localhost:8377/ --mobile --out lh-mobile.json
    node scripts/audit.js --url http://localhost:8377/ --desktop --out lh-desktop.json
    
    Default threshold is 100; exit 0 only when every measured category is at or above it. Add --only <category> to iterate on one category.
  4. Run meta_audit.py (SEO/contrast/headings/tokens, offline):
    python3 scripts/meta_audit.py --html index.html --css main.css css/demo.css --out meta.json
    
    Exit 0 = no violations; exit 1 = violations found.
  5. Fix by audit id — every fix must reference the audit it closes (e.g. audit.js color-contrast, meta_audit.py meta:description).
  6. Re-audit until green on both form factors. Only then call it done.
  7. Write the before/after report in the showcase format: input paths, exact commands, real output, interpretation. Explicitly list what was deliberately NOT done.

audit.js — Lighthouse runner (stable API)

  • Real Chrome via chrome-launcher (default channel = installed Chrome; --no-headless to watch). No Playwright dependency, no private fields, no _ws_url transport hacks. CDP port comes from chrome.port (public).
  • Lighthouse >= 13 support: module may export a namespace; the script falls back to require("lighthouse").default automatically.
  • Dependency isolation: modules resolve local node_modulesNODE_PATHnpm root -g. The script explains how to install instead of dying with Cannot find module:
    npm i lighthouse chrome-launcher     # in the script's dir
    # or globally:
    npm i -g lighthouse chrome-launcher && export NODE_PATH=$(npm root -g)
    
  • Output: compact JSON (--out) with per-category scores and only the failed weighted audits (id, title, score, weight) — no 4000-line dump.
  • Exit codes: 0 all categories ≥ threshold, 1 below threshold, 2 runner error.

meta_audit.py — static audit (Python stdlib, offline)

Checks and their ids:

idwhat it verifies
meta:title / meta:title-lengthtitle present, ≤ 60 chars
meta:description / meta:description-lengthdescription present, ≤ 160 chars
meta:canonicalcanonical link
meta:og:*, meta:og:sizeOG tags; image must declare 1200×630 (crop-safe)
meta:twitter:cardtwitter card tag
meta:json-ldany application/ld+json script
meta:robotsnot blocked with noindex/nofollow
meta:sitemap-linksitemap referenced
headings:single-h1exactly one h1
headings:orderh1→h6 sequence, no level skips (h1→h3 is a violation)
tokens:raw-hexzero raw hex outside the token block (:root/tokens)
contrast:wcag-aacomputed WCAG relative luminance, fg/bg pairs ≥ 4.5:1
adaptive:scroll-paddingfixed header ⇒ scroll-padding-top present
adaptive:media-queriesresponsive breakpoints exist for tablet widths
a11y:img-altevery <img> has an alt attribute (decorative may be empty) — WCAG 1.1.1 / axe image-alt
a11y:button-name / a11y:link-namebuttons and links have an accessible name (text or aria-label) — WCAG 4.1.2 / axe button-name, link-name
a11y:form-labelinputs/selects/textareas have a label (<label for>, wrapper, aria-label) — WCAG 4.1.2 / axe label
a11y:aria-validevery aria-* attribute name is in the WAI-ARIA 1.2 set — axe aria-valid-attr
a11y:landmark-uniqueat most one <main>; multiple <nav> need distinct labels — WCAG 1.3.1 / axe landmark-unique
html:doctypeHTML5 doctype on the first line
html:charsetcharset declared as utf-8
html:viewportresponsive viewport meta present
html:lang<html lang> with a BCP 47 code (a11y + SEO)
html:dir-rtlRTL languages (ar/he/fa/ur/yi) require dir="rtl"
html:unique-idno duplicate id attributes
html:semanticsemantic elements used: header, main, footer
html:faviconsfavicon link present
html:web-app-manifestmanifest.json referenced (PWA)
html:sriCDN-hosted scripts carry integrity (SRI); local scripts exempt
html:defer-asyncexternal scripts load with defer/async/type=module (no render-blocking)
html:input-typesinputs declare a type (not defaulting to text)
images:dimensionsimg has width/height (CLS prevention)
images:lazy-loading3+ images lazy-load offscreen content
images:srcsetresponsive srcset used for fixed-size images
images:modern-formatraster jpg/png converted to webp/avif
js:no-inlineno inline handlers (onclick=…) or inline <script> blocks
js:no-consoleno console.log/debug/warn in HTML
css:focus-visiblevisible :focus-visible indicator for keyboard users
css:print@media print stylesheet exists
css:dark-modeprefers-color-scheme dark mode supported
css:font-displaywebfonts use font-display: swap (no FOIT)
perf:resource-hintspreload/preconnect/dns-prefetch hints for critical origins (LCP)
security:httpsno http:// URLs in src/href
security:noopenertarget="_blank" links carry rel="noopener"
privacy:consentcookie/consent mention present (GDPR / 152-ФЗ)
nav:back-to-toplong pages have a way back to top — logo links to top and/or a floating scroll-to-top button (bottom-right, aria-label, appears after scroll) — WCAG 2.4.1 / UX pattern

Design tokens — "colors as constants"

For static projects WITHOUT a build system (plain HTML/CSS/JS), a minimal design system still applies:

  • Every hex color must be declared once in the token block (a :root { --color-*: ...; } layer or a dedicated tokens.css).
  • Zero raw hex anywhere else — components reference var(--color-*).
  • meta_audit.py flags any raw hex outside the token block; this is the enforceable version of "no hardcoded colors".
  • The same idea extends to type scale and spacing (custom properties), but the audit enforces colors only.

OG image generation — crop-safe social share

Social networks crop images differently (WhatsApp square-ish, Facebook center-crop). The skill's rules, learned the hard way:

  1. Change the file name, never overwrite — social caches keyed by URL will keep showing the old preview forever. New content ⇒ new URL (e.g. og-2026-08-09.png).
  2. Content must fit the central safe zone — standard 1200×630 canvas is not enough: keep the hero/graphic content within ~600–640px centered width so a square/center crop (≈630×630) never clips text or logos.
  3. Force a reflow before the screenshot — after setting width via inline style, the first screenshot() may capture the stale layout. Read void element.offsetHeight (or getBoundingClientRect()) to force layout sync, then shoot.
  4. Declare exact dimensionsog:image:width/og:image:height = 1200/630 so scrapers don't guess and mis-trim.
  5. Re-test in 2+ networks after changing the URL (WhatsApp + Telegram at minimum; they cache most aggressively).

Fixed-header anchoring

If position: fixed header exists, anchor jumps hide content underneath. Fix: html { scroll-padding-top: <header-height> } (+ scroll-margin-top on the anchors if needed). meta_audit.py reports adaptive:scroll-padding when this is missing.

Constraints / non-goals

  • audit.js opens a real Chrome; do not substitute CLI lighthouse headless-shell in the default call.
  • Meta audit is offline and stdlib-only — no PyYAML, no requests.
  • Do NOT fix with !important spray or target 100 by hiding audits: raise the underlying metrics (real fix at the root).
  • Do NOT delete or modify user tests/screenshots; artifacts go to --out files you name.
  • Lighthouse scores on localhost vs production differ (no CDN, no real TLS); state this in the report when it matters.

Examples

Full loop on a static site:

cd ~/projects/lovii_demo
python3 -m http.server 8377 &
node .../audit.js --url http://localhost:8377/ --mobile --out lh-mobile.json
node .../audit.js --url http://localhost:8377/ --desktop --out lh-desktop.json
python3 .../meta_audit.py --html index.html --css main.css css/demo.css --out meta.json

Iterate on one category until green:

node .../audit.js --url http://localhost:8377/ --mobile --only accessibility

See references/canonical-patterns.md for the canonical sources this skill is aligned with, and the showcase in docs/showcase/showcase-frontend-perfection-lovii.md.

Frequently asked questions

What to verify before installation and use

What does the frontend-perfection source document cover?

Audit and polish a frontend — static HTML/CSS/JS or a built SPA — towards verifiable perfection. The skill exists because production web perf tooling commonly breaks when it pokes at private APIs (Playwright internals, old Lighthouse signatures, unisolated global deps). This ski…

How do I install frontend-perfection?

The source record exposes this install command: npx skills add https://github.com/bestdeejay-design/agent-skills --skill "skills/frontend-perfection". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged network, exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 91733

rampstackco/claude-skills

qa-testing

Run QA testing on a page, feature, or full site at one of three depth tiers (smoke, standard, full). Use this skill whenever the user asks to QA a page or site, run a smoke test after a deploy, verify a page before launch, or run a regression sweep. Triggers on QA, QA sweep, smoke test, regression test, post-deploy check, pre-launch check, verify the deploy, test this page, does the page render, broken link, 404, image not loading. Also triggers proactively after a deploy or a new page launch wh

Computed 90203

PramodDutta/qaskills

Website Audit

Comprehensive website auditing skill using Lighthouse, PageSpeed Insights, and web performance APIs to audit performance, accessibility, SEO, best practices, and security.

Computed 93152

JasonColapietro/suede-creator-skills

suede-workflow-skills

Suede Labs AI umbrella router for the public Suede pack: selects the right specialist across copy, design, code review and grading, SEO and visibility, launch packaging, MCP QA, iOS and Android shipping, growth, and creator rights work. Use when a request crosses two or more Suede lanes, when the user wants the full public skill pack loaded from one installable path, when they ask which Suede skill fits a task, or when only this umbrella skill is installed. NOT FOR: a request that names one lane

Computed 939

novoads/agent-skills

generate-youtube-thumbnail

Generate high-CTR YouTube thumbnails using Nano Banana Pro via the Novoads API. Handles reference image upload, character likeness alignment, proven CTR-tested prompt formulas, and bounded batch generation. Use when the user asks to create a YouTube thumbnail, video thumbnail, A/B test thumbnail variations, or refers to thumbnail design with their face, brand assets, or product photos.