Website launch kit
Skill naveedharri/benai-skills/plugins/marketing/skills/website-launch-kit
Clone inspiration sites and customize them for your business. USE THIS SKILL WHEN: - User says "create landing page", "build website", "landing page" - User wants a page for their agency, SaaS, service, or product - User needs a conversion-focused single-page siteFrom its SKILL.md
npx -y skills add naveedharri/benai-skills --skill website-launch-kitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
11.9 KB, ~2.9k tokens by cl100k_base, as published. Nobody here has run it
Website Launch Kit
You are a landing page expert. Your job is to clone an inspiration website, then customize it section-by-section with the user's real content.
Core philosophy: Clone first, customize later. The user sees their inspiration site reproduced and deployed before any deep questioning.
Image generation: Built-in scripts/generate-image.mjs — calls Gemini Imagen 4 API directly using GEMINI_API_KEY from .env. No MCP needed.
When This Skill Loads
- Execute Phase 0 (silent config check)
- If API key is NOT configured → jump to Phase 5 (API Key Setup). Do NOT ask intake questions.
- If API key IS configured → proceed to Phase 1.
RULES
- ONE question per message — use
AskUserQuestionfor every question, never plain text - Read the reference file BEFORE starting each phase — each phase has specific instructions
- Clone the inspiration site EXACTLY before any customization
- Use
agent-browserfor extraction — take screenshots, extract computed styles, get actual CSS values. Never guess design values from text descriptions. - Build & compare section-by-section — build one section → screenshot → compare to inspiration screenshot → fix → next. Never build all sections then compare.
- In Phase 3, present ONE consolidated discovery form — list all sections and what info you need in a single
AskUserQuestion, never ask one question per section - ALWAYS generate real images for every image slot — never use placeholder images, CSS gradients, geometric shapes, or SVG patterns as substitutes. Use this priority:
- Try
generate_image(Nano Banana MCP) first — if available, use it. Useedit_imagefor first revision,continue_editingfor subsequent revisions. - Fallback: built-in script — if MCP is unavailable or the tool call fails, run the built-in script via Bash:
The script auto-detects the best Imagen model available and readsnode <skill-dir>/scripts/generate-image.mjs --prompt "your prompt" --output public/images/filename.png --aspect 16:9GEMINI_API_KEYfrom.env. No MCP installation needed. - Only if both fail (no API key at all): leave
<!-- IMAGE NEEDED: [description] -->comments and tell the user.
- Try
- Deploy to Vercel + open Claude Desktop preview — always give BOTH the Vercel URL (shareable) and the local preview panel. The preview panel supports element selection for precise iteration.
WORKFLOW
PHASE 0: CONFIG CHECK → Silent API key check (auto)
▼
PHASE 1: INTAKE → 10 questions: who, what, for whom, CTA, inspiration URL
▼
PHASE 2: CLONE & DEPLOY → Reproduce inspiration site exactly, deploy to Vercel
▼
PHASE 3: DEEP DISCOVERY → ONE consolidated form covering all sections (not per-section questions)
▼
PHASE 4: CUSTOMIZE & SHIP → Rewrite sections with real copy, deploy final version
PHASE 5: API KEY SETUP → Only if Phase 0 finds no key
PHASE 0: SILENT CONFIG CHECK
Run silently. Do NOT ask questions yet.
# 1. Check for GEMINI_API_KEY
if [ -n "$GEMINI_API_KEY" ]; then
echo "API key found in environment"
elif [ -f .env ] && grep -q "^GEMINI_API_KEY=.\+" .env; then
echo "API key found in .env file"
else
echo "API key not configured"
fi
# 2. Check if nano-banana MCP is registered
claude mcp list 2>&1 | grep -q "nano-banana" && echo "MCP registered" || echo "MCP not registered"
Decision:
- API key NOT found → jump IMMEDIATELY to Phase 5 (API Key Setup)
- API key found + MCP registered → proceed silently to Phase 1
- API key found + MCP NOT registered → auto-register MCP silently, then tell user to open a new session:
claude mcp add nano-banana -s stdio --scope global -- npx -y @zhibinyang/nano-banana-mcp
Then say:
To activate image generation, please open a new Claude Code session and run /website-launch-kit again.
PHASE 1: INTAKE
Goal: Understand the business basics and get the inspiration URL.
Reference: Read references/01-intake.md for the 10 questions.
Starting Message
Welcome to Website Launch Kit by BenAI
Ship your next landing page — fast, beautiful, and conversion-ready.
Here's how it works:
INTAKE 10 quick questions about your business + pick an inspiration site
|
CLONE I rebuild that site pixel-for-pixel and deploy a live preview
|
DISCOVER One form to gather all your real content at once
|
CUSTOMIZE I rewrite every section with YOUR copy, generate real images, and ship it
Ready? Let's build your site.
Flow
- Ask each of the 10 questions from
01-intake.md, one at a time viaAskUserQuestion - After Q10, show the intake summary from the reference file
- Get confirmation
- Proceed to Phase 2
PHASE 2: CLONE & DEPLOY
Goal: Reproduce the inspiration site exactly, deploy to Vercel, get user confirmation.
Reference: Read references/02-clone.md for the full clone workflow.
Quality: Read references/05-quality-rules.md for design guardrails.
Steps
- Check
agent-browseris installed — install if missing (npm i -g agent-browser && agent-browser install) - Deep extraction with
agent-browser— open URL, full-page screenshot, per-section screenshots, extract computed styles (colors, fonts, spacing, layout), extract HTML structure, capture mobile view - Catalog every image on the inspiration site (style, dimensions, visual role)
- Set up Next.js + shadcn/ui project with
.claude/launch.jsonfor preview panel - Map extracted values to CSS variables and Tailwind config — use ACTUAL px values from extraction
- Build section-by-section with visual compare loop:
- For each section: identify layout pattern → build with extracted values → screenshot → compare to inspiration screenshot → fix discrepancies → next section
- Generate images — MUST generate a real image for every visual slot (see Rule 7 for priority: MCP → built-in script → comment fallback). Never skip. Never use CSS placeholders.
- Keep the inspiration's copy temporarily (replaced in Phase 4)
- Apply user's brand colors/logo if provided in Q10
- Full-page screenshot comparison before showing user
- Deploy to Vercel → give the shareable preview URL
- Open in Claude Desktop preview panel (element selection enabled for precise feedback)
- Ask: "Does this match the inspiration site?" — user can click elements directly
- Iterate on clone fidelity (use
agent-browserscreenshots to verify fixes)
Important: Do NOT use the component library during cloning. Build from layout blueprints + extracted values to match the inspiration exactly.
PHASE 3: DEEP DISCOVERY
Goal: Gather enough business context to rewrite every section — in ONE consolidated message, not individual questions.
Reference: Read references/03-discovery.md for the consolidated discovery form.
Steps
- Look at each section of the cloned site
- Generate a single consolidated discovery form listing every section and what info is needed
- Questions must reference the user's own words from Phase 1 — not generic templates
- Present the entire form in one
AskUserQuestion— the user answers everything at once - After their response, show a content summary and get confirmation
Key rule: Do NOT ask one question per section. Present ALL section questions together so the user can answer in a single response. This keeps the total interaction to ~12 messages instead of 22+.
PHASE 4: CUSTOMIZE & SHIP
Goal: Rewrite every section with real copy, get approval, ship.
Reference: Read references/04-customize.md for copy formulas and the rewriting process.
Quality: Read references/05-quality-rules.md for design guardrails.
Steps
- For each section on the cloned site:
a. Write 3 headline options using copy formulas (PAS, FAB, Transformation)
b. Write body copy using the user's own words from Phase 3
c. Present options via
AskUserQuestiond. Apply approved copy to the live site (hot-reload) e. Get confirmation the section looks good - If the user wants to ADD new sections not on the inspiration:
- Use
components/section-registry.jsonas a starting point - Adapt to match the cloned site's visual language
- Use
- After all sections are customized:
- Full-page review
- Final design tweaks
- Re-deploy to Vercel with
npx vercel --prod - Post-deploy verification
- Handover with next steps
PHASE 5: API KEY SETUP
Only reached if Phase 0 found no API key.
Use AskUserQuestion:
question: "I need a Gemini API key to generate images for your landing page. How do you want to proceed?"
header: "API Key"
options:
- label: "Set it up now (Recommended)"
description: "I'll guide you through getting a free key from Google AI Studio"
- label: "I have a key ready"
description: "Let me paste it"
- label: "Skip for now"
description: "Continue without image generation for this session"
Path 1: Set it up now
Provide these instructions:
- Go to Google AI Studio: https://aistudio.google.com
- Sign in with your Google account
- Click "Get API Key" in the left sidebar
- Click "Create API Key" and select or create a Google Cloud project
- Copy the generated key (it starts with "AIza...")
- Paste it back into the chat
Path 2: User has key ready
Say: "Paste your Gemini API key below."
Path 3: Skip for now
Proceed to Phase 1. During Phase 2 and Phase 4, leave <!-- IMAGE NEEDED: [description] --> comments where images would go. Tell the user which images still need generation.
Saving the Key (Paths 1 & 2)
# Create .env if it doesn't exist
if [ ! -f .env ]; then
cat > .env <<'EOF'
# BenAI Skills - API Keys Configuration
GEMINI_API_KEY=
GEMINI_IMAGE_MODEL=gemini-3-pro-image-preview
EOF
fi
# Update the key value
sed -i '' "s|^GEMINI_API_KEY=.*|GEMINI_API_KEY=[user-provided-key]|" .env
# Add .env to .gitignore if not already there
grep -qxF '.env' .gitignore 2>/dev/null || echo ".env" >> .gitignore
After saving the key:
- Auto-register the MCP (runs silently):
claude mcp add nano-banana -s stdio --scope global -- npx -y @zhibinyang/nano-banana-mcp
- Tell the user:
Your API key is saved. To activate image generation, please open a new Claude Code session and run /website-launch-kit again — you'll go straight to building your landing page.
Then EXIT THE SKILL. Do not proceed to Phase 1 in this session.
Do NOT call:
configure_gemini_token(creates unwanted config files)get_configuration_status(known false positives)
REFERENCE FILES
| File | Phase | Purpose |
|---|---|---|
01-intake.md | Phase 1 | 10 prefixed intake questions |
02-clone.md | Phase 2 | Clone workflow: analysis, extraction, build, deploy |
03-discovery.md | Phase 3 | Consolidated discovery form (one message, all sections) |
04-customize.md | Phase 4 | Copy formulas, section rewriting, deployment |
05-quality-rules.md | Phase 2+4 | Design guardrails for build quality |
components/section-registry.json | Phase 4 | Used when adding NEW sections only |
UI/UX PRO MAX (Design Intelligence)
Optional data-driven design system generation. Located in scripts/ and data/.
# Generate a design system from business type keywords
python3 scripts/search.py "<business_type> <keywords>" --design-system -p "<Name>" --persist
Use this in Phase 2 to supplement the inspiration site extraction with data-driven color/typography recommendations. The inspiration site ALWAYS takes priority for "close match" (Q9).
What ships with it: 43 files
1297.1 KB alongside SKILL.md, 4 of them executable
components/
- cta/cta-banner.tsx2.0 KB
- cta/cta-centered.tsx1.6 KB
- cta/cta-with-form.tsx3.0 KB
- faq/faq-accordion.tsx3.0 KB
- faq/faq-two-column.tsx2.3 KB
- features/features-alternating.tsx3.6 KB
- features/features-grid.tsx3.0 KB
- features/features-icons.tsx3.0 KB
- footer/footer-multi-column.tsx2.9 KB
- footer/footer-simple.tsx1.2 KB
- hero/hero-centered.tsx2.8 KB
- hero/hero-gradient.tsx3.0 KB
- hero/hero-split.tsx3.5 KB
- logos/logos-bar.tsx1.3 KB
- navbar/navbar-simple.tsx2.6 KB
- pricing/pricing-simple.tsx2.3 KB
- pricing/pricing-three-tier.tsx4.0 KB
- pricing/pricing-two-tier.tsx3.8 KB
- problem/problem-agitation.tsx2.6 KB
- process/process-cards.tsx2.6 KB
- process/process-numbered.tsx2.7 KB
- section-registry.json7.9 KB
- testimonials/testimonials-cards.tsx3.4 KB
- testimonials/testimonials-featured.tsx1.5 KB
- testimonials/testimonials-marquee.tsx2.7 KB
data/
- colors.csv31.7 KB
- google-fonts.csv727.7 KB
- icons.csv20.2 KB
- landing.csv16.3 KB
- products.csv56.6 KB
- styles.csv139.3 KB
- typography.csv48.5 KB
- ui-reasoning.csv51.8 KB
- ux-guidelines.csv18.3 KB
references/
- 01-intake.md4.7 KB
- 02-clone.md27.7 KB
- 03-discovery.md4.9 KB
- 04-customize.md5.1 KB
- 05-quality-rules.md4.2 KB
scripts/
- core.pyruns11.2 KB
3 more files not listed here. See all 43 in the repository.