landing-page-design

Tối ưu hóa chuyển đổi trang đích với quy tắc bố cục, thiết kế phần hero và tâm lý học CTA. Bao gồm công thức above-the-fold, vị trí đặt bằng chứng xã hội, thiết kế di động và cách đọc theo mô hình F. Sử dụng cho: trang đích khởi nghiệp, trang sản phẩm, tiếp thị SaaS, tối ưu hóa chuyển đổi. Kích hoạt: trang đích, phần hero, above the fold, tối ưu hóa chuyển đổi, thiết kế trang đích, nút CTA, hình ảnh hero, bố cục trang đích, trang đích SaaS, thiết kế trang sản phẩm, tỷ lệ chuyển đổi, trang đích...

npx skills add https://github.com/halt-catch-fire/skills --skill landing-page-design

Install the belt CLI skill: npx skills add belt-sh/cli

Landing Page Design

Design high-converting landing pages with AI-generated visuals via inference.sh CLI.

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate a hero image
belt app run falai/flux-dev-lora --input '{
  "prompt": "professional person smiling while using a laptop showing a clean dashboard interface, bright modern office, natural lighting, warm and productive atmosphere, lifestyle marketing photography",
  "width": 1248,
  "height": 832
}'

# Research competitor landing pages
belt app run tavily/search-assistant --input '{
  "query": "best SaaS landing page examples 2024 conversion rate"
}'

Above-the-Fold Formula

Everything visible before scrolling must communicate value in 5 seconds.

┌─────────────────────────────────────────────────┐
│  [Logo]              [Nav]        [CTA Button]  │
│                                                 │
│   Headline (6-12 words)                         │
│   ─────────────────────────                     │
│   Subheadline (15-25 words)        [Hero Image] │
│                                    showing the  │
│   [Primary CTA Button]            OUTCOME, not  │
│   "Start Free Trial"              the product   │
│                                                 │
│   Social proof: "Trusted by 10,000+ teams"      │
│   [logo] [logo] [logo] [logo] [logo]            │
└─────────────────────────────────────────────────┘

The 5 Elements

ElementRuleExample
Headline6-12 words, states the outcome"Ship docs in minutes, not days"
Subheadline15-25 words, expands on how"AI-powered documentation that writes itself from your codebase. No templates needed."
Hero imageShows the OUTCOME, not the productPerson looking satisfied at results, not a screenshot of your UI
Primary CTAAction verb + value"Start Free Trial" not "Submit" or "Learn More"
Social proofLogos, count, or micro-testimonial"Trusted by 10,000+ teams at [logos]"

Headlines

Formulas That Convert

FormulaExample
[Outcome] without [pain]"Beautiful docs without the design skills"
[Outcome] in [timeframe]"Launch your site in 5 minutes"
The [better way] to [common task]"The faster way to build APIs"
Stop [pain]. Start [outcome]."Stop guessing. Start knowing."
[Number] [things] to [outcome]"One tool to manage all your data"

What Makes Headlines Fail

❌ "Welcome to Our Platform" (says nothing about value)
❌ "The World's Most Advanced AI-Powered Solution" (buzzwords, no specifics)
❌ "We Help Businesses Grow" (vague, generic)
❌ "Next-Generation Enterprise Software" (what does it DO?)

✅ "Turn customer feedback into product features, automatically"
✅ "The spreadsheet that thinks like a database"
✅ "Find and fix bugs before your users do"

Hero Images

Show the Outcome, Not the Product

❌ Screenshot of your dashboard (boring, hard to parse at a glance)
❌ Abstract geometric background (says nothing)
❌ Stock photo of a handshake (cliché)

✅ Person looking satisfied at clear results on their screen
✅ Before/after transformation
✅ The end result of using your product
# Outcome-focused hero
belt app run falai/flux-dev-lora --input '{
  "prompt": "happy professional team celebrating around a laptop showing positive growth charts, bright modern office, natural sunlight, authentic candid moment, marketing photography style, warm tones",
  "width": 1248,
  "height": 832
}'

# Product-in-context hero
belt app run bytedance/seedream-4-5 --input '{
  "prompt": "clean modern laptop on a minimalist desk showing a beautiful analytics dashboard, floating UI elements emerging from the screen, soft gradient background, product marketing style, professional",
  "size": "2K"
}'

CTA Buttons

Text

Good CTAsBad CTAs
"Start Free Trial""Submit"
"Get Started Free""Click Here"
"See It in Action""Learn More" (low commitment)
"Create Your First Report""Sign Up" (vague)
"Try Free for 14 Days""Register"

Formula: Action verb + value/outcome + (optional: reduce risk)

Design

ElementRule
ColorHigh contrast with background — must be the most visible element
SizeMinimum 44px height (tap target), wide enough for text + padding
PositionAbove the fold, repeated after each major section
WhitespaceGenerous padding around button, don't crowd it
Secondary CTAIf needed, use text link below ("or watch a demo")

