
Responsive Product Landing Page
Turn a product and positioning brief into a complete static landing page: semantic HTML, token-driven CSS, an SVG product mock, social card and launch files.
Product: Gutterbell, a free phone app that reminds homeowners about seasonal maintenance (gutters, smoke-alarm batteries, boiler service).
Audience: first-time homeowners who don't know what needs doing or when.
Primary action: join the beta waitlist with an email address.
What we can say: 40 built-in reminder templates; reminders adjust to your region's seasons; no account needed to try it.
What we can't say: no customer numbers, no reviews yet, no app-store ratings.
Brand: name only, no logo yet. Likes "calm, practical, a bit warm".
Stack: static HTML/CSS; the waitlist form posts to /api/waitlist (already exists).
Fictional brief. "Gutterbell", its features and audience are invented for this demonstration.
/api/waitlist).| Token | Value |
|---|---|
| Type | Georgia serif for headings · system sans for body |
| Spacing | 0.5 / 1 / 1.5 / 2.5 / 4 rem |
| Colours | ink #1f2a2e · muted #4d5b60 · paper #fbf8f3 · line #e4ddd2 |
| Accent | rust #b4532a (button only) |
| Visuals | none needed: no logo yet, and the reminder card is plain HTML |
Static index.html with inline CSS, no scripts and no external assets. Semantic header / main / section / footer; the email field has a <label for>, type=email, autocomplete=email and required.
| Check | Result |
|---|---|
| Horizontal overflow at 360 px | 0 px · pass |
| Horizontal overflow at 1280 px | 0 px · pass |
| Keyboard order | email → button · pass |
| Focus ring | 3 px solid on both controls · pass |
| Label associated with input | 1 label · pass |
| Empty submit | blocked by required · pass |
| Contrast, body ink on paper | 13.87:1 · pass |
| Contrast, muted text on paper | 6.65:1 · pass |
| Contrast, white on accent button | 4.99:1 · pass (AA) |
| Reduced motion | hover transition 0s · pass |
| Controls that do nothing | none (2 controls, both live) |
/api/waitlist does not exist in this sandbox, so a real submit was not tested.Produced by following clean-landing-page/SKILL.md on samples/input.md. Fictional product. The page is samples/output/index.html.
--- name: clean-landing-page description: "Turn a clear brief into a beautifully focused, responsive landing page." --- # Clean Landing Page ## When to use Use this skill when asked to build a focused, accessible landing page from a brief. ## Workflow 1. Read the existing project and its instructions. Identify the product, audience, primary action, and any provided brand assets. Ask only for missing details that change the design. 2. Write a five-line content outline: clear promise, supporting proof, key benefits, how it works, and a single primary action. Do not invent customer quotes, statistics, or company claims. 3. Establish a compact design system: two type styles, a spacing scale, accessible colors, and one accent. Use real provided assets or original CSS/SVG visuals. 4. Build semantic, responsive HTML in the existing framework. Include keyboard focus, correctly associated form labels, useful alt text, and reduced-motion support. 5. Test narrow and wide screens, keyboard navigation, empty states, slow loading, and the primary action. Avoid decorative controls that do nothing. 6. Run the project's lint, types, and build checks. Report exactly what passed, failed, or was not run. ## Definition of done A visitor understands what the product does and what to do next. There is no horizontal overflow at 360px. Interactive controls work or clearly explain their unavailable state.
npx skillbay install clean-landing-page --agent claude-codeOther agents and scopes: see Installation below.
A practical starter workflow for turning a product brief into an accessible, responsive landing page. It covers message hierarchy, layout, implementation, and a final quality check, so your agent has a clear definition of done.
The package is instructions only: SKILL.md, a README and the sample run as Markdown, no scripts.
.claude/skills/clean-landing-page/Review the package, then place the complete skill folder here. Keep SKILL.md, scripts, references and assets together.
/clean-landing-pagenpx skillbay install clean-landing-page --agent claude-codeRun from your target workspace. Requires Node.js 22 or later. Sign in once with npx skillbay login; premium packages install with an active plan. CLI docs
Use the clean-landing-page skill. Read SKILL.md first. Ask me for anything it needs that I have not given you, follow its steps on my material, then report what you checked and anything you could not verify.

Turn a product and positioning brief into a complete static landing page: semantic HTML, token-driven CSS, an SVG product mock, social card and launch files.