From GTM Skills
Step-by-step guide to building GTM landing pages with v0 by Vercel. Covers prompt engineering, iterating on generated UI, exporting to Next.js, deploying on Vercel, and connecting forms/analytics.
How this skill is triggered — by the user, by Claude, or both
Slash command
/gtm-skills:v0-landerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
v0 by Vercel is the fastest way to build a production-quality landing page.
v0 by Vercel is the fastest way to build a production-quality landing page. You describe the page in natural language. v0 generates React/Next.js/Tailwind code. You iterate conversationally. You export and deploy. What used to take a designer + developer 1-2 weeks now takes a founder or marketer 2-4 hours. This skill is a step-by-step playbook for building every type of GTM landing page with v0.
Trigger phrases: "build a landing page with v0", "v0 tutorial", "v0 landing page prompt", "v0 by Vercel for marketing", "AI landing page builder", "generate landing page with v0", "v0 pricing page", "v0 waitlist"
What it is: v0.dev — Vercel's generative UI platform. You type. It generates React components using shadcn/ui + Tailwind CSS. You can:
Pricing: Free tier (200 generations/month). Pro ($20/mo) for unlimited.
Define 5 things before your first prompt:
Brand context document (paste into your first v0 prompt):
BRAND CONTEXT:
- Company: [name]
- Product: [one-liner]
- Primary color: #0066FF
- Secondary: #FF6600
- Font: Inter
- Tone: Direct, data-backed, confident
- Reference: Stripe (clean, minimal) + Linear (dark, technical)
- NO: gradients, emojis, stock photos, generic SaaS tropes
The master prompt template:
Build a [page type] for [company/product].
Audience: [ICP]. They care about [top 3 concerns].
SECTIONS (in order):
1. Nav: [company logo left, links center, CTA right — "Start free trial"]
2. Hero: Headline [benefit-focused, under 10 words]. Subhead [one sentence
expanding]. Primary CTA ["Start free trial"]. Secondary CTA ["See how
it works"]. Hero image/video placeholder.
3. Social proof: 6 customer logos in a row. "Trusted by 2,000+ teams"
4. Value props: 3 columns. Each: icon, headline, one sentence. Focus on
OUTCOMES, not features.
5. How it works: 3 steps. Each: step number, headline, one sentence.
Visual: screenshot/GIF placeholder.
6. Features: 2-column grid. 6 features. Each: feature name + one sentence.
7. Testimonials: 3 quote cards. Each: quote (1-2 sentences), name, title,
company, headshot placeholder.
8. Pricing (if pricing page): 3 tiers. Monthly/annual toggle. Recommended
tier highlighted. Each tier: price, description, 5 features, CTA.
9. FAQ: 6 questions with expandable answers. Cover pricing, setup, security,
support, cancellation, comparison.
10. Final CTA: Same as hero CTA. "Start free trial." No credit card required.
11. Footer: Logo, links, copyright, social icons.
STYLE:
- Dark theme (or light — pick one)
- Color palette: primary #0066FF, secondary #FF6600, background #0A0A0A,
text #FFFFFF, muted #9CA3AF
- Typography: Inter, headings bold, body regular
- Spacing: generous. 80-120px between sections
- Cards: subtle borders, 8px radius, hover lift effect
- Buttons: primary (filled, white text), secondary (outlined, primary color)
- Max width: 1200px, centered
TECHNICAL:
- Mobile-responsive: stack sections vertically on mobile
- Touch targets: 44px+ on mobile
- Animations: subtle fade-in on scroll (Intersection Observer)
- No heavy animations. Respect prefers-reduced-motion.
Why this prompt works:
Don't fix everything in one prompt. Iterate section by section:
ITERATION SEQUENCE (15-30 minutes):
1. "The hero headline is too generic. Make it specific: '[Company] helps
[ICP] do [thing] in [timeframe]'"
2. "The value props are feature-focused. Rewrite them as outcomes:
'Ship campaigns in 2 hours, not 2 weeks' instead of 'AI-powered
campaign builder'"
3. "The testimonials are too long. Each quote should be 1-2 sentences max"
4. "Add a comparison table above the FAQ. 5 rows: [feature], Us, Competitor
A, Competitor B. Checkmarks for us. Where competitors lack, use '—'"
5. "The pricing cards need hover states. Add a subtle scale(1.02) + shadow
on hover for the recommended tier"
6. "Replace the hero image placeholder with a screenshot component.
Dark background, rounded corners, subtle border"
7. "The CTA buttons feel small. Increase to 16px padding, 16px font"
8. "On mobile, the nav should collapse into a hamburger menu. Show me
the mobile version"
9. "Add a sticky CTA bar that appears after scrolling past the hero.
'Start free trial' button, white background, subtle shadow"
10. "Make the entire page responsive. Test at 375px, 768px, 1024px, 1440px"
When the full page is good but one section needs more work:
"Generate just the testimonial section. 3 cards in a row. Each card:
- Background: slightly lighter than page background
- Border: 1px, subtle
- Padding: 32px
- Quote at top: large, italic
- Author below: avatar (circle, 48px) + name + title + company logo
- Hover: subtle border accent, no lift"
v0 will regenerate just that component. Replace the existing section with the improved version.
Before deploying, iterate on:
Copy: Replace all lorem ipsum with real copy. "v0 will generate placeholder text — you MUST replace it." Write real headlines, real value props, real testimonials.
Images: Replace placeholders with real images:
Links: Connect all buttons and links:
Forms: If your page has a form (waitlist, contact, demo request):
Analytics: Add before deploying:
<!-- Add to head -->
<script defer data-domain="yourdomain.com"
src="https://plausible.io/js/script.js"></script>
Or Google Analytics, PostHog, etc.
Option A: Deploy directly from v0 (fastest)
Option B: Export to Next.js project (more control)
npx shadcn@latest add [component-url] — adds v0 component to your
existing Next.js projectgit push → Vercel auto-deploys on pushOption C: Export as static HTML (simplest)
After launch, iterate based on data:
ANALYTICS-DRIVEN PROMPTS:
1. "The hero CTA has a 2.1% click rate. Generate 3 hero variants with
different headlines and CTAs to A/B test"
2. "Mobile bounce rate is 68%. Audit the mobile version and fix any
layout issues. Stack all sections vertically. Ensure touch targets 44px+"
3. "The pricing page has a 1.2% conversion rate. Generate 3 pricing page
variants: one with annual default, one with monthly default, one with
a 'Most Popular' badge on the middle tier"
4. "Page load time is 4.2 seconds. Optimize: lazy load below-fold images,
remove unused CSS, defer non-critical scripts"
"Build a SaaS landing page for [product]. Dark theme. Sections: hero,
social proof (logos), 3 value props (outcomes), how it works (3 steps),
testimonials (3), pricing (3 tiers, annual default, Growth recommended),
FAQ (6), final CTA, footer. Style: clean like Stripe, dark like Linear.
Primary: #0066FF. Font: Inter."
"Build a pricing page for [product]. 3 tiers: Starter $49/mo, Growth
$199/mo (RECOMMENDED), Enterprise (Contact us). Monthly/annual toggle,
annual default. Feature comparison table below tiers. FAQ section with
8 questions. Enterprise includes a 'Book a call' CTA instead of price."
"Build a waitlist page for [product] launching in [month]. Hero: product
name, one-line value prop, email input + 'Join waitlist' button. Below:
3 things you'll get (early access, founding pricing, priority support).
Social proof: '2,000+ on the waitlist.' Counter showing signup count."
"Build a registration page for [event name] on [date]. Hero: event name,
date/time, one-line description. Below: 3 reasons to attend. Speaker
section with headshots, names, titles, talk titles. Agenda/timeline.
Registration form: name, email, company. 'Save my spot' CTA."
v0 LANDING PAGE BUILD — [Page Name]
v0 Project URL: [v0.dev link]
Deployed URL: [production URL]
Prompt Used:
[Master prompt text]
Iteration Log:
1. Generated v1 — [what worked, what needed change]
2. ["Change hero"] — [result]
3. ["Add testimonial section"] — [result]
...
Export Method: [Direct deploy / shadcn add / manual copy]
Post-Launch:
- Analytics: [Plausible / GA / PostHog connected]
- Conversion rate: X% (target: Y%)
- Next iteration: [date / trigger]
Before delivering, verify:
One-shot prompting. "Build a SaaS website" in one prompt = generic, unbranded, middle-of-the-road output. Fix: Build section by section. Hero first. Iterate. Then pricing. Iterate.
Generic output without brand context. Without brand colors, fonts, and references, v0 generates generic Tailwind. Fix: Paste your brand context into the first prompt. Reference a known site for style.
Placeholder content shipped to production. v0 generates "Lorem ipsum" and placeholder images. Shipping this live = amateur. Fix: Replace ALL placeholder content before deploying.
Not iterating on mobile. v0 generates desktop-first by default. Mobile layout often breaks. Fix: "Show me the mobile version" as a dedicated iteration step.
No form connection. A "Start free trial" button that links to "#" is a broken promise. Fix: Connect forms and CTAs before deploying.
Too many sections. v0 will happily generate 15 sections if you ask. More sections = more cognitive load = lower conversion. Fix: 6-8 sections max. Cut anything that doesn't directly support the conversion goal.
references/framework-notes.md — Named frameworks and reference tablestemplates/output-template.md — Deliverable shell for agent outputscripts/check-output.py — Lightweight deliverable validatorvibe-coding — Full AI dev tools comparison (v0, Lovable, Bolt, Jesse)vibe-marketing — AI-powered marketing content at scalelanding-pages — CRO audits, conversion optimization patternsdesign-system-gtm — Brand tokens, CSS variables for consistent AI outputpopular-web-designs — 54 brand design systems as visual referenceui-ux-gtm — Landing page UX, form design, accessibilitynpx claudepluginhub leadmagic/gtm-skills --plugin gtm-skillsAccelerates GTM asset creation through AI vibe coding — using v0, Lovable, Bolt, Replit for rapid landing pages, marketing sites, and prototypes.
Designs and builds high-converting landing pages for product launches with hero sections, SEO, waitlists, urgency mechanics, and developer-first patterns. Useful for launch, feature, signup, or marketing pages.
Generates high-converting Next.js/React landing pages with Tailwind CSS, using PAS/AIDA/BAB copy frameworks and section variants (Heroes, Features, Pricing). Focuses on Core Web Vitals and SEO.