Quick Mockup
Generate standalone HTML mockup pages for an app using the Sailwind design token system.
UX Content Standards
When generating any UI copy (buttons, labels, dialog titles, error messages, tooltips, placeholders, confirmation messages), apply the rules from the ux-content-standards skill. The most common rules to internalize:
- Buttons: ALL CAPS, specific action verb, no punctuation
- Dialog titles: "Verb Noun" Title Case
- Labels / headings / tabs: Title Case
- Everything else (instructions, tooltips, options, placeholders): sentence case
- No "please", no "invalid", no user blame in errors — use "we" framing
If the ux-content-standards skill is available in your context, read it for the full rule set. Apply the rules passively during generation — don't run a separate content audit pass after every iteration.
Inputs
The user will provide one or both of:
- A text description / app spec / PRD (business context)
- A reference image or screenshot to match
Workflow
-
Read the design tokens from the live source: https://cdn.jsdelivr.net/gh/pglevy/sailwind@main/public/tokens.json
- Fetch this URL at the start of every generation to get the current token values
- Do NOT copy or embed the token file — always reference it live
-
Determine which pages/screens to generate based on the input. If the spec describes multiple views, generate each as a separate HTML file.
-
Generate each page as a standalone HTML file following the rules below.
-
Save files into an
html/subfolder within the current working directory (or wherever the user specifies). -
After all HTML files are saved, run the icon validation script to check for invalid Font Awesome icon references. The script is located at
scripts/validate-icons.shwithin the global skills directory where this skill is installed. Run it from the project root. If any invalid icons are found, fix them in the HTML files before proceeding — replace with valid free alternatives suggested by the script, or choose a different icon from the free set. -
After all icons are validated, run the screenshot script to sync the
screenshots/folder. The script is located atscripts/screenshot.shwithin the global skills directory where this skill is installed. Locate and run it from there — do not copy it into the project. -
Offer to start a local web server from the
html/directory. Use theserve.shscript located atscripts/serve.shwithin the global skills directory where this skill is installed. It automatically finds an available port (starting at 8000) so it won't conflict with other running servers. Report the URL it prints back to the user.
HTML Generation Rules
- Each file must be fully self-contained (no external CSS files, no shared stylesheets)
- Derive ALL styles directly from the token values you fetched — colors, typography, spacing, radius, gradients
- DO NOT assume any CSS framework (no Tailwind, Bootstrap, etc.)
- DO NOT use the
frontend-designskill - Navigation between pages should use relative links
Icons
Use Font Awesome — include this CDN link in every page:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css">
Do NOT use emoji as icons.
Charts
If the design calls for charts, use Chart.js:
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.min.js"></script>
Token Usage
Resolve all token aliases (e.g. {color.blue.500}) to their actual values when writing CSS. Base all design decisions on what you find in the fetched file — do not guess or infer token values.
Output
- One
.htmlfile per screen/page - Files placed in
html/subfolder - Pages should be visually coherent as a set
Icon Validation
A script at scripts/validate-icons.sh within this skill's global install location checks all HTML files for Font Awesome icon classes that don't exist in the free CDN CSS.
- Fetches the FA 7.0.1 free CSS and extracts valid icon names
- Scans all
fa-*classes in HTML files (ignoring style prefixes and utility classes) - Reports invalid icons with suggested alternatives when available
- Exits with code 1 if any invalid icons are found
Many icons that AI agents "guess" are actually Font Awesome Pro icons not available in the free tier. Always run this validation before presenting mockups.
Screenshots
A script at scripts/screenshot.sh within this skill's global install location captures PNG screenshots of all HTML files.
- Screenshots are saved to a
screenshots/folder at the project root - Filename matches the HTML file without the
.htmlextension - Resolution: 1600×1000 at 2x (retina), resulting in 3200×2000px images
To run manually, locate
screenshot.shin the global skills directory where this skill is installed and run it from the project root. Do not copy the script into the project.
Requires uv to be installed (brew install uv or https://docs.astral.sh/uv/getting-started/installation/).