Section Order

The proven sequence for landing pages:

SectionPurposeKey Element
1. HeroCore value, primary CTAHeadline + image + CTA
2. Social ProofBuild trustLogos, numbers, badges
3. ProblemCreate empathyPain point they recognize
4. Solution/FeaturesShow how you solve it3 key features with visuals
5. How It WorksReduce complexity3 steps: sign up, configure, benefit
6. TestimonialsProve it works2-3 specific customer quotes
7. PricingEnable decisionClear tiers, highlight recommended
8. FAQHandle objections5-7 common questions
9. Final CTACapture remaindersRepeat primary CTA with urgency

Social Proof Types

TypeImpactPlacement
Company logosFastest to process, high trustBelow hero
User countScale signalHero or social proof bar
Star ratingProduct qualityNear CTA
TestimonialsDetailed credibilityDedicated section
Case study statsSpecific proofFeature sections
Trust badgesSecurity/complianceNear forms, pricing, footer
# Research for social proof stats
belt app run exa/answer --input '{
  "question": "What is the average conversion rate for SaaS landing pages with social proof vs without?"
}'

Form Design

RuleImpact
Every field reduces conversion ~11%Minimize fields
Name + Email = maximum for signupsDon't ask for phone, company, role
Single-column layoutDon't use multi-column forms
Inline validationShow errors immediately, not on submit
Clear error messages"Email is required" not "Error in field 3"
Submit button text = action"Create Account" not "Submit"

Mobile Optimization

RuleWhy
CTA button full widthEasy to tap with thumbs
Sticky CTA on scrollAlways accessible
No horizontal scrollingBreaks mobile layout
Font minimum 16pxiOS zooms inputs below 16px
Tap targets minimum 48x48pxApple HIG, Google Material
Images responsiveDon't overflow viewport
Prioritize headline + CTASimplify above-the-fold

OG Image for Sharing

# Generate an OG image for the landing page
belt app run falai/flux-dev-lora --input '{
  "prompt": "clean professional social sharing card, product name and tagline on modern gradient background, minimal design, corporate tech aesthetic, 1200x630 aspect ratio equivalent",
  "width": 1200,
  "height": 630
}'

# Or use html-to-image for a template-based approach
belt app run infsh/html-to-image --input '{
  "html": "<div style=\"width:1200px;height:630px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-family:sans-serif;color:white\"><div style=\"text-align:center\"><h1 style=\"font-size:48px;margin:0\">DataFlow</h1><p style=\"font-size:24px;opacity:0.9\">Ship docs in minutes, not days</p></div></div>"
}'

Page Speed

RuleTargetWhy
Hero image< 200 KBFirst thing to load
Total page weight< 2 MBMobile data, patience
Lazy load below-foldAlwaysOnly load what's visible
Minimize JavaScript< 200 KBBlocks rendering
LCP (Largest Contentful Paint)< 2.5sGoogle Core Web Vitals

Common Mistakes

MistakeProblemFix
No clear headlineVisitor doesn't know what you do6-12 words, outcome-focused
CTA says "Learn More"Too low commitmentAction verb + specific value
Hero is a product screenshotHard to parse, boringShow the outcome, use lifestyle imagery
Multiple competing CTAsDecision paralysisOne primary CTA, one secondary max
No social proofNo trust signalAdd logos, counts, or testimonials
Too many form fieldsConversion drops ~11% per fieldName + email maximum
Desktop-only design60%+ traffic is mobileDesign mobile-first
No urgency in final CTAVisitors leave and forget"Start your free 14-day trial"

Related Skills

npx skills add inference-sh/skills@ai-image-generation
npx skills add inference-sh/skills@web-search
npx skills add inference-sh/skills@prompt-engineering

Browse all apps: belt app list

Thêm skills từ halt-catch-fire

