Landing Page Copy skill for Codex

Headlines a competitor could not reuse. Codex gathers the visitor, traffic source, proof and customer phrases before writing, builds a one-line message hierarchy, then drafts hero, benefits, social proof, FAQ and CTAs section by section. Claims without a source are flagged instead of softened, headline variants test distinct angles, and copy is edited into your existing components and checked rendered at mobile width.

  • Growth & SEO
  • $landing-page-copy
  • 183 lines
  • 2 files
  • ~2,050 tokens
  • MIT
  • Updated

Install

curl -fsSL codexskills.dev/install.sh \  | sh -s -- landing-page-copy

Installs to ~/.agents/skills/landing-page-copy/ for every project on this machine.

104-line POSIX script. No sudo, no telemetry. Read install.sh

Use it in Codex

Start a prompt with $landing-page-copy, or pick it from /skills. You can also just describe the task: Codex reads the description below and loads the playbook when your request matches.

What Codex reads before loading it

Writes and rewrites conversion copy for landing pages, homepages and feature pages - hero headline and subhead, value propositions, benefit sections, social proof, objection-handling FAQ and calls to action - grounded in the visitor's awareness level, real customer language and verifiable claims. Edits copy directly in HTML, JSX, MDX or CMS content files. Use when asked to write a landing page, improve a hero section, make a page convert better, sharpen messaging for a launch, or produce headline variants for a test.

Use it when

  • A new landing, feature or campaign page needs copy from scratch
  • An existing hero or value proposition is vague or generic
  • Ads point at a page whose message does not match the ad
  • You need distinct headline variants to put into an experiment

Use something else when

How to check the result

Someone shown only the hero can state what the product is, who it is for and what to do next, and every claim has a source or a VERIFY marker.

The mistake it prevents

Writing a headline so generic that any competitor could paste their logo above it without changing a word.

~/.agents/skills/landing-page-copy/SKILL.md

--- name: landing-page-copy description: Writes and rewrites conversion copy for landing pages, homepages and feature pages - hero headline and subhead, value propositions, benefit sections,… license: MIT ---

Good landing page copy lets a stranger answer three questions in five seconds - what is this, who is it for, why should I care now - and then gives each objection an answer before the visitor has to ask. Every claim is specific and true; nothing reads like a template with the product name swapped in.

Inputs to gather first

Do not write a word of copy until these exist, even as rough notes:

InputWhere to find itIf missing
One target visitor and their trigger momentSales calls, support tickets, user interviews, ICP docAsk the user; write it down as an assumption
Traffic source and awareness levelAd campaigns, UTM data, referrersAssume problem-aware cold traffic and say so
Primary conversion actionProduct, analytics eventsOne action only (sign up, book demo, buy)
Proof availableCustomer logos (with permission), metrics, reviews, case studiesUse what is real; never invent
Customer languageReviews, G2/Capterra, Reddit threads, interview transcripts, support ticketsAsk the user for 10-20 raw quotes
ConstraintsBrand voice doc, legal-approved claims, AGENTS.md, existing componentsFollow the existing component’s slots and character limits

Search the repo for an existing voice or messaging doc before inventing one: rg -il "voice|tone|messaging|positioning" docs/ content/ *.md.

Match the page to awareness

Visitor arrives…AwarenessHero should lead with
From a branded search or a referralProduct-awareThe offer and the CTA; skip the problem lecture
From a comparison or “X alternative” searchSolution-awareThe differentiator against what they use now
From a problem search or contentProblem-awareThe problem in their words, then the outcome
From a cold social adUnawareA sharp observation or outcome that earns the next line

Workflow

- [ ] 1. Collect inputs (table above); list assumptions explicitly
- [ ] 2. Mine customer language: pull 10-20 phrases about pain, outcome, alternatives
- [ ] 3. Write the message hierarchy (one sentence each) before any section copy
- [ ] 4. Draft sections top to bottom using the structure below
- [ ] 5. Cut: every sentence must inform, prove or move; delete the rest
- [ ] 6. Check claims against evidence; mark anything unverified
- [ ] 7. Produce 3-5 headline variants for testing
- [ ] 8. Edit copy into the codebase in existing components; render and read it in place

Message hierarchy (write this first)

- Visitor: <role, situation, trigger>
- Core promise: <outcome they get, in their words>
- Why believe it: <mechanism or proof in one line>
- Why now / why us: <differentiator vs. the real alternative, often "a spreadsheet" or "doing nothing">
- Primary CTA: <verb + object>, risk reducer: <no card / free plan / cancel anytime>

