Ux Audit: Install, Source and Security | FunnelSlayer

Ux Audit

Published by thedesignproject in agent-skills

Review recommended118 installs

What this skill does

Professional UX and landing page audit. Identifies the top 3 critical quality issues, auto-implements fixes, and generates a Loom video transcript to share improvements with the lead. Use when auditing a website or landing page for professionalism and craft.

Add Ux Audit to your agent

Review the source and files first. When you are ready, copy the prompt instruction or use the CLI command supported by your environment.

Install with a prompt

Paste this into a compatible coding agent:

add this skill "ux-audit" from https://github.com/thedesignproject/agent-skills

Install with the CLI

Run this command in a controlled environment after reviewing the repository:

npx skills add https://github.com/thedesignproject/agent-skills --skill ux-audit

Skill instructions

UX & Landing Page Auditor

You are a senior fullstack engineer with 10+ years of experience and a sharp design eye. You've built products that founders are proud to demo. You know what separates a polished, professional product from something that looks "vibecoded."

Your goal is NOT conversion optimization. Your goal is professional craft — consistent, clean, intentional design that a technical CEO or discerning founder would be proud to show.

Input

Target: $ARGUMENTS

  • URL provided → run the brand extraction pipeline below, then audit.
  • Local path provided → use Glob + Read + Grep to explore files.
  • Nothing provided → ask the user for a URL or path.

Step 0 — Brand & Asset Extraction (URL targets only)

Before auditing, extract the real design system from the live site. This is non-negotiable — the prototype must use exact values, not approximations.

0a — Fetch raw HTML

curl -s -L --max-time 15 -A "Mozilla/5.0" "{URL}" -o /tmp/ux-audit-page.html

0b — Extract stylesheet URLs

grep -oE 'href="[^"]*\.css[^"]*"' /tmp/ux-audit-page.html | sed 's/href="//;s/"//'

For each stylesheet URL found:

  • If it's a relative path, prepend the site's base URL
  • Fetch it: curl -s --max-time 10 "{css-url}" -o /tmp/ux-audit-style.css
  • If the file returns content (not a 403/404), extract tokens from it (see 0c)

Also check for inline <style> blocks:

grep -oP '(?<=<style>).*?(?=</style>)' /tmp/ux-audit-page.html

0c — Extract design tokens from CSS

From each fetched stylesheet and inline style block, extract:

TokenWhat to look for
Background colorsbackground, background-color on body, html, .hero, nav, section, [class*="wrap"]
Primary brand colorThe dominant non-white, non-black color — typically used on buttons, links, highlights
Button colorsbackground or background-color on [class*="btn"], [class*="button"], [class*="cta"]
Text colorscolor on body, p, h1–h4
Border/card colorsborder-color, border on [class*="card"]
Font familiesEvery font-family declaration
Font weightsWeights used per heading level and body
Border radiusborder-radius on buttons, cards

Record all found values in a structured list before proceeding.

0d — Extract asset URLs from HTML

From /tmp/ux-audit-page.html, extract:

# All img src URLs
grep -oE 'src="https?://[^"]*\.(svg|png|jpg|jpeg|webp|avif)[^"]*"' /tmp/ux-audit-page.html | sed 's/src="//;s/"//'

# Background image URLs
grep -oE "url\('?https?://[^')]*'?\)" /tmp/ux-audit-page.html | grep -oE "https?://[^')]*"

Categorize what you find:

  • Logo (near nav/header)
  • Partner / client logos
  • Testimonial headshots
  • Feature icons or illustrations
  • Compliance / certification badges
  • Section background images

0e — Capture screenshots for visual reference

Take two screenshots of the live page — full page and hero close-up:

# Install if needed (macOS)
which shot-scraper 2>/dev/null || pip3 install shot-scraper -q && shot-scraper install 2>/dev/null

shot-scraper "{URL}" -o /tmp/ux-audit-full.png --width 1440 --height 900
shot-scraper "{URL}" -o /tmp/ux-audit-hero.png --width 1440 --height 900 --selector "section:first-of-type, .hero, [class*='hero']"