ai-image-generation
halt-catch-fire
Tạo hình ảnh AI với GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve và hơn 50 mô hình qua CLI inference.sh. Mô hình: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Khả năng: văn bản thành hình ảnh, hình ảnh thành hình ảnh, inpainting, LoRA, chỉnh sửa hình ảnh, nâng cấp độ phân giải, hiển thị văn bản. Sử dụng cho: nghệ thuật AI, mô phỏng sản phẩm, nghệ thuật ý tưởng, đồ họa mạng xã hội, hình ảnh tiếp thị, minh họa. Kích hoạt: flux, tạo hình ảnh, hình
creativemediaimage
ai-video-generation
halt-catch-fire
Tạo video AI với Google Veo, Seedance 2.0, HappyHorse, Wan, Grok và hơn 40 mô hình qua CLI inference.sh. Các mô hình: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Khả năng: văn bản thành video, hình ảnh thành video, tham chiếu thành video, chỉnh sửa video, đồng bộ môi, hoạt ảnh đại diện, nâng cấp video, âm thanh foley. Sử dụng cho: video mạng xã hội, nội dung tiếp thị, video giải thích, demo sản phẩm, đại diện AI. Kích hoạt: tạo video, video AI,...
creativevideomedia
twitter-automation
halt-catch-fire
Tự động hóa Twitter/X với tính năng đăng bài, tương tác và quản lý người dùng qua CLI inference.sh. Ứng dụng: x/post-tweet, x/post-create (có media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Khả năng: đăng tweet, lên lịch nội dung, thích bài, retweet, gửi DM, theo dõi người dùng, lấy hồ sơ. Sử dụng cho: tự động hóa mạng xã hội, lên lịch nội dung, bot tương tác, tăng trưởng khán giả, X API. Kích hoạt: twitter api, x api, tự động hóa tweet, đăng lên twitter, twitter bot, tự động hóa mạng xã hội, x...
marketingapicommunication
ai-avatar-video
halt-catch-fire
Tạo video AI avatar và video người nói qua CLI inference.sh. Đề xuất: P-Video-Avatar (nhanh nhất, rẻ nhất, TTS tích hợp). Ngoài ra: OmniHuman, Fabric, PixVerse. Âm thanh: Inworld TTS-2 (hơn 100 ngôn ngữ, điều chỉnh cảm xúc cho nhân vật), ElevenLabs, Kokoro. Khả năng: avatar điều khiển bằng âm thanh, văn bản thành avatar, video đồng bộ môi, tạo người nói, người dẫn ảo, nội dung UGC. Sử dụng cho: người dẫn AI, video giải thích, người có ảnh hưởng ảo, lồng tiếng, video tiếp thị, quảng cáo UGC, avatar trò chơi,...
videocreativemedia
agent-browser
halt-catch-fire
Tự động hóa trình duyệt cho các tác nhân AI qua inference.sh. Điều hướng trang web, tương tác với các phần tử bằng @e refs, chụp ảnh màn hình, ghi video. Khả năng: thu thập dữ liệu web, điền biểu mẫu, nhấp chuột, gõ chữ, kéo-thả, tải tệp lên, thực thi JavaScript. Sử dụng cho: tự động hóa web, trích xuất dữ liệu, kiểm thử, duyệt web tác nhân, nghiên cứu. Kích hoạt: trình duyệt, tự động hóa web, thu thập, điều hướng, nhấp chuột, điền biểu mẫu, chụp ảnh màn hình, duyệt web, playwright, trình duyệt không đầu, tác nhân web, lướ
browser-automationweb-scrapingtesting
web-search
halt-catch-fire
Tìm kiếm web và trích xuất nội dung với Tavily và Exa thông qua CLI inference.sh. Ứng dụng: Tavily Search, Tavily Extract, Exa Search, Exa Answer, Exa Extract. Khả năng: tìm kiếm hỗ trợ AI, trích xuất nội dung, trả lời trực tiếp, nghiên cứu. Sử dụng cho: nghiên cứu, pipeline RAG, kiểm tra thông tin, tổng hợp nội dung, tác nhân. Kích hoạt: tìm kiếm web, tavily, exa, search api, trích xuất nội dung, nghiên cứu, tìm kiếm internet, tìm kiếm AI, trợ lý tìm kiếm, thu thập dữ liệu web, rag, thay thế perplexity
researchweb-scrapingapi
infsh-cli
halt-catch-fire
We need to translate the given text from English to Vietnamese, preserving the name "infsh-cli" and other technical terms, product names, protocol names, URLs, numbers, etc. The instruction says: "Translate only the text inside <text>. Do not include the name unless it appears in the source text." The name "infsh-cli" appears in the source? Actually the source text does not contain "infsh-cli" explicitly; the name to preserve is given as "infsh-cli" but it's not in the text. The instruction says "Do not include the name unless it appears in the source text." So we should not add it. The text inside <text> is: "Run 250+ AI apps via inference.sh CLI - image generation, video creation, LLMs, search, 3D, Twitter automation. Models: FLUX, Veo, Gemini, Grok, Claude, Seedance, OmniHuman, Tavily, Exa, OpenRouter, and many more. Use when running AI apps, generating images/videos
developmentapicreative
product-photography
halt-catch-fire
Nhiếp ảnh sản phẩm AI với ánh sáng studio, ảnh phong cách sống và quy ước chụp ảnh sản phẩm đơn lẻ. Bao gồm góc chụp, nền, loại bóng, ảnh chính diện và yêu cầu hình ảnh thương mại điện tử. Sử dụng cho: ảnh sản phẩm, hình ảnh thương mại điện tử, danh sách Amazon, ảnh sản phẩm đơn lẻ, nhiếp ảnh phong cách sống. Kích hoạt: chụp ảnh sản phẩm, ảnh sản phẩm, ảnh sản phẩm đơn lẻ, nhiếp ảnh thương mại điện tử, chụp sản phẩm, hình ảnh sản phẩm, nhiếp ảnh studio,
creativeecommerceimage