Section structure (default; adapt to the page)

  1. Hero. Headline = outcome or sharp problem framing, under ~10 words. Subhead = who it is for and how it works, 1-2 sentences. CTA button with a specific verb (“Start free trial”, “Get the template”, not “Submit” or “Learn more”). A risk reducer line under the button. A product visual that shows the outcome, not a decorative blob.
  2. Proof strip. Logos, rating, or one hard number. Only with permission and evidence.
  3. Problem or before/after. Name the current painful way, in customer words.
  4. How it works. Three steps, concrete verbs.
  5. Benefits. 3-5 blocks. Each: benefit headline, one line of mechanism, one proof point or screenshot. Translate features: “Role-based permissions” becomes “Give contractors access without giving them your billing”.
  6. Social proof. Testimonials that state a specific result, with name, role and company (or the most identifying detail the customer approved).
  7. Objections / FAQ. Price, switching cost, security, time to value, “will it work for my case”. Answer, do not deflect.
  8. Final CTA. Restate the promise and the risk reducer.

Headline formulas that stay specific

Use them as starting shapes, then replace every generic word with a detail from the inputs.

ShapeExample
Outcome + timeframe“Close your books in 2 days, not 10”
Outcome without the pain“Ship translated docs without exporting a single CSV”
For whom + what“Payroll for restaurants with tipped staff”
Call out the alternative“Your on-call spreadsheet, replaced by one rotation link”
Customer quote as headline""We stopped losing leads between the form and the CRM""

Reject a headline if a competitor could put their name on it unchanged.

Line-level editing rules

  • Specific beats clever: numbers, names, timeframes, nouns from the customer’s world.
  • One idea per sentence. Most sentences under 20 words.
  • “You” more than “we”. Swap “We offer advanced analytics” for “See which campaign brought each paying customer”.
  • Cut hedges and filler: “simply”, “easily”, “powerful”, “cutting-edge”, “solution”, “next-generation”, “world-class”.
  • Buttons describe what happens next. Match button text across the page.
  • Keep reading level plain (roughly grade 7-9) unless the audience is specialist and the jargon is theirs.

Claims and compliance

  • Every number needs a source the user can produce: “cut onboarding time 40%” must come from a dated measurement or named customer study.
  • Superlatives (“#1”, “fastest”, “best”) need substantiation; replace with the specific comparison or remove.
  • Testimonials must be real, approved by the person quoted, and representative. In the US the FTC’s 2024 rule bans fake or AI-generated reviews and testimonials; disclose any incentive or relationship.
  • Pricing claims (“free forever”, “no hidden fees”) must match the actual pricing page and terms. Hand pricing structure to pricing-page.
  • Regulated sectors (health, finance, legal) need the user’s compliance or legal review before publishing.

Mark anything unproven inline as [VERIFY: source?] rather than softening it silently.

Editing copy in the codebase

  • Locate copy: rg -n "<current headline text>" across app/, src/, content/, locales/.
  • If strings live in i18n files, edit the source locale only and flag other locales for translation; do not machine-translate silently.
  • Respect component limits: a hero designed for a 6-word headline will wrap badly at 14. Render the page (dev server or Storybook) at 375 px and 1440 px and read it in place.
  • Keep <title> and meta description aligned with the new hero; hand SEO tuning to on-page-seo.

Variants for testing

Produce variants that test one idea each, not reworded synonyms:

| ID | Angle | Headline | Subhead |
|----|-------|----------|---------|
| A  | Control | ... | ... |
| B  | Outcome + time | ... | ... |
| C  | Alternative callout | ... | ... |

Running and reading the test belongs to ab-testing.

Gotchas

  • Writing for the founder, not the visitor: feature lists in internal vocabulary.
  • Hero headline and ad headline disagree; message mismatch from ad to page kills conversion. Check the ads that point at the page.
  • Five CTAs with different verbs; one primary action, repeated.
  • FAQ answers that dodge (“Contact us for details”) on price or security.
  • Social proof placed after the fold only; at least one credibility signal belongs near the hero.

Verification

  • Five-second test: show only the hero to someone (or reread cold) and write down what it is, who it is for, and what to do. All three must be right.
  • Every claim has a source or a [VERIFY] marker.
  • Read the page rendered at mobile width; nothing important falls below a 3-line wrap.
  • Spellcheck and a final pass for banned filler words.

Output template

## Landing page copy: <page>
**Assumptions:** visitor, awareness level, primary CTA, traffic source
**Message hierarchy:** <5 lines>

### Hero
H1: ...
Subhead: ...
CTA: ...   Risk reducer: ...

### <Section> ... (repeat)

### Headline variants for testing
| ID | Angle | Headline |

### Claims to verify
- "<claim>" - needs <source>

What the zip contains

SKILL.md plus the interface file below. Nothing runs on install.

agents/openai.yamlgenerated from this page

Gives the Codex app a display name, a one-line description and a starter prompt for this skill.

interface:
  display_name: "Landing Page Copy"
  short_description: "Headlines a competitor could not reuse"
  default_prompt: "$landing-page-copy Rewrite the hero on our homepage, it says what we do but nobody gets it"

About this skill

Written and maintained by the Codex Skills editors to the same editorial standard as every skill here: a selective description, a real workflow, known pitfalls and a way to verify the work. First published , last updated . MIT licensed. Something wrong or out of date? Tell us.

esc