Website Builder — Template Modification + Netlify Deploy
Goal
Take a brief description of what the user wants and produce a stunning, production-ready landing page by modifying an existing proven template — not building from scratch. Then push it live on Netlify and return the URL.
Inputs
- Brand name: The company/project name
- Core thesis: One sentence about what it is (or a URL to check)
- Vibe/aesthetic: Any direction (e.g. "dark techy", "clinical luxury", "brutalist")
- Conversion goal: What the CTA should be (default: book a call)
Template Location
The base template lives at website-template/ in the workspace root. It is a complete, working React + Vite + Tailwind v3 + GSAP site with:
Structure
website-template/
├── src/
│ ├── App.jsx # Root layout (imports all sections)
│ ├── index.css # Tailwind imports, noise overlay, scrollbar
│ ├── main.jsx # Entry point
│ └── components/
│ ├── Navbar.jsx # Floating nav, scroll-reactive
│ ├── Hero.jsx # Full-viewport hero, bg image, GSAP text reveal
│ ├── Features.jsx # Light-bg section with 3 interactive micro-UIs
│ ├── DiagnosticShuffler.jsx # Auto-cycling stacked cards widget
│ ├── TelemetryTypewriter.jsx # Terminal-style typewriter widget
│ ├── AdaptiveRegimen.jsx # Calendar picker with animated cursor
│ ├── Philosophy.jsx # Parallax bg, split-word text reveal
│ ├── Protocol.jsx # Stacking scroll cards (GSAP ScrollTrigger pinning)
│ ├── Membership.jsx # 3-tier pricing with hover effects
│ └── Footer.jsx # Dark footer with columns
├── tailwind.config.js # Color tokens, fonts, border-radius
├── postcss.config.js # Standard postcss + autoprefixer
├── vite.config.js # Vite + React plugin
├── package.json # React 19, GSAP, Lucide, Tailwind v3
└── index.html
Tech Stack (DO NOT CHANGE)
- React 19 + Vite 7
- Tailwind CSS v3 (uses
tailwind.config.js + @tailwind directives — NOT v4)
- GSAP 3 with ScrollTrigger
- Lucide React icons
- PostCSS + Autoprefixer
Design System (in tailwind.config.js)
colors:
moss: '#070707' — deep black accent
clay: '#0026FF' — tech blue primary
cream: '#EAEAEA' — off-white text
charcoal: '#070707' — primary dark bg
fonts:
sans: Plus Jakarta Sans, Outfit
serif: Cormorant Garamond
mono: system monospace
Process
Step 1: Copy Template
cp -R website-template/ site-name/
cd site-name
rm -rf node_modules
npm install
Step 2: Customize for the Brand
Modify these files — DO NOT restructure or rewrite from scratch:
tailwind.config.js — Change color tokens (moss, clay, cream, charcoal) and fonts to match the brand aesthetic. The class names stay the same, only the hex values change.
index.css — Update the Google Fonts import URL to match new font choices.
index.html — Update <title>.
Component copy — Find-and-replace brand-specific text in each component:
Navbar.jsx — Brand name, nav links, CTA button text
Hero.jsx — Headline, subhead, tagline, background image URL
Features.jsx — Section heading, subheading
DiagnosticShuffler.jsx — Card titles, values, trends (make relevant to the brand)
TelemetryTypewriter.jsx — Typing messages array, status labels
AdaptiveRegimen.jsx — Widget labels, button text
Philosophy.jsx — The two contrasting statements, section labels, background image
Protocol.jsx — Step titles, descriptions, section heading
Membership.jsx — Tier names, prices, features, descriptions (or replace with a CTA section if not needed)
Footer.jsx — Brand name, tagline, link columns, copyright
Unsplash images — Replace background image URLs in Hero.jsx and Philosophy.jsx with images that match the brand. Use https://images.unsplash.com/photo-ID?w=2000&q=80 format.
Step 3: Build & Deploy
npm run build
npx netlify-cli deploy --prod --dir=dist --create-site site-name
If the site is already linked to Netlify:
npm run build
npx netlify-cli deploy --prod --dir=dist
Note: The interactive sites:create command hangs in non-TTY. Always use --create-site flag.
Step 4: Return the Live URL
What NOT to Do
- DO NOT rewrite components from scratch. The template works. Modify copy, colors, and images only.
- DO NOT switch to Tailwind v4. The template uses v3 with
tailwind.config.js. Keep it.
- DO NOT remove the interactive micro-UIs (DiagnosticShuffler, TelemetryTypewriter, AdaptiveRegimen). They are the visual differentiator. Adapt their content to the brand.
- DO NOT change the structural layout (rounded section transitions, stacking scroll cards, parallax philosophy section). These are what make it look good.
- DO NOT add new npm dependencies unless absolutely necessary.
Customization Cheat Sheet
Changing the Vibe
The entire aesthetic shifts by changing 4 color tokens in tailwind.config.js:
| Vibe |
charcoal (bg) |
clay (accent) |
cream (text) |
moss (dark accent) |
| Tech Blue (default) |
#070707 |
#0026FF |
#EAEAEA |
#070707 |
| Gold Luxury |
#070707 |
#C9A84C |
#F5F0E8 |
#0A0A0A |
| Neon Cyber |
#0A0A0A |
#00FFD1 |
#E0E0E0 |
#0A0A0A |
| Clinical White |
#FAFAFA |
#2563EB |
#1A1A1A |
#F5F5F5 |
| Terracotta Organic |
#1A1410 |
#CC5833 |
#F2F0E9 |
#2E4036 |
| Emerald Content |
#090909 |
#10B981 |
#F0F0F0 |
#0A0A0A |
If Client Doesn't Need Pricing
Replace Membership.jsx content with a full-width CTA section (keep the component file, just change its JSX).
Worked Example: 1SecondCopy (SEO content writing service)
This is the gold-standard reference for the depth of modifications needed. Every component's text content changes, but zero structural/layout changes are made.
Colors (tailwind.config.js)
moss: '#0A0A0A', clay: '#10B981', cream: '#F0F0F0', charcoal: '#090909'
Component-by-component changes
| Component |
What changed |
What stayed the same |
Navbar.jsx |
Brand → "1SECONDCOPY_", links → Process/Platform/Pricing, CTA → "Get Started" |
Floating nav, scroll blur, mobile hamburger |
Hero.jsx |
Headline → "Words that Rank.", tagline → "Content Writing, With a Twist", subhead about top 1% writers, Unsplash bg → writing-themed |
GSAP text reveal, layout, gradient overlays |
Features.jsx |
Heading → "Your Content Command Center", subhead about real-time dashboards |
3-column micro-UI grid, section structure |
DiagnosticShuffler.jsx |
Cards → "Content Velocity: 48 articles", "Avg. SERP Position: #4.2", "Turnaround Time: 2.1 days", label → "Content Analytics" |
Auto-cycling animation, card structure |
TelemetryTypewriter.jsx |
Messages → content pipeline steps ("Researching target keywords...", "Matching writer to brief..."), labels → "Live Queue", stats → "In Queue: 3 briefs" / "Avg. Delivery: 2.1 days" |
Typewriter effect, terminal styling |
AdaptiveRegimen.jsx |
Label → "Content Scheduler", heading → "Select Publish Day", button → "Submit", GSAP color → #10B981 |
Calendar grid, animated cursor, date chips |
Philosophy.jsx |
Old Way → "Hire freelancers. Manage revisions. Pray it ranks." vs New Way → "Submit a brief. Get SEO content that converts.", Unsplash bg swapped |
Parallax scroll, split-word reveal, layout |
Protocol.jsx |
Steps → "Brief & Research" / "Expert Writing" / "SEO & Delivery", heading → "The Process.", description about their workflow |
Stacking scroll cards, GSAP pinning, SVG graphics |
Membership.jsx |
Tiers → Starter $0.09/word, Bulk $0.08/word, Enterprise Custom, all features rewritten for content service |
3-column grid, hover effects, popular badge |
Footer.jsx |
Brand → "1SECONDCOPY_", tagline → "SEO content on-demand", columns → Services/Company, status → "Writers Online" |
Layout, ping dot animation, copyright |
Key takeaway
~200 lines of text changes across 10 files. Zero layout, animation, or structural changes. The site looks completely different because colors + copy do all the heavy lifting.
Environment
Requires:
- Node.js 18+
npx netlify-cli (auto-installs)
- Netlify account authenticated via
netlify login
First-Run Setup
Before executing, check if the workspace has a .gitignore file. If it doesn't, assume the user is new to this skill. In that case:
- Ask the user if this is their first time running this skill
- If yes, walk them through how it works and what they need to configure/set up (API keys, env vars, dependencies, etc.)
- Let them know that Nick wishes them the best!
1---2name: website-builder3description: Build a cinematic, high-fidelity landing page from a brief description, then deploy it live on Netlify. Use when creating websites, building landing pages, making client sites, or deploying web pages.4---56# Website Builder — Template Modification + Netlify Deploy78## Goal9Take a brief description of what the user wants and produce a stunning, production-ready landing page by **modifying an existing proven template** — not building from scratch. Then push it live on Netlify and return the URL.1011## Inputs12- **Brand name**: The company/project name13- **Core thesis**: One sentence about what it is (or a URL to check)14- **Vibe/aesthetic**: Any direction (e.g. "dark techy", "clinical luxury", "brutalist")15- **Conversion goal**: What the CTA should be (default: book a call)1617## Template Location18The base template lives at `website-template/` in the workspace root. It is a complete, working React + Vite + Tailwind v3 + GSAP site with:1920### Structure21```22website-template/23├── src/24│ ├── App.jsx # Root layout (imports all sections)25│ ├── index.css # Tailwind imports, noise overlay, scrollbar26│ ├── main.jsx # Entry point27│ └── components/28│ ├── Navbar.jsx # Floating nav, scroll-reactive29│ ├── Hero.jsx # Full-viewport hero, bg image, GSAP text reveal30│ ├── Features.jsx # Light-bg section with 3 interactive micro-UIs31│ ├── DiagnosticShuffler.jsx # Auto-cycling stacked cards widget32│ ├── TelemetryTypewriter.jsx # Terminal-style typewriter widget33│ ├── AdaptiveRegimen.jsx # Calendar picker with animated cursor34│ ├── Philosophy.jsx # Parallax bg, split-word text reveal35│ ├── Protocol.jsx # Stacking scroll cards (GSAP ScrollTrigger pinning)36│ ├── Membership.jsx # 3-tier pricing with hover effects37│ └── Footer.jsx # Dark footer with columns38├── tailwind.config.js # Color tokens, fonts, border-radius39├── postcss.config.js # Standard postcss + autoprefixer40├── vite.config.js # Vite + React plugin41├── package.json # React 19, GSAP, Lucide, Tailwind v342└── index.html43```4445### Tech Stack (DO NOT CHANGE)46- React 19 + Vite 747- Tailwind CSS **v3** (uses `tailwind.config.js` + `@tailwind` directives — NOT v4)48- GSAP 3 with ScrollTrigger49- Lucide React icons50- PostCSS + Autoprefixer5152### Design System (in `tailwind.config.js`)53```54colors:55 moss: '#070707' — deep black accent56 clay: '#0026FF' — tech blue primary57 cream: '#EAEAEA' — off-white text58 charcoal: '#070707' — primary dark bg5960fonts:61 sans: Plus Jakarta Sans, Outfit62 serif: Cormorant Garamond63 mono: system monospace64```6566## Process6768### Step 1: Copy Template69```bash70cp -R website-template/ site-name/71cd site-name72rm -rf node_modules73npm install74```7576### Step 2: Customize for the Brand77Modify these files — DO NOT restructure or rewrite from scratch:78791. **`tailwind.config.js`** — Change color tokens (`moss`, `clay`, `cream`, `charcoal`) and fonts to match the brand aesthetic. The class names stay the same, only the hex values change.80812. **`index.css`** — Update the Google Fonts import URL to match new font choices.82833. **`index.html`** — Update `<title>`.84854. **Component copy** — Find-and-replace brand-specific text in each component:86 - `Navbar.jsx` — Brand name, nav links, CTA button text87 - `Hero.jsx` — Headline, subhead, tagline, background image URL88 - `Features.jsx` — Section heading, subheading89 - `DiagnosticShuffler.jsx` — Card titles, values, trends (make relevant to the brand)90 - `TelemetryTypewriter.jsx` — Typing messages array, status labels91 - `AdaptiveRegimen.jsx` — Widget labels, button text92 - `Philosophy.jsx` — The two contrasting statements, section labels, background image93 - `Protocol.jsx` — Step titles, descriptions, section heading94 - `Membership.jsx` — Tier names, prices, features, descriptions (or replace with a CTA section if not needed)95 - `Footer.jsx` — Brand name, tagline, link columns, copyright96975. **Unsplash images** — Replace background image URLs in Hero.jsx and Philosophy.jsx with images that match the brand. Use `https://images.unsplash.com/photo-ID?w=2000&q=80` format.9899### Step 3: Build & Deploy100```bash101npm run build102npx netlify-cli deploy --prod --dir=dist --create-site site-name103```104105If the site is already linked to Netlify:106```bash107npm run build108npx netlify-cli deploy --prod --dir=dist109```110111Note: The interactive `sites:create` command hangs in non-TTY. Always use `--create-site` flag.112113### Step 4: Return the Live URL114115## What NOT to Do116- **DO NOT rewrite components from scratch.** The template works. Modify copy, colors, and images only.117- **DO NOT switch to Tailwind v4.** The template uses v3 with `tailwind.config.js`. Keep it.118- **DO NOT remove the interactive micro-UIs** (DiagnosticShuffler, TelemetryTypewriter, AdaptiveRegimen). They are the visual differentiator. Adapt their content to the brand.119- **DO NOT change the structural layout** (rounded section transitions, stacking scroll cards, parallax philosophy section). These are what make it look good.120- **DO NOT add new npm dependencies** unless absolutely necessary.121122## Customization Cheat Sheet123124### Changing the Vibe125The entire aesthetic shifts by changing 4 color tokens in `tailwind.config.js`:126127| Vibe | `charcoal` (bg) | `clay` (accent) | `cream` (text) | `moss` (dark accent) |128|------|-----------------|-----------------|----------------|---------------------|129| Tech Blue (default) | `#070707` | `#0026FF` | `#EAEAEA` | `#070707` |130| Gold Luxury | `#070707` | `#C9A84C` | `#F5F0E8` | `#0A0A0A` |131| Neon Cyber | `#0A0A0A` | `#00FFD1` | `#E0E0E0` | `#0A0A0A` |132| Clinical White | `#FAFAFA` | `#2563EB` | `#1A1A1A` | `#F5F5F5` |133| Terracotta Organic | `#1A1410` | `#CC5833` | `#F2F0E9` | `#2E4036` |134| Emerald Content | `#090909` | `#10B981` | `#F0F0F0` | `#0A0A0A` |135136### If Client Doesn't Need Pricing137Replace `Membership.jsx` content with a full-width CTA section (keep the component file, just change its JSX).138139## Worked Example: 1SecondCopy (SEO content writing service)140141This is the gold-standard reference for the depth of modifications needed. Every component's **text content** changes, but **zero structural/layout changes** are made.142143### Colors (`tailwind.config.js`)144```js145moss: '#0A0A0A', clay: '#10B981', cream: '#F0F0F0', charcoal: '#090909'146```147148### Component-by-component changes149| Component | What changed | What stayed the same |150|-----------|-------------|---------------------|151| `Navbar.jsx` | Brand → "1SECONDCOPY_", links → Process/Platform/Pricing, CTA → "Get Started" | Floating nav, scroll blur, mobile hamburger |152| `Hero.jsx` | Headline → "Words that Rank.", tagline → "Content Writing, With a Twist", subhead about top 1% writers, Unsplash bg → writing-themed | GSAP text reveal, layout, gradient overlays |153| `Features.jsx` | Heading → "Your Content Command Center", subhead about real-time dashboards | 3-column micro-UI grid, section structure |154| `DiagnosticShuffler.jsx` | Cards → "Content Velocity: 48 articles", "Avg. SERP Position: #4.2", "Turnaround Time: 2.1 days", label → "Content Analytics" | Auto-cycling animation, card structure |155| `TelemetryTypewriter.jsx` | Messages → content pipeline steps ("Researching target keywords...", "Matching writer to brief..."), labels → "Live Queue", stats → "In Queue: 3 briefs" / "Avg. Delivery: 2.1 days" | Typewriter effect, terminal styling |156| `AdaptiveRegimen.jsx` | Label → "Content Scheduler", heading → "Select Publish Day", button → "Submit", GSAP color → `#10B981` | Calendar grid, animated cursor, date chips |157| `Philosophy.jsx` | Old Way → "Hire freelancers. Manage revisions. Pray it ranks." vs New Way → "Submit a brief. Get SEO content that converts.", Unsplash bg swapped | Parallax scroll, split-word reveal, layout |158| `Protocol.jsx` | Steps → "Brief & Research" / "Expert Writing" / "SEO & Delivery", heading → "The Process.", description about their workflow | Stacking scroll cards, GSAP pinning, SVG graphics |159| `Membership.jsx` | Tiers → Starter $0.09/word, Bulk $0.08/word, Enterprise Custom, all features rewritten for content service | 3-column grid, hover effects, popular badge |160| `Footer.jsx` | Brand → "1SECONDCOPY_", tagline → "SEO content on-demand", columns → Services/Company, status → "Writers Online" | Layout, ping dot animation, copyright |161162### Key takeaway163~200 lines of text changes across 10 files. Zero layout, animation, or structural changes. The site looks completely different because colors + copy do all the heavy lifting.164165## Environment166Requires:167- Node.js 18+168- `npx netlify-cli` (auto-installs)169- Netlify account authenticated via `netlify login`170171## First-Run Setup172173Before executing, check if the workspace has a `.gitignore` file. If it doesn't, assume the user is new to this skill. In that case:1741751. Ask the user if this is their first time running this skill1762. If yes, walk them through how it works and what they need to configure/set up (API keys, env vars, dependencies, etc.)1773. Let them know that Nick wishes them the best!