Web & UI pack
Claude Skill
Marketing Site Scaffolder
Scaffolds a multi-page marketing site (Home, About, Pricing, Blog, Contact) with consistent layout.
What it does
Produces a multi-page marketing site scaffold: shared Nav, Footer, Layout component, and page templates for Home, About, Pricing, Blog index + post, Contact, and a 404. Defaults to Astro (best for marketing) or Next.js App Router. Responsive, accessible, fast (no client JS where unneeded).
When to use
- ✓Starting a new company or product marketing site from scratch
- ✓Migrating off a CMS (Webflow, Squarespace) to a code-owned site
- ✓Existing site is page-by-page inconsistent and you want to consolidate
When not to use
- ✗Single landing page — use the landing-page-builder
- ✗You need a CMS-driven site for non-technical editors — use Webflow / Sanity / Contentful
- ✗It's really an app, not a marketing site — different stack (Next.js full app, not Astro)
Install
Download the .zip, then unzip into your Claude skills folder.
mkdir -p ~/.claude/skills
unzip ~/Downloads/marketing-site-scaffolder.zip -d ~/.claude/skills/
# Restart Claude Code session.
# Skill is now available — Claude will use it when relevant.SKILL.md
SKILL.md
---
name: marketing-site-scaffolder
description: Use when scaffolding a multi-page marketing site (Home, About, Pricing, Blog, Contact). Triggers on "build a marketing site", "scaffold website", "multi-page site", "company website".
---
# Marketing Site Scaffolder
Scaffold a fast, consistent, content-friendly multi-page marketing site. Most marketing sites get worse over time because each page is built bespoke. Solve that with a real shared layout.
## Required inputs
1. **Brand** — name, tagline, primary color (hex), logo
2. **Pages needed** — minimum: Home, About, Pricing, Contact. Common adds: Product/Features, Blog, Customers, Careers, Docs.
3. **Tech preference** — Astro (recommended for marketing — ships zero JS by default), Next.js App Router (if you'll build app + marketing in one repo), or vanilla HTML.
4. **CMS** — none (markdown files), Sanity, Contentful, Notion, or local MDX
5. **SEO basics** — title pattern, meta description per page, OG image strategy
## Output format
**Default: Astro project**
```
src/
layouts/
BaseLayout.astro // <html>, <head>, nav, footer
BlogLayout.astro // BaseLayout + article shell
components/
Nav.astro
Footer.astro
Button.astro
Card.astro
SEO.astro
pages/
index.astro
about.astro
pricing.astro
contact.astro
blog/
index.astro
[...slug].astro
404.astro
content/
blog/
*.mdx
public/
favicon.svg
og-default.png
```
For Next.js App Router: same structure with `app/` folder, `layout.tsx` shared, `page.tsx` per route.
## Per-page structure
### Home
Hero → trust band (logos / metric) → 3 features → product deep-dive (one or two) → testimonial → final CTA. Aggressive — this is the most-trafficked page.
### About
Mission (1 paragraph) → team (photos optional) → values or principles → press/funding (if relevant) → "we're hiring" link.
### Pricing
3-tier card layout, feature comparison table below, FAQ at bottom. Use the `pricing-page-builder` skill for the meat.
### Blog index
Reverse-chrono list of posts. Each card: title, date, excerpt (max 2 lines), 1-2 tags, author. Pagination at 10-15 posts.
### Blog post
Use the `blog-template-builder` skill.
### Contact
Email link, optional form, business address (if relevant), response time expectation. Don't build a contact form unless someone will respond within 24h.
### 404
Brand-consistent. "Page not found" + link home + 3 popular pages. Don't be cute at the expense of useful.
## Shared elements
### Nav
- Logo (left) → 3-5 links (center or right) → primary CTA (right). Sticky with `backdrop-blur` on scroll.
- Mobile: hamburger to disclosure, full viewport, links + CTA + footer links
### Footer
- 3-4 columns: Product / Company / Resources / Legal
- Newsletter signup (if you have one — don't fake it)
- Copyright line + social icons + legal links
### Layout shell
- `<html lang="en">`, `<meta name="viewport">`, theme-color, OG defaults
- Skip-to-content link (`<a href="#main" class="sr-only focus:not-sr-only">Skip to content</a>`)
- `<main id="main">` wrapping page content
## SEO
- `<title>` pattern: `{Page} – {Brand}` (e.g., "Pricing – Linear")
- Meta description per page (no auto-truncation; write 150-160 chars)
- Canonical URL on every page
- OG image: 1200x630, generated per page if you have a template (use the `og-image-generator` skill)
- `sitemap.xml` (Astro and Next plugins generate this)
- `robots.txt` allowing all by default
## Performance
- No client JS unless interactive (Astro default is zero JS; Next.js use `'use server'` / RSC)
- Images: `<Image>` component with explicit width/height, AVIF/WebP, lazy loading below the fold
- Fonts: subset, preload critical font, `font-display: swap`
- Aim for LCP < 2.5s on 4G
## Accessibility
- Skip-to-content link
- Semantic structure: `<header>`, `<nav>`, `<main>`, `<footer>`, `<article>` for blog posts
- Heading hierarchy: one `<h1>` per page (the page title, not the brand name)
- Alt text on every image (or `alt=""` if decorative)
- Color contrast at WCAG AA minimum
- Test with keyboard only and a screen reader before launch
## Anti-patterns
- **Carousels on the home page**: nobody clicks past slide 1. Pick the best message and commit.
- **Auto-playing video hero with sound**: hostile.
- **Inconsistent nav between pages**: a sign of bespoke page building. Use a single Layout component.
- **Per-page CSS that overrides shared styles**: tokens and shared components.
- **404 page that breaks the brand**: it's part of the site. Treat it like one.
- **Footer with 40 links**: prune. Hierarchy first.
## Output
Return the file structure + key shared files (BaseLayout, Nav, Footer, SEO component) + one full page (index.astro). Stub the rest with TODOs. Top comment per file says what it does.
Example prompts
Once installed, try these prompts in Claude:
- Scaffold a marketing site for a B2B SaaS. Pages: Home, Product, Pricing, About, Blog, Contact. Astro + Tailwind. MDX for blog.
- Build a Next.js App Router scaffold with Home, Features, Pricing, Docs, Blog, About. Shared layout, dark mode toggle.