SKILL.md
Landing Page Generator
Generate a complete, deployable landing page as a single HTML file. No build step, no dependencies — open it in a browser or deploy anywhere.
Workflow
1. Gather the Brief
Ask the user for:
Field
Required
Example
Business/product name
Yes
"Acme Plumbing"
Value proposition
Yes
"24/7 emergency plumbing across Newcastle"
Target audience
Yes
"Homeowners in the Hunter Valley"
Primary CTA
Yes
"Call Now" / "Get a Quote" / "Sign Up"
Secondary CTA
No
"Learn More" / "View Pricing"
Brand colours
No
Primary: #1E40AF, accent: #F59E0B
Logo URL or text
No
URL to logo image, or just use business name
Phone / email
No
For contact section
Sections wanted
No
Default: hero, features, testimonials, FAQ, footer
If no brand colours provided, suggest using the color-palette skill to generate them, or use a sensible default (slate/blue).
2. Generate the HTML
Produce a single HTML file with:
<!DOCTYPE html>
<html lang="en" class="scroll-smooth">
<head>
<!-- Meta, OG tags, favicon -->
<script src="https://cdn.tailwindcss.com"></script>
<script>tailwind config with custom colours</script>
</head>
<body>
<!-- Nav -->
<!-- Hero -->
<!-- Features -->
<!-- Social Proof -->
<!-- Pricing (optional) -->
<!-- FAQ -->
<!-- Footer -->
<!-- Dark mode toggle script -->
</body>
</html>
3. Section Patterns
#### Navigation
- Sticky top nav with logo/name + anchor links to sections
- Mobile hamburger menu (CSS-only or minimal JS)
- CTA button in nav (right-aligned)
#### Hero
- Full-width, above the fold
- Headline (h1) — the value proposition, not the business name
- Subheadline — supporting detail, 1-2 sentences
- Primary CTA button (large, contrasting colour)
- Optional: hero image placeholder or gradient background
- Pattern: text-left on desktop (60/40 split with image), centred on mobile
#### Features / Services
- 3-6 items in a responsive grid (1 col mobile, 2-3 cols desktop)
- Each: icon placeholder + heading + short description
- Use semantic headings (h2 for section, h3 for items)
#### Social Proof / Testimonials
- 2-3 testimonial cards with quote, name, role/company
- Star rating if applicable
- Alternative: logo bar of client/partner logos
#### Pricing (optional)
- 2-3 tier cards (basic/pro/enterprise pattern)
- Highlighted "recommended" tier
- Feature comparison list per tier
- CTA button per tier
#### FAQ
- Accordion pattern (details/summary — no JS needed)
- 4-6 common questions
- Schema.org FAQPage markup for SEO
#### Footer
- Business name, contact info, social links
- Legal links (privacy, terms) as placeholders
- Copyright year (use JS for auto-update)
4. Technical Requirements
Responsive: Mobile-first with three breakpoints
Default: mobile (< 640px)
sm: 640px+ (tablet)
lg: 1024px+ (desktop)
Dark mode: Three-state toggle (light/dark/system)
- CSS custom properties for colours
.darkclass on<html>— no CSS media query
- Small JS snippet for toggle + localStorage persistence
Accessibility:
- Proper heading hierarchy (h1 → h2 → h3, no skips)
- Alt text placeholders on all images
- Focus-visible styles on interactive elements
- Sufficient colour contrast (4.5:1 minimum)
- Skip-to-content link
SEO:
- Semantic HTML5 elements (header, main, section, footer)
- OG meta tags (title, description, image, url)
- Twitter card meta tags
- Canonical URL
- JSON-LD for LocalBusiness if it's a local business (reference
seo-local-businessskill)
Performance:
- No JS required for core content rendering
- Lazy-load images (
loading="lazy")
- System font stack (no external font requests)
- Single file — no external CSS/JS beyond Tailwind CDN
5. Colour Application
If user provides brand colours, configure Tailwind inline:
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
colors: {
primary: { DEFAULT: '#1E40AF', light: '#3B82F6', dark: '#1E3A8A' },
accent: { DEFAULT: '#F59E0B', light: '#FBBF24', dark: '#D97706' },
}
}
}
}
</script>
If no colours provided, use Tailwind's built-in palette (slate for neutrals, blue for primary).
6. Output
Write the file to the user's specified location, or default to ./index.html.
After generating:
- Tell the user how to preview:
open index.html(macOS) orpython3 -m http.serverfor a local server
- Suggest deployment options: drag to Cloudflare Pages, Netlify drop, or
wrangler deployfor Workers
- List placeholder content that needs replacing (images, testimonials, phone numbers)
Quality Rules
- No placeholder lorem ipsum — generate realistic placeholder text based on the business type
- No broken layouts — test the responsive grid mentally: 1 col → 2 col → 3 col
- No inline styles — use Tailwind classes exclusively
- Real interactions — smooth scroll to sections, working accordion, working dark mode toggle
- Accessible by default — don't sacrifice accessibility for aesthetics
- Australian conventions — if the business is Australian, use +61 phone format, Australian spelling, ABN placeholder
Variations
Request
Approach
"Coming soon page"
Hero only + email signup form + countdown timer
"Product launch"
Hero + features + pricing + CTA-heavy
"Portfolio"
Hero + project grid + about + contact
"Event page"
Hero + schedule + speakers + venue + register CTA
"App download"
Hero + features + screenshots + app store badges
Adapt the section selection to match the page purpose. Not every page needs pricing or FAQ.