AGENT SKILLBY ONEWAVE-AI
Landing page optimizer
AT A GLANCE
Landing page optimizer is an agent skill for CRO. Audit and optimize a landing page across conversion, performance, and SEO. It is published by onewave-ai in the onewave-ai/claude-skills GitHub repository (207 stars) under the MIT license. Install it with: npx skills add onewave-ai/claude-skills --skill landing-page-optimizer
- SOURCE REPOSITORY
- onewave-ai/claude-skills (opens GitHub in a new tab)
- REPO STARS
- SOURCE REPOSITORY
- LICENSE
- MIT
- CATEGORIES
- SKILL.MD SIZE
- 9.6 KB355 LINES
QUICK ANSWER
- WHAT IT IS01
- Audit and optimize a landing page across conversion, performance, and SEO. Its edge is a particular angle on conversion optimization, giving the agent tighter constraints than a plain landing page optimizer request.
- INPUTS02
- Context for conversion optimization: your goals, audience, constraints, and any source material the skill asks for.
- OUTPUT03
- A ready-to-use result for conversion optimization: the analysis, copy, or recommendations the agent produces.
INSTALL
One command adds this skill from its source repository.
npx skills add onewave-ai/claude-skills --skill landing-page-optimizerREAD THE SKILL.MD BELOW BEFORE YOU RUN IT. SKILLS INSTRUCT YOUR AGENT.
SKILL.MD
The full file, as published in the source repository. Copy it, download it or open it on GitHub.
ON THIS PAGE · 25
Landing Page Optimizer#
Audit and optimize a landing page across conversion, performance, and SEO.
Contents#
references/checklists.md— above-the-fold and quick-wins checklistsreferences/page-structure.md— optimal eight-section page layoutreferences/cta-optimization.md— CTA copy, friction reduction, placementreferences/performance.md— image/CSS optimization, Core Web Vitals targets, mobilereferences/seo-and-tracking.md— meta tags, structured data, GA4 tracking, A/B tests
Workflow#
- Audit the current page for speed, UX, and conversion elements. Score the above-the-fold area against
references/checklists.md. - Validate the page layout against the eight-section template in
references/page-structure.md; flag missing or out-of-order sections. - Optimize CTAs using
references/cta-optimization.md— sharpen copy, reduce friction, and place CTAs at each high-intent point. - Optimize performance per
references/performance.md; meet the Core Web Vitals targets and apply mobile patterns. - Apply SEO and tracking from
references/seo-and-tracking.md— meta tags, structured data, and GA4 conversion events. - Run the quick-wins checklist in
references/checklists.mdand queue prioritized A/B tests.
Supporting file: references/checklists.md#
Checklists#
Above the Fold Checklist#
- Clear headline - Value proposition in <5 seconds
- Supporting subheadline - Expand on benefit
- Hero image/video - Relevant, high-quality
- Primary CTA - Contrasting color, action-oriented
- Social proof - Logos, ratings, testimonials
- No navigation distractions - Minimal or hidden nav
Quick Wins Checklist#
- Headline communicates value in 5 seconds
- CTA button is high contrast and above fold
- Page loads in under 3 seconds
- Social proof visible above fold
- Mobile-optimized with thumb-friendly CTAs
- No broken images or links
- Forms have minimal required fields
- Trust badges near CTAs (security, guarantees)
- Clear pricing (no hidden fees messaging)
- Testimonials include photos and titles
Supporting file: references/cta-optimization.md#
CTA Optimization#
Button Best Practices#
// Good CTAs
<Button>Start Free Trial</Button>
<Button>Get Started Free</Button>
<Button>Try It Free for 14 Days</Button>
<Button>Book a Demo</Button>
// Add urgency/value
<Button>
Get 50% Off Today
<span className="text-sm opacity-75 block">Offer ends midnight</span>
</Button>
// Reduce friction
<div className="text-center">
<Button size="lg">Start Free Trial</Button>
<p className="text-sm text-gray-500 mt-2">
No credit card required • Cancel anytime
</p>
</div>CTA Placement#
- Hero section - Primary CTA above fold
- After features - Reinforce value
- After testimonials - Social proof boost
- Sticky header/footer - Always accessible
- Exit intent popup - Last chance
Supporting file: references/page-structure.md#
Page Structure Template#
Optimal eight-section landing page layout (React/Tailwind).
// Optimal landing page structure
<main>
{/* 1. Hero Section */}
<section className="min-h-[80vh] flex items-center">
<div className="max-w-6xl mx-auto px-4 grid lg:grid-cols-2 gap-12 items-center">
<div>
<Badge>New Feature</Badge>
<h1 className="text-4xl lg:text-6xl font-bold mt-4">
Main Value Proposition
</h1>
<p className="text-xl text-gray-600 mt-6">
Supporting statement that expands on the benefit
</p>
<div className="flex gap-4 mt-8">
<Button size="lg">Primary CTA</Button>
<Button size="lg" variant="outline">Secondary CTA</Button>
</div>
<div className="flex items-center gap-6 mt-8">
<div className="flex -space-x-2">
{avatars.map(a => <Avatar key={a.id} src={a.src} />)}
</div>
<p className="text-sm text-gray-600">
<strong>2,000+</strong> happy customers
</p>
</div>
</div>
<div>
<img src="/hero-image.png" alt="Product preview" />
</div>
</div>
</section>
{/* 2. Social Proof - Logos */}
<section className="py-12 bg-gray-50">
<p className="text-center text-gray-500 mb-8">Trusted by leading companies</p>
<div className="flex justify-center gap-12 opacity-60">
{logos.map(logo => <img key={logo.name} src={logo.src} alt={logo.name} />)}
</div>
</section>
{/* 3. Problem/Solution */}
<section className="py-20">
<div className="max-w-3xl mx-auto text-center">
<h2 className="text-3xl font-bold">The Problem</h2>
<p className="text-xl text-gray-600 mt-4">
Describe the pain point your audience faces
</p>
</div>
</section>
{/* 4. Features/Benefits */}
<section className="py-20 bg-gray-50">
<h2 className="text-3xl font-bold text-center">How It Works</h2>
<div className="grid md:grid-cols-3 gap-8 mt-12 max-w-6xl mx-auto">
{features.map(feature => (
<Card key={feature.title}>
<feature.icon className="w-12 h-12 text-primary-500" />
<h3 className="text-xl font-semibold mt-4">{feature.title}</h3>
<p className="text-gray-600 mt-2">{feature.description}</p>
</Card>
))}
</div>
</section>
{/* 5. Testimonials */}
<section className="py-20">
<h2 className="text-3xl font-bold text-center">What Customers Say</h2>
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 mt-12">
{testimonials.map(t => (
<TestimonialCard key={t.name} {...t} />
))}
</div>
</section>
{/* 6. Pricing (if applicable) */}
<section className="py-20 bg-gray-50">
<PricingTable plans={plans} />
</section>
{/* 7. FAQ */}
<section className="py-20">
<h2 className="text-3xl font-bold text-center">FAQ</h2>
<Accordion items={faqs} className="max-w-3xl mx-auto mt-12" />
</section>
{/* 8. Final CTA */}
<section className="py-20 bg-primary-600 text-white text-center">
<h2 className="text-3xl font-bold">Ready to Get Started?</h2>
<p className="text-xl opacity-90 mt-4">Join 2,000+ companies already using our product</p>
<Button size="lg" variant="secondary" className="mt-8">
Start Free Trial
</Button>
<p className="text-sm opacity-75 mt-4">No credit card required</p>
</section>
</main>Supporting file: references/performance.md#
Performance Optimization#
Image Optimization#
// Next.js Image component
import Image from 'next/image';
<Image
src="/hero.png"
alt="Product screenshot"
width={1200}
height={800}
priority // Above-fold images
placeholder="blur"
blurDataURL={blurData}
/>
// Lazy load below-fold images
<Image
src="/feature.png"
loading="lazy"
...
/>Critical CSS#
// Inline critical styles for above-fold
<head>
<style dangerouslySetInnerHTML={{ __html: criticalCSS }} />
<link rel="preload" href="/fonts/inter.woff2" as="font" crossOrigin="" />
</head>Performance Targets#
| Metric | Target |
|---|---|
| LCP | < 2.5s |
| FID/INP | < 100ms |
| CLS | < 0.1 |
| Total Size | < 1MB |
| Time to Interactive | < 3s |
Mobile Optimization#
// Thumb-friendly CTAs
<Button className="w-full md:w-auto h-14 text-lg">
Get Started
</Button>
// Sticky mobile CTA
<div className="fixed bottom-0 left-0 right-0 p-4 bg-white border-t md:hidden">
<Button className="w-full">Start Free Trial</Button>
</div>
// Reduce content on mobile
<p className="hidden md:block">
{fullDescription}
</p>
<p className="md:hidden">
{shortDescription}
</p>Supporting file: references/seo-and-tracking.md#
SEO and Conversion Tracking#
Meta Tags#
// app/layout.tsx or pages/_app.tsx
export const metadata = {
title: 'Product Name - Main Benefit | Brand',
description: 'Clear description with keywords. 150-160 chars.',
openGraph: {
title: 'Product Name - Main Benefit',
description: 'Description for social sharing',
images: [{ url: '/og-image.png', width: 1200, height: 630 }],
},
twitter: {
card: 'summary_large_image',
},
};Structured Data#
<script type="application/ld+json">
{JSON.stringify({
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Product Name",
"applicationCategory": "BusinessApplication",
"offers": {
"@type": "Offer",
"price": "29",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "1250"
}
})}
</script>Conversion Tracking#
// Google Analytics 4 events
const trackCTA = (ctaName: string) => {
gtag('event', 'cta_click', {
cta_name: ctaName,
page_location: window.location.href,
});
};
// Track scroll depth
useEffect(() => {
const observer = new IntersectionObserver(
(entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
gtag('event', 'section_viewed', {
section_name: entry.target.id,
});
}
});
},
{ threshold: 0.5 }
);
document.querySelectorAll('section[id]').forEach((section) => {
observer.observe(section);
});
}, []);A/B Testing Elements#
Priority elements to test:
- Headline copy - Different value propositions
- CTA text - "Start Free" vs "Get Started" vs "Try Now"
- CTA color - High contrast options
- Hero image - Product vs people vs abstract
- Social proof placement - Above vs below fold
- Pricing display - Monthly vs annual default
- Form length - Email only vs full form
FAQ
07 QUESTIONS
01What is the Landing page optimizer agent skill?
Audit and optimize a landing page across conversion, performance, and SEO. It is listed under CRO in the 100xLab agent skills directory.
02How do I install Landing page optimizer in Cursor, Claude Code, or Codex?
Run npx skills add onewave-ai/claude-skills --skill landing-page-optimizer in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Landing page optimizer, not every skill in the repository.
03What does the Landing page optimizer SKILL.md cover?
The SKILL.md includes sections on Contents, Workflow, Supporting file: references/checklists.md, Above the Fold Checklist, Quick Wins Checklist and Supporting file: references/cta-optimization.md. Read the full text on this page or in plain markdown at /resources/agent-skills/onewave-ai-claude-skills--landing-page-optimizer--1gb8n16/raw.
04Which agents can use Landing page optimizer?
Landing page optimizer installs with the cross-agent skills installer (npx skills add), which sets it up for agents such as Claude Code, Cursor and Codex. Each agent loads the SKILL.md when you ask for the skill by name.
05What license is Landing page optimizer under?
The onewave-ai/claude-skills repository declares the MIT license. Read the license file in the repository before you copy or redistribute the skill.
06Is Landing page optimizer free to use?
Reading, copying and installing Landing page optimizer costs nothing: it is published in a public GitHub repository under the MIT license. Reuse and redistribution follow that license.
07Where is the source of Landing page optimizer?
Landing page optimizer comes from https://github.com/onewave-ai/claude-skills, which has 207 GitHub stars. The SKILL.md is at https://github.com/onewave-ai/claude-skills/blob/HEAD/landing-page-optimizer/SKILL.md. The author is onewave-ai.
Need an agent workflow built around your stack?
Tell us the workflow you want automated. We reply within 4 working hours (IST).
ATTRIBUTION
Landing page optimizer was written by its original authors and is published in onewave-ai/claude-skills (opens GitHub in a new tab) under the MIT license. All rights stay with the original authors.
100xLab did not write, maintain or endorse this skill. This page lists it for discovery. Repo stars belong to the source repository, not to the skill. Review any skill before you install it.