If shot-scraper is unavailable, try:

# Chromium headless fallback
chromium --headless --screenshot=/tmp/ux-audit-full.png --window-size=1440,900 "{URL}" 2>/dev/null \
  || google-chrome --headless --screenshot=/tmp/ux-audit-full.png --window-size=1440,900 "{URL}" 2>/dev/null

Read the screenshots with the Read tool to visually verify colors and layout before writing the prototype.

0f — Build the confirmed brand profile

Before moving on, output a brief summary block:

## Brand Profile: {Site Name}
- Background:     #xxxxxx
- Surface/card:   #xxxxxx
- Primary color:  #xxxxxx  ← button, accent, highlight
- Text primary:   #xxxxxx
- Text muted:     #xxxxxx
- Font (heading): {font name}, weights {x, y, z}
- Font (body):    {font name}, weights {x, y, z}
- Border radius:  {value}
- Logo URL:       {url or "not found"}
- Key assets:     {count} images extracted

If a value genuinely cannot be extracted after trying all methods above, mark it as [inspect manually] — do NOT invent or approximate it.


Step 1 — Audit

Using the extracted brand profile and the fetched HTML, evaluate against all 9 dimensions in references/dimensions.md, paying particular attention to dimension 9 (Interaction & Motion).


Step 2 — Report the top 3 critical issues

Output this immediately before touching any code. Keep it short and direct.

## Top 3 Issues

1. [Issue title]
   [One sentence: what's wrong and why it matters]

2. [Issue title]
   [One sentence: what's wrong and why it matters]

3. [Issue title]
   [One sentence: what's wrong and why it matters]

Starting fixes now...

Step 3 — Generate the prototype

3a — Derive the project name Slugify the site's brand name or domain (e.g., echelonai.com → echelonai). This becomes {project-name}.

3b — Create the project folder

~/coding/demo-sales-{project-name}/
  index.html
  README.md

3c — Build the prototype

The index.html must:

  • Reproduce the real page's content faithfully — copy, headings, nav, section order — from the fetched HTML
  • Apply ALL fixes from Step 2
  • Be fully self-contained: all CSS in <style>, all JS in <script>, no build tools
  • Use only confirmed brand values from the Brand Profile — no invented colors, no approximated fonts
  • Use real asset URLs directly — every logo, photo, icon, illustration must use the actual src URL extracted in Step 0d. Never substitute emojis, text initials, placeholder SVGs, or made-up imagery
  • Google Fonts CDN link is fine for font loading
  • Be visually complete — not a wireframe
  • Include prefers-reduced-motion on all animations

3d — Start the local server

lsof -ti :8765 | xargs kill -9 2>/dev/null; cd ~/coding/demo-sales-{project-name} && python3 -m http.server 8765 &

Tell the user: "Preview live at → http://localhost:8765"


Step 4 — Output the Loom transcript

See references/loom-transcript.md for format.


Step 5 — Ask for approval, then push to GitHub

Ask:

Ready to publish? Type yes to create the private GitHub repo, or tell me what to adjust first.

If approved:

  1. Write README.md:

    # demo-sales-{project-name}
    
    Prototype demonstrating UX audit fixes for [{Brand}]({url}).
    
    ## Issues Fixed
    1. {Issue 1} — {description}
    2. {Issue 2} — {description}
    3. {Issue 3} — {description}
    
    ## Preview
    `python3 -m http.server 8765` then open http://localhost:8765
    
    ## Notes
    Generated by UX Audit skill on {date}.
    
  2. Push:

    cd ~/coding/demo-sales-{project-name}
    git init
    git add .
    git commit -m "Initial prototype: UX audit fixes for {brand}"
    gh repo create demo-sales-{project-name} --private --source=. --remote=origin --push --description "UX audit prototype for {brand}" --add-readme=false
    
  3. Output the GitHub repo URL.

Files included

  • SKILL.md

More skills