Agent skill

Landing Copy

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that…

MITAuto-check passedMarketing & SEO

Install Landing Copy

skills CLI
$ npx skills add ericrisco/rsc-harness --skill landing-copy -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness landing-copy --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/landing-copy .claude/skills/landing-copy && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
landing-copy
GitHub stars
174
Token cost
~2.8k tokens
SKILL.md length
1,471 words
Files
6 (incl. scripts, references)
Skills in repo
233
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that…

  • Writing the words on a single conversion page — the hero headline and subhead
  • SKILL.md covers When to use, When NOT to use (route to the…, The conversion reality… and The four blocks — the spine of…, plus 9 more sections
  • Runs Shell scripts from its folder
  • The proof and testimonials

What it does

Landing Copy is an agent skill from ericrisco/rsc-harness. Use when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that gets traffic and does not convert, as a copy problem rather than a layout one. NOT the paid ad that drives the click (that is ads), NOT the visual layout the words sit in (that is design), NOT the experiment that picks the winning variant (that is ab-testing).

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/frameworks.md`).

It sits in Marketing & SEO, covering A/B testing. It works with Next.js. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • Writing the words on a single conversion page — the hero headline and subhead
  • The proof and testimonials
  • One primary CTA —
  • Diagnosing a page that gets traffic and does not convert

Example prompts

  • “/landing-copy”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Landing Copy loads about 2.8k tokens when it runs, and up to ~4.6k if it reads all its reference files. Until then it costs about 114 tokens; SKILL.md has 1,471 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~114
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,471 words, ~2,799 tokens.

Download SKILL.mdSave it as .claude/skills/landing-copy/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
landing-copy
description
Use when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that gets traffic and does not convert, as a copy problem rather than a layout one. NOT the paid ad that drives the click (that is `ads`), NOT the visual layout the words sit in (that is `design`), NOT the experiment that picks the winning variant (that is `ab-testing`).
tags
landing-page, copywriting, conversion, hero-headline, cta, social-proof
recommends
ads, design, brand-voice, ab-testing, case-studies
origin
risco

Landing Copy — The Words That Convert on One Page

Hook, offer, proof, CTA. You write the words a visitor reads top to bottom; you do not draw the layout, build the page, or write the ad that sent them.

This skill owns conversion copy for a single page: a hero headline under ~8 words plus a benefit subhead, a top-to-bottom page skeleton, the offer stated as a benefit, proof slotted next to the ask, and one primary CTA repeated without competing. It is a copy job. The pixels are design's, the React/Next build is nextjs's, the ad that drives the click is ads's.

When to use

  • Writing or rewriting a hero: H1 + subhead + button copy.
  • Structuring a full landing/sales page (hook → problem → offer → proof → CTA → objections).
  • Choosing and writing one primary CTA and its repeated instances.
  • Turning features into benefits ("AES-256 encryption" → "your security team signs off in days").
  • Slotting proof — testimonials, metrics, logos, a guarantee — next to the ask.
  • Making the page headline match the ad/email that drove the click (message match).
  • Rescuing a page that gets traffic but does not convert — when the failure is the words.

When NOT to use (route to the sibling that owns it)

  • Visual layout, hierarchy, spacing, component system → design (../design/SKILL.md).
  • Building the page in code, form wiring, routing → nextjs (../nextjs/SKILL.md) / react.
  • The paid Google/Meta ad copy that drives traffic to the page → ads.
  • The brand's tone, voice rules, lexicon, do/don't word list → brand-voice.
  • Ranking in organic search or getting cited by AI answer engines → seo-geo.
  • Designing and running the experiment that picks the winning variant → ab-testing.
  • Writing the standalone customer story as its own asset → case-studies.
  • A multi-channel launch plan, nurture emails, or campaign strategy → marketing (../marketing/SKILL.md).

Boundary in one line: you own the words that convert on one page; ads owns the click that arrives, design owns the layout they sit in, ab-testing owns the proof of which words win.

The conversion reality (calibrate, never promise)

These numbers set expectations. State them as a band; the moment you promise a flat conversion rate you are lying to the user.

  • Cross-industry median is ~6.6%; strong pages in any vertical reach 10–15%+. Per-vertical the spread is wide: Events & Entertainment ~12.3%, Financial Services ~8.4%, SaaS/Tech ~3.8%, Ecommerce ~2.35%, B2B services ~1–3%. Why: a SaaS team told "you'll hit 12%" was quoted the events median; quote the band for their vertical so the goal is real. (Foundry CRO benchmarks 2026, citing Unbounce's analysis of 464M visits / 41k pages.)
  • Visitors decide whether to stay in ~5 seconds, and ~80% rarely scroll past the fold. Why: the hero is the single highest-leverage copy on the page — if it does not answer "what is this and why should I care" before a scroll, the rest is unread. (Hero-section research / NN/g attention studies 2026.)

The four blocks — the spine of the page

Every conversion page is these four jobs, top to bottom. Each has a distinct question, a home on the page, and a failure mode. Diagnose a dead page by finding which block is weak.

BlockMust answerLives whereFailure mode if weak
Hook"What is this and why should I care?" in <5sHero, above the foldVisitor bounces before scrolling; ~80% never see the rest
Offer"What exactly do I get, and what does it cost me?"Right after the hook / problemFeature dump; reader can't tell what they walk away with
Proof"Why should I believe you?"Adjacent to each CTAClaims read as marketing; trust never forms
CTA"What is the one thing to do next?"Hero, repeated down the pageCompeting asks → decision fatigue → no click

The hook

The H1 carries the what; the subhead carries the benefit; both must echo whatever the visitor clicked.

  • H1 under ~8 words / ~44 characters. The constraint forces clarity, and a clear headline beats a clever one every time. If you can't say it in 8 words you don't understand the offer yet.
  • Subhead carries the benefit — who it's for and the outcome they get, in one clause.
  • Message match: the headline must echo the promise of the ad/email that drove the click. Aligning a single claim across ad + page has produced a 66% CVR lift in documented cases (and 212% from fixing message match alone). You match the page to the ad; writing the ad is ads.
text
Bad  — "Reimagine The Future Of Financial Operations"   (clever, 6 words, says nothing)
Good — "Expense reports done in 30 seconds"             (clear, 5 words, names the outcome)
         Subhead: For finance teams drowning in receipts — snap, submit, approved.

The offer

Name the thing, the outcome, and the cost in effort or money. Lead with the outcome the buyer gets, then the mechanism that delivers it. This feature→benefit transform is the highest-impact copy shift on most pages.

The scaffold is FAB — Feature → Advantage → Benefit — but you stop at the benefit the reader cares about and back it with the mechanism as proof, not the other way round.

text
Bad  — "Our platform has advanced AES-256 encryption."
Good — "Protect customer data with AES-256 encryption, so your security team
         signs off in days, not months."

Rule: every feature line answers "so what?" with an outcome. If it can't, cut it.

The proof

Belief is built next to the ask, not in a wall of quotes elsewhere.

  • 3–5 specific, named testimonials, each with a concrete result. "Great product!" persuades no one; "cut our close time from 9 days to 2 — Maria, CFO at Lumen" does. Specific beats superlative.
  • Place proof adjacent to the primary CTA. Social proof next to the ask has lifted conversion ~68% in documented cases; reviews/testimonials are decisive for ~93% of buyers and ~88% trust them like a personal recommendation. Why: belief and the decision happen in the same moment — put the evidence where the click is.
  • Numbers, recognizable logos, and a risk-reversal (money-back, no card required) are proof too. One hard number outweighs three adjectives.
  • Never fabricate proof. If a metric, quote, or logo isn't real, mark [[NEEDS PROOF]] and ask the user — do not invent it.
text
Bad  — "Loved by teams everywhere. World-class results!"
Good — "We cut expense-report time 82% in the first month."
         — Maria Ortiz, CFO, Lumen (47-person finance team)
Show full SKILL.md (526 more words)Show less

The CTA

One primary action, verb-led, repeated — not varied — down the page.

  • One primary CTA per page. Competing asks cause decision fatigue and lower conversion. The same action appears in the hero and again at each decision point; secondary links may exist but must not compete visually or verbally with the primary.
  • Movement verbs, never "Submit". "Start free trial", "Get my quote", "See plans" — the button states the value, not the form action.
  • First-person framing often lifts clicks: "Start my free trial" reads as the visitor's own intent. Pair the button with one line of friction-reducing microcopy ("No credit card required").
text
Bad  buttons — [Submit]            [Learn more]        [Contact sales]
Good buttons — [Start my free trial]  ...repeated...  [Start my free trial]
                under it: No credit card. Cancel anytime.

Frameworks as scaffolds (fill with the reader's words)

These are skeletons to fill with the buyer's actual language, not fill-in templates:

  • PAS — Problem → Agitate → Solution. Best for pain-aware traffic.
  • AIDA — Attention → Interest → Desire → Action. Broad top-of-funnel.
  • BAB — Before → After → Bridge. Transformation stories.
  • FAB — Feature → Advantage → Benefit. The offer block.

Common stack: PAS/AIDA hook → FAB offer → proof → CTA. How much you agitate the problem before the offer depends on traffic temperature (cold needs more, warm goes straight to the offer). Full explanations with fresh examples and the awareness-stage note → references/frameworks.md.

Anti-patterns → fix

RationalizationReality / Fix
"A clever headline will stand out"Clever is unclear. Name the outcome in <8 words; clear beats clever.
"More features = more value shown"Feature dumps bury the benefit. Lead with the outcome, then the mechanism.
"Give them several CTAs to choose from"Choice kills conversion. One primary action, repeated, not varied.
"Any testimonials will do"Generic raves don't persuade. 3–5 named quotes with a hard result, near the CTA.
"World-class, cutting-edge, game-changing"Hype words signal AI-template copy. Replace with a number or a named result.
"The page can say its own thing"If the headline ignores the ad's promise, you lose the message-match lift. Echo the click.
"Promise them a 12% conversion rate"Never promise a flat number. Quote the band for their vertical.
"I'll invent a plausible metric"Never. Mark [[NEEDS PROOF]] and ask the user.

Page skeleton + worked example

The annotated top-to-bottom skeleton (hook → problem → offer → proof → CTA → objections/FAQ → final CTA), with one fully worked B2B SaaS example and the variable slots marked, lives in references/page-skeleton.md. Start there when you write a full page rather than a single block.

Verify your copy

Run scripts/verify.sh over the file you wrote (or your project) before claiming done. It is a read-only, dependency-free static check: H1 length, exactly one primary CTA verb (flags competing asks), presence of a proof block and a benefit subhead, a banlist of hype/AI-tell phrases, and a "Submit" warning. It warns on soft issues and exits non-zero only on hard ones (no CTA, no proof). It is a backstop, not the judgement — the four-block table is.

See also

  • ../design/SKILL.md — the pixels: layout, hierarchy, the visual system the words sit in.
  • ../nextjs/SKILL.md — the build: rendering the page in code.
  • ../marketing/SKILL.md — the broader campaign: email sequences, channels, launch arc.
  • ads — the paid ad copy that drives the click (route here; you only match the page to it).
  • ab-testing — the experiment that proves which headline/CTA wins.
  • case-studies · brand-voice · seo-geo — the proof asset, the voice rules, the search layer.
  • References: references/frameworks.md, references/page-skeleton.md.

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/landing-copy of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/frameworks.md
  • references/page-skeleton.md
  • scripts/verify.sh

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Landing Copy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Landing Copy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Landing Copy this skillericrisco/rsc-harness174—~2.8kAutomated safety check: PassMIT
Flags SDKvercel/vercel-plugin301—~6.9kAutomated safety check: NotesCustom licence
Ab Testingcoreyhaines31/marketingskills54k3 repos~3.1kAutomated safety check: PassMIT
AnalyticsNexus-JPF/note-companion8707 repos~2.2kAutomated safety check: PassMIT
Ad Test Designeraaron-he-zhu/aaron-marketing-skills2.9k2 repos~2.8kAutomated safety check: PassApache-2.0
Ab Test Analyzeririnabuht12-oss/marketing-skills4k—~1.4kAutomated safety check: PassNone

Similar skills

  • Flags SDK

    vercel/vercel-plugin

    Official

    Set up and use feature flags and A/B tests with the Flags SDK (flags npm package) and Vercel Flags.

    301 GitHub stars~6.9k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • Ab Testing

    coreyhaines31/marketingskills

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program.

    54k GitHub starsUsed in 3 repos~3.1k tokens
    Marketing & SEOAuto-check passed
  • Analytics

    Nexus-JPF/note-companion

    When the user wants to set up, improve, or audit analytics tracking and measurement.

    870 GitHub starsUsed in 7 repos~2.2k tokens
    Marketing & SEOAuto-check passed
  • Ad Test Designer

    aaron-he-zhu/aaron-marketing-skills

    A skill your agent uses when the user asks to "design an A/B test", "set up a creative/landing test", "run an incrementality test", or "is this result statistically and practically material?"…

    2.9k GitHub starsUsed in 2 repos~2.8k tokens
    Marketing & SEOAuto-check passed
  • Ab Test Analyzer

    irinabuht12-oss/marketing-skills

    Statistical significance calculator for A/B test results with sample size requirements, segment breakdowns, and hypothesis generation.

    4k GitHub stars~1.4k tokensUpdated 15 days ago
    Marketing & SEOAuto-check passed
  • Ab Test Store Listing

    appeeky/aso-skills

    When the user wants to A/B test App Store product page elements to improve conversion rate.

    2.2k GitHub stars~1.8k tokensUpdated 2 days ago
    Marketing & SEOAuto-check passed

More from ericrisco/rsc-harness

All 233 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    174 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    174 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    174 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    174 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    174 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    174 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Landing Copy

What does Landing Copy do?

A skill your agent uses when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that…. Landing Copy is an agent skill from ericrisco/rsc-harness. Use when writing the words on a single conversion page — the hero headline and subhead, the offer, the proof and testimonials, and one primary CTA — or diagnosing a page that gets traffic and does not convert, as a copy problem rather than a layout one.

When should I use Landing Copy?

Landing Copy fits situations like: writing the words on a single conversion page — the hero headline and subhead; the proof and testimonials; one primary CTA —; diagnosing a page that gets traffic and does not convert.

How do I install Landing Copy in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill landing-copy -a claude-code`. Or copy the skill folder (skills/landing-copy in ericrisco/rsc-harness) into .claude/skills/landing-copy in your project. Claude Code loads it when a task matches its description.

How do I install Landing Copy in Codex?

Run `npx skills add ericrisco/rsc-harness --skill landing-copy -a codex`. Or copy the skill folder (skills/landing-copy in ericrisco/rsc-harness) into .agents/skills/landing-copy in your project. Codex loads it when a task matches its description.

Can I use Landing Copy in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill landing-copy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/landing-copy, .gemini/skills/landing-copy, .github/skills/landing-copy and .opencode/skills/landing-copy in your project.

What does Landing Copy need to run?

Going by SKILL.md and its folder, Landing Copy needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Landing Copy access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Landing Copy safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Landing Copy use?

Landing Copy is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Landing Copy use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.

What are the alternatives to Landing Copy?

Skills that share tags, products or a category with Landing Copy: Flags SDK (vercel/vercel-plugin, 301 stars), Ab Testing (coreyhaines31/marketingskills, 54k stars), Analytics (Nexus-JPF/note-companion, 870 stars) and Ad Test Designer (aaron-he-zhu/aaron-marketing-skills, 2.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Landing Copy?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 174 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 7, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.