
Copywriting
- 353 installs
- 74 repo stars
- Updated August 5, 2026
- mblode/agent-skills
copywriting is an agent skill that writes and edits short conversion copy and removes AI writing tells for developers shipping landing pages, CTAs, and onboarding strings.
About
copywriting is an mblode/agent-skills skill with two auto-detected modes: Mode A writes new short conversion copy and Mode B edits existing text to remove AI tells. Scope covers landing page heroes, subheads, CTAs, product descriptions, onboarding strings, and email subject lines—not long-form blog posts, slide decks, API docs, or product behavior decisions. Six bundled reference files include frameworks.md with nine copy frameworks, sweeps.md with seven line-level editing sweeps, word-lists.md for Tier 1/2/3 AI vocabulary, ai-patterns.md with P0/P1/P2 triage, page-types.md, and ui-states.md for destructive CTAs and error copy. Mode A requires a confirmed brief covering page purpose, audience, product outcome, and traffic temperature before writing two or three alternatives. Developers reach for it when asked to write copy, fix CTAs, remove AI-isms, or rewrite landing hero text. skills.sh lists 267 installs and the agent-skills repository has 54 GitHub stars.
- Headline and hook variants
- CTA optimization
- Audience tone matching
- Landing page section drafts
- Email and ad snippets
Copywriting by the numbers
- 353 all-time installs (skills.sh)
- +27 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #827 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/mblode/agent-skills --skill copywritingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 353 |
|---|---|
| repo stars | ★ 74 |
| Last updated | August 5, 2026 |
| Repository | mblode/agent-skills ↗ |
How do you write conversion landing page copy?
Draft landing pages, ads, emails, and product copy aligned to audience pain points, brand voice, and conversion goals for ongoing campaigns.
Who is it for?
Developers shipping SaaS landing pages or in-app UI copy who need brief-gated conversion writing and AI-ism cleanup without a dedicated copywriter.
Skip if: Long-form blog articles, slide deck scripts, API reference documentation, or deciding product behavior scope before wording exists.
When should I use this skill?
The user asks to write landing copy, improve a CTA, remove AI-isms, rewrite hero text, or fix onboarding strings with a confirmed audience and goal.
What you get
Confirmed copy brief, two or three hero or CTA alternatives, and edited copy with AI-pattern flags and sweep-cleaned final wording.
- copy brief
- CTA and hero alternatives
By the numbers
- Includes 9 copy frameworks and 7 line-level editing sweeps
- Bundles 6 reference files for write and edit workflows
- skills.sh reports 267 installs
Files
Copywriting
- IS: short, conversion-bearing product and marketing copy (landing pages, hero, subheads, CTAs, product descriptions, onboarding strings, email subjects), plus stripping AI writing tells from any copy.
- IS NOT: long-form articles or posts (use
blog-post), slide or deck copy (usepresentation-creator), or API/product/reference documentation (usedocs-writing).
Two modes. Auto-detect, do not ask:
- Copy already exists in the files or the user pasted copy to fix? Run Mode B (Edit).
- No copy exists yet, or the user asks to write something new? Run Mode A (Write).
- Genuinely ambiguous (e.g. "improve this" with no copy in scope)? Ask one question, then commit to a mode.
Reference files
| File | Read when |
|---|---|
references/frameworks.md | Picking a framework (Write Step 4) or auditing copy against the nine persuasion frameworks (Edit Step 3) |
references/page-types.md | Choosing structure and copy norms for a known page type (Write Step 4) |
references/word-lists.md | Flagging Tier 1/2/3 AI vocabulary (Edit Step 4) |
references/ai-patterns.md | Flagging structural and sentence-level AI tells and triaging by P0/P1/P2 severity (Edit Step 4) |
references/sweeps.md | Running the seven line-level sweeps (Edit Step 5) |
---
Mode A: Writing new copy
Writing progress:
- [ ] Step 1: Gather context
- [ ] Step 2: Lock the brief (hard gate)
- [ ] Step 3: Discover brand voice
- [ ] Step 4: Choose framework and load references
- [ ] Step 5: Write 2-3 alternatives
- [ ] Step 6: Recommend and explainStep 1: Gather context
Ask these four questions before writing a single word. Do not proceed until all four are answered.
1. Page purpose. What is the one action this page must drive? (e.g. sign up, book a demo, download) 2. Audience. Who is the specific reader? Job title, pain, what they've already tried. 3. Product. What does this product do, and what is the concrete outcome for the user? 4. Traffic source. Where is the reader coming from? (cold ad, warm email, organic search, referral)
Traffic source determines temperature. Cold traffic needs more Why. Warm traffic can lead with How or What. Skip a question only if the answer is already unambiguous in the files; never invent an audience or a goal.
Step 2: Lock the brief (hard gate)
Before writing, state the brief back to the user and get explicit confirmation:
Brief:
- Page: [page type]
- Goal: [single action]
- Reader: [specific audience]
- Core outcome: [what changes for the reader]
- Tone: [inferred from brand voice or user-stated]
- Traffic temperature: [cold / warm / hot]
Confirm this is correct before I write.Do not write copy until the user confirms. If they push back on any point, update the brief and re-confirm.
Step 3: Discover brand voice
Look for brand voice signals before inventing one:
- Read existing copy files, README headers, or marketing pages if accessible
- Ask: "Do you have brand guidelines, a tone-of-voice doc, or existing copy I should match?"
- If nothing exists, infer from the product and audience: B2B SaaS defaults to direct and confident, consumer apps can be warmer, developer tools lean terse and honest
Note the inferred voice in the brief. Never default to generic corporate warmth.
Step 4: Choose framework and load references
Load references/frameworks.md and references/page-types.md.
Choose the primary framework for this copy based on the brief:
| Situation | Lead framework |
|---|---|
| Cold traffic, unfamiliar product | Why/How/What (Simon Sinek) |
| Feature-heavy product | Benefit Not Feature |
| High-trust audience, low awareness | Show Don't Tell |
| Transactional page, known intent | CTA Clarity |
| Long-form sales page | Problem → Agitate → Solution (PAS) |
You can layer frameworks. Why/How/What almost always applies to hero copy regardless of the primary choice.
Step 5: Write 2-3 alternatives
Write exactly 2-3 distinct alternatives. Each must:
- Apply the chosen framework visibly
- Lead with Why, not What
- Use no banned words (see below)
- Include a headline, subhead, and at least one CTA per alternative
- Be structurally different, not the same idea with different adjectives
Label each: Option A, Option B, Option C.
Step 6: Recommend and explain
Pick one option and state clearly which and why in one sentence. Give the user a specific edit note for each alternative they did not pick: what it would take to make it stronger.
---
Mode B: Editing existing copy
Editing progress:
- [ ] Step 1: Read all copy-bearing files
- [ ] Step 2: Set the north star
- [ ] Step 3: Audit against persuasion frameworks
- [ ] Step 4: Remove AI writing patterns
- [ ] Step 5: Run seven sweeps
- [ ] Step 6: Flag weakest elements with labels
- [ ] Step 7: Rewrite flagged sections
- [ ] Step 8: Output before/after diffStep 1: Read all copy-bearing files
Scan for all reader-facing text: README headers, landing page components, hero text, CTAs, product descriptions, feature lists, onboarding strings, meta descriptions, email subjects.
Ask which files to target if unclear. Never audit copy you haven't read in full context.
Step 2: Set the north star
Write one sentence before auditing anything: "[User] can now [do X] without [old pain]."
Every flagged line and rewrite must serve this sentence. If you cannot write it confidently, ask the user; the copy will be unfixable until the value proposition is clear.
Step 3: Audit against persuasion frameworks
Load references/frameworks.md. Check every major copy block against each framework. Mark candidates for flagging. Do not flag everything: identify the 3-7 highest-impact problems only.
Step 4: Remove AI writing patterns
Load references/word-lists.md and references/ai-patterns.md.
Scan for AI-isms and flag each with [AI-ISM] plus the specific pattern type:
- Tier 1 words (from
word-lists.md): always flag and replace (delve, leverage, robust, seamless, paradigm, holistic, and more) - Tier 2 clusters (from
word-lists.md): flag when 2+ appear in the same paragraph (harness, empower, streamline, elevate, and more) - Structural patterns (from
ai-patterns.md): formulaic openings, chatbot artefacts, "let's" transitions, significance inflation, copula avoidance, em dashes used as ordinary punctuation
The literal em dash (and its -- substitute) is itself a Tier 1 AI tell. Cap it at 1 per 1,000 words, zero is better. See ai-patterns.md section 1 for the rule and ai-patterns.md section 7 for the P0/P1/P2 triage order when time is limited.
If the user asked for persuasion-only editing, skip this step. If the user asked specifically for AI pattern removal, run this step first, before the sweeps.
Step 5: Run seven sweeps
Load references/sweeps.md and run all seven sweeps in order. Do not skip sweeps because the copy "looks fine": each sweep targets a distinct failure mode.
Step 6: Flag weakest elements
Attach a label inline to every weak line. Use exactly these labels:
| Label | Meaning |
|---|---|
[WHAT-NOT-WHY] | Leads with the product or feature, not the user's motivation |
[FEATURE-NOT-BENEFIT] | Describes what the product has, not what changes for the user |
[TELL-NOT-SHOW] | Adjective claim without proof ("powerful", "seamless", "easy") |
[VAGUE] | Generic; could describe any product in this category |
[PASSIVE] | Subject is acted upon instead of acting |
[DEAD-WEIGHT] | Adds no information not already conveyed; safe to cut |
[JARGON] | Technical term that obscures meaning for a non-expert reader |
[NO-PROOF] | Claim that needs a number, example, or testimonial to be credible |
[WEAK-CTA] | CTA describes the action, not the outcome |
[AI-ISM] | AI writing pattern: Tier 1 word, Tier 2 cluster, or structural tell |
Flag the 3-7 weakest elements. Prioritise by impact on conversion or comprehension.
Step 7: Rewrite flagged sections
Rewrite each flagged block:
- Lead with Why (the user's problem or desire), not What (the product)
- Name the concrete outcome, not the capability
- Replace adjectives with proof: instead of "powerful analytics", write "see which pages kill signups"
- Make CTAs outcome-specific: "Start syncing" beats "Get started"
- Every sentence must add new information or it gets cut
- Never lengthen a CTA in the name of clarity
- When replacing AI-isms, rewrite the sentence; don't just swap the flagged word for a synonym
Step 8: Output before/after diff
## Copy Audit: [file or component name]
**North star:** [one-sentence value prop]
---
### [Section name]
**Before:**
> [original text]
**Issues:** `[LABEL]`, `[LABEL]`
**After:**
> [rewritten text]
**Why:** [one sentence explaining the change]
---
### Summary
- N issues flagged across N sections
- Top pattern: [most common label]
- Confidence: [high / medium; note if copy context was limited]Before handing the diff back, verify each "After" line yourself: it leads with Why, names a concrete outcome, carries no banned word, and contains no em dash used as ordinary punctuation. A diff that reintroduces an AI tell in the rewrite is a regression, not an edit.
---
Banned words
Never write these. Flag them immediately in edit mode. Full replacement list in references/word-lists.md.
delve, leverage (verb), robust, seamless, holistic, paradigm, game-changing, cutting-edge, innovative, synergy, revolutionary, effortless, world-class, powerful
Also ban "simple" used as a claim ("our simple onboarding"): never earned upfront, always reads as a promise not yet kept.
---
Gotchas
- Do not write before the brief is confirmed. Skipping Step 2 produces copy that sounds good but serves the wrong goal.
- Do not flag every line in edit mode. Over-flagging dilutes attention and makes the audit useless. Cap it at 3-7 issues, prioritised by impact.
- Do not audit copy you haven't read in context. A vague-looking line may be intentional contrast with adjacent copy.
- Do not impose locale changes. Switching British to American spelling (or vice versa) when the project uses the other locale makes the rewrite look broken to the owner. Check existing copy first.
- Do not lengthen CTAs. "Sync your data across every device instantly" is worse than "Start syncing".
- If the product name appears in the first hero sentence, it's almost always `[WHAT-NOT-WHY]`.
- "Simple", "easy", "powerful", and "seamless" are automatic `[TELL-NOT-SHOW]`: they are never earned upfront.
- An em dash in the rewrite re-fails the AI-ism check. Demonstrated em dashes inside before/after examples are the subject being flagged and stay; em dashes you write as ordinary punctuation do not. Use a comma, colon, parentheses, or two sentences.
- Do not generate copy with an unconfirmed value proposition. If you cannot write the north star sentence, stop and ask.
- CTAs often live in components, not markdown. Ask the user where CTAs live if not obvious from the files.
- Traffic temperature changes the entire strategy. Cold traffic from a paid ad needs far more Why than warm traffic from a referral link. Ask if unsure.
- Brand voice mismatch is the fastest way to make good copy feel wrong. Always check for existing copy before inventing a tone.
---
Skill handoffs
| When | Run |
|---|---|
| After rewrite, audit prose quality | docs-writing |
| To optimise meta descriptions and page titles | optimise-seo |
| To review the full UI including copy in context | ui-audit |
| For landing page visual design, CRO strategy, and conversion benchmarks | ui-design (marketing track) |
AI writing patterns: detection and fixes
Table of contents
1. Formatting 2. Sentence structure 3. Template phrases 4. Transition phrases 5. Structural issues 6. Chatbot artefacts 7. Severity tiers
---
1. Formatting
Em dashes
Hard max: 1 per 1,000 words. Zero is better. Replace with a comma, full stop, parentheses, or two sentences. Applies to headings and body copy alike. Catch both the Unicode em dash (—) and the double-hyphen substitute (--). The em dash is the single most reliable AI tell in product copy, so flag every instance.
Bold overuse
Strip bold from most phrases. Maximum one bolded phrase per major section, ideally none. If something is important enough to bold, restructure the sentence to lead with it instead.
Emoji in headers
Remove entirely. No ## 🚀 What This Means. Social posts may use one or two emoji sparingly, at the end of a line, never mid-sentence.
Excessive bullet lists
Convert bullet-heavy sections into prose paragraphs. Bullets only for genuinely list-like content: feature comparisons, step-by-step instructions, API parameters. If a bullet list has a bold header per item that repeats itself, strip the headers and write as prose.
---
2. Sentence structure
Hollow intensifiers
Cut: genuinely, truly, quite frankly, to be honest, let's be clear, it's worth noting that, real (as in "a real improvement"). Just state the fact.
Vague endorsement ("worth [verb]-ing")
Cut: worth reading, worth paying attention to, worth a look, worth exploring, worth checking out. These substitute a generic thumbs-up for a specific reason. Say why something matters instead.
Hedging
Cut: perhaps, could potentially, it's important to note that, to be clear. Make the point directly.
"It's not X — it's Y"
Max one per piece, and only if it serves the argument. Rewrite as a direct positive statement instead.
Compulsive rule of three
Vary groupings. Use two items, four items, or a full sentence instead of triads. Max one "adjective, adjective, and adjective" pattern per piece.
Missing connective tissue
Each paragraph should connect to the last. If paragraphs could be rearranged without the reader noticing, add a bridge sentence.
---
3. Template phrases
These slot-fill constructions signal that a sentence was generated, not written:
- "a [adjective] step towards [adjective] AI infrastructure" → describe the specific capability or outcome
- "a [adjective] step forward for [noun]" → say what actually changed
- "Whether you're [X] or [Y]" → false-breadth construction. Pick the audience you're actually writing for, or cut
- "I recently had the pleasure of [verb]-ing" → say what happened: "I talked to," "I read," "I attended"
- "In today's [X]" / "In an era where" → cut or state specific context
- "When it comes to" → just talk about the thing directly
---
4. Transition phrases
Remove or rewrite these:
- "Moreover" / "Furthermore" / "Additionally" → restructure so the connection is obvious, or use "and," "also," "on top of that"
- "It's worth noting that" / "Notably" → just state the fact
- "Here's what's interesting" / "Here's what caught my eye" → let the content signal its own importance. If you need a lead-in, make it specific: "The revenue number matters because..."
- "In conclusion" / "In summary" / "To summarise" → your conclusion should be obvious without the label
- "At the end of the day" → cut
- "That said" / "That being said" → cut, or use "but," "yet," or "however" (don't overuse any one of them)
---
5. Structural issues
Uniform paragraph length
If every paragraph is roughly the same size, vary deliberately. Some paragraphs should be one sentence. Some longer.
Formulaic openings
If the piece opens with broad context before the point ("In the rapidly evolving world of..."), rewrite to lead with the news or the insight. Context can come second.
Copula avoidance
AI avoids "is" and "has" by substituting fancier verbs: "serves as," "features," "boasts," "presents," "represents." These read like a press release. Default to "is" or "has" unless a more specific verb adds real meaning.
Synonym cycling
AI rotates synonyms to avoid repeating a word: "developers… engineers… practitioners… builders" in the same paragraph. Human writers repeat the clearest word. If the same noun appears three times and that's the right word, keep all three.
Vague attributions
"Experts believe," "Studies show," "Research suggests" without naming the expert, study, or source. Either cite a specific source or drop the attribution and state the claim directly.
Significance inflation
"Marking a pivotal moment in the evolution of..." or "a watershed moment for the industry" inflate routine events. State what happened. Let the reader judge significance.
False ranges
AI creates false breadth by pairing unrelated extremes: "from the Big Bang to dark matter," "from ancient civilisations to modern startups." These sound sweeping but say nothing. List the actual topics or pick the one that matters.
---
6. Chatbot artefacts
Remove entirely from published prose:
- "I hope this helps!", "Certainly!", "Absolutely!", "Great question!", "Feel free to reach out", "Let me know if you need anything else"
- "In this article, we will explore…" or "Let's dive in!" → cut or rewrite with a direct opening
- "Let's explore," "Let's take a look," "Let's break this down" → any "let's + verb" functioning as a transition rather than a genuine invitation. Start with the point instead
- "Let me think step by step," "Breaking this down," "To approach this systematically," "Step 1:" → chain-of-thought reasoning leaking into prose. State the conclusion, then the evidence
- Acknowledgement loops: "You're asking about," "To answer your question," "That's a great question. The..." → just answer
- Sycophantic openers: "Great question!", "Excellent point!", "You're absolutely right!" → remove entirely
---
7. Severity tiers
Use these to prioritise fixes when time is limited.
P0: credibility killers (fix immediately)
- Cutoff disclaimers: "As of my last update," "I don't have access to real-time data"
- Chatbot artefacts: "I hope this helps!", "Great question!"
- Vague attributions without named sources: "Experts believe"
- Significance inflation on routine events: "a watershed moment for the industry"
P1: obvious AI smell (fix before publishing)
- Tier 1 word violations (delve, leverage, robust, seamless, etc.)
- Template phrases and slot-fill constructions
- "Let's" transition openers
- Formulaic openings ("In the rapidly evolving world of...")
- Bold overuse
- Em dash frequency above 1 per 1,000 words
P2: stylistic polish (fix when time allows)
- Generic conclusions ("The future looks bright", "Only time will tell")
- Compulsive rule of three
- Uniform paragraph length
- Copula avoidance (serves as, features, boasts)
- Overused transition phrases (Moreover, Furthermore, Additionally)
- Tier 2 word clusters in the same paragraph
Quick triage rule: For a fast pass, fix P0 and P1 only. A clean P0+P1 pass is publishable. P2 is polish.
Persuasion Frameworks
Reference for the copywriting audit. Apply each framework to the copy being reviewed.
Table of contents
- Why/How/What (Simon Sinek)
- PAS (Problem → Agitate → Solution)
- AIDA (Attention → Interest → Desire → Action)
- StoryBrand
- BAB (Before → After → Bridge)
- Show don't tell
- Benefit not feature
- Sentence economy
- CTA clarity
---
Why/How/What (Simon Sinek)
Most product copy starts with What (the product) or How (the mechanism). It should start with Why (the user's motivation or the problem they feel).
Test: Does the first sentence of the hero/README explain what the product is, or why someone would want it?
| Layer | Question it answers | Example |
|---|---|---|
| Why | Why does this matter to the user? | "Most teams lose hours chasing stale data across tabs." |
| How | How does the product address it? | "StrataSync keeps every client in sync, automatically." |
| What | What is the product? | "A real-time data layer for React apps." |
Correct order: Why → How → What.
Before (wrong order):
"StrataSync is a real-time data sync engine for React apps. It uses WebSocket connections to keep your data current. Never deal with stale dashboards again."
After (Why first):
"Stale dashboards kill trust. StrataSync keeps every client in sync automatically. No polling, no refresh buttons."
Common mistake: Leading with What ("StrataSync is a real-time data sync engine for...") buries the user's motivation.
Flag as: [WHAT-NOT-WHY]
---
PAS (Problem → Agitate → Solution)
Identify the pain, amplify the consequences of ignoring it, then present the solution. Meets the user where they already are.
Best for: Problem-aware audiences. Works well in long-form landing pages, email, and ad copy.
Template: 1. Problem. Name the pain the user recognises. 2. Agitate. Make the consequences feel real and urgent. 3. Solution. Show how the product resolves it cleanly.
Example (developer tool):
Problem: Your API keys are scattered across .env files, CI configs, and Slack messages.
Agitate: One leaked key can bring down production, and you won't know until a customer calls.
Solution: Vault centralises every secret with per-environment rotation and zero-config CI integration.
Example (SaaS):
Problem: Your team is running three different project trackers.
Agitate: Work gets duplicated. Priorities drift. Nobody knows what "done" actually means.
Solution: Grove gives every team one source of truth, set up in 10 minutes.
Flag: No flag. PAS is a structural choice, not an error pattern.
---
AIDA (Attention → Interest → Desire → Action)
A sequential funnel that moves a cold reader from awareness to click. Each stage must earn the next.
Best for: Cold traffic (ads, cold email, splash pages where the reader has no prior context).
Template: 1. Attention. Interrupt the scroll with a bold claim, question, or specific fact. 2. Interest. Explain why this is relevant to them specifically. 3. Desire. Show the outcome they want; use social proof or concrete results. 4. Action. A single, clear CTA that matches the desire just created.
Example (B2B SaaS):
Attention: "73% of SaaS churn happens before users hit their first 'aha' moment."
Interest: "If your onboarding takes more than one session, you're already losing."
Desire: "Teams using Onramp reduce time-to-value by 40%, measured from signup to first export."
Action: "See your onboarding score free →"
Example (consumer app):
Attention: "Your photos are one hard drive failure away from gone."
Interest: "Insurance won't replace them. Neither will a new laptop."
Desire: "Lumen backs up everything in the background. No app to open, no quota to manage."
Action: "Start your free backup →"
Flag: No flag. AIDA is a structural choice. Flag individual components using [WHAT-NOT-WHY], [TELL-NOT-SHOW], or [WEAK-CTA] as appropriate.
---
StoryBrand
The customer is the hero of the story. The product is the guide. The guide's job is to give the hero a plan and a CTA that leads to success and away from failure.
Key rule: Never position the product as the hero. A guide who makes themselves the centre of the story loses the customer's trust.
The 7-part StoryBrand framework:
| Part | Question | One-line example |
|---|---|---|
| 1. Hero | Who is the customer? | A founder who can't sleep because deployments keep failing |
| 2. Problem | What external/internal/philosophical problem do they face? | External: broken deploys. Internal: feeling incompetent. Philosophical: code should ship, not haunt you. |
| 3. Guide | Who helps them? | The product, positioned as the expert who has solved this before |
| 4. Plan | What are the steps? | Connect repo → set alerts → deploy with confidence |
| 5. CTA | What direct action do you invite? | "Start your first deploy free" |
| 6. Success | What does winning look like? | Ship on Friday without anxiety |
| 7. Failure | What are the stakes if they don't act? | More 3am incidents, more team burnout |
Before (product as hero):
"We built Relayer after years of fighting broken CI pipelines. Our team is obsessed with developer experience."
After (customer as hero):
"You shouldn't have to babysit your pipeline. Relayer watches it for you, so you can ship and move on."
Flag: [WHAT-NOT-WHY] when the product, not the customer, is centred.
---
BAB (Before → After → Bridge)
Paint the current painful state, show the desirable future state, then explain how the product gets them there.
Template: 1. Before. Describe the frustration or friction the user recognises right now. 2. After. Describe the world as they want it to be. 3. Bridge. Explain how the product creates that transition.
Example (analytics tool):
Before: You spend two hours every Monday pulling reports from four different tools before you can answer one question.
After: Every metric you care about, live, in one dashboard. Monday starts with decisions, not data wrangling.
Bridge: Metric pairs your existing stack in 15 minutes and surfaces the numbers that actually move revenue.
Example (writing tool):
Before: You open a blank doc, write a paragraph, delete it, and close the tab.
After: You finish a first draft in the same session you started it.
Bridge: Draft gives you structure before you start, so the thinking is done before the typing begins.
When to use over PAS: BAB is warmer and more aspirational. PAS is more confrontational. Use BAB when the audience is motivated but stuck; use PAS when they're not yet urgent.
---
Show don't tell
Adjectives claim. Specifics prove. Every unearned adjective is a missed opportunity to show a concrete outcome.
Test: Can the adjective be replaced with a specific fact, number, or scenario?
| Tell | Show |
|---|---|
| "Powerful analytics" | "See which pages kill signups before users leave" |
| "Easy to set up" | "Live in 5 minutes, no config files" |
| "Seamless sync" | "Edit on mobile, see it on desktop instantly" |
| "Beautifully designed" | "Built to feel native on every device" |
| "Robust infrastructure" | "99.97% uptime across 3 regions, verified by StatusPage" |
Banned adjectives (flag every instance in hero copy):
- powerful, simple, easy, seamless, beautiful, robust, flexible, scalable, smart, intuitive, modern, next-generation, cutting-edge, best-in-class
Rule: If you can't name the specific outcome, the claim does not belong in the hero.
Flag as: [TELL-NOT-SHOW]
---
Benefit not feature
Features describe the product. Benefits describe what changes for the user. Outcomes describe the life the user has after the change.
Test: Does this sentence describe what the product has or what the user gets?
Feature → Benefit → Outcome chain:
| Feature | Benefit | Outcome |
|---|---|---|
| Real-time database sync | Your users always see current data | No more "why is this wrong?" support tickets |
| Role-based access controls | Give each team member exactly the access they need | Audits pass on the first try |
| Offline-first architecture | Works when the internet doesn't | Field teams stop losing work mid-session |
| Automated changelog generation | Ship without writing release notes | Save 30 minutes every release cycle |
Before (feature):
"Automated changelog generation with semantic versioning support."
After (benefit → outcome):
"Ship without writing release notes. Your changelog writes itself."
Rule: Lead with the outcome for the user. Mention the mechanism only after the benefit is clear. Never lead with "featuring" or "with built-in".
Flag as: [FEATURE-NOT-BENEFIT]
---
Sentence economy
Every sentence must earn its space. If removing it changes nothing, cut it.
Tests:
- Remove the sentence. Does the meaning change? If not, cut it.
- Does the opener add anything? "In order to", "It is important to note that", "The fact is": cut the opener.
- Is the sentence over 25 words? Break it at the strongest claim.
- Does this sentence restate the headline? Cut it.
Dead-weight patterns:
| Pattern | Why it fails |
|---|---|
| "We believe that..." | Softens the claim; just make the claim |
| "X is a Y that helps you Z" | Just say "X does Z" |
| "Whether you're a [A] or a [B]..." | Avoidable hedge that weakens positioning |
| "Our mission is to..." | Founder voice, not user benefit |
| "Designed to be..." | Replace with a demonstration |
| "Powerful yet simple" | Two dead adjectives for the price of one |
| Ending section by restating headline | The reader already read the headline |
Before:
"We believe that developers deserve better tooling. Whether you're a solo founder or a team of 50, Relay is designed to make deployment simple and powerful."
After:
"Deploy in one command. Roll back in two seconds."
Flag as: [DEAD-WEIGHT]
---
CTA clarity
CTAs fail when they describe the action, not the outcome. A CTA must answer: what do I get, and what am I committing to?
Formula: Action verb + what they get + qualifier (optional).
Test: If someone reads only the CTA, do they know what they're committing to?
| Weak CTA | Why it fails | Strong CTA |
|---|---|---|
| "Get started" | Vague; started on what? | "Start syncing free" |
| "Learn more" | Passive, no commitment signal | "See how it works" |
| "Sign up" | Describes the form, not the value | "Create your workspace" |
| "Try it now" | No qualifier, implies risk | "Try it free, no card required" |
| "Submit" | Bureaucratic | "Send my request" |
| "Click here" | Never acceptable | "Download the guide" |
Rules:
- Use a verb that names the outcome: Start, Create, See, Download, Get, Book, Claim.
- Add a qualifier when space allows: "free", "in 5 minutes", "no card", "no install".
- Never use two CTAs with the same verb on the same screen.
- Primary CTA is high-commitment (Start, Create, Buy). Secondary CTA is low-commitment (See, Watch, Learn).
Flag as: [WEAK-CTA]
Page Types
Reference for Step 3 (writing mode). Structure, norms, and gotchas for the five most common marketing page types.
Table of contents
---
Homepage
Purpose: Establish what the product is and who it's for. Serve the primary visitor segment without becoming so generic it serves no one.
Primary challenge: Multiple audience segments visit the homepage, but trying to write for everyone produces copy that resonates with no one. Pick the highest-value segment and write for them directly.
Recommended framework: Why/How/What (Simon Sinek) or StoryBrand
Required sections (in order):
| Section | Job | Notes |
|---|---|---|
| Hero | Headline + subhead + primary CTA | Lead with Why: the user's problem or motivation, not the product name |
| Social proof (above fold) | Logos or a key stat | 3-5 logos or one credibility number; no testimonials here yet |
| Problem/Pain | Show you understand their world | Name the specific frustration, not a generic "teams struggle with X" |
| Solution/Benefits | 3-5 key outcomes | Each point = one benefit, not a feature list |
| How it works | 3-4 steps | Keep it scannable; process clarity reduces anxiety |
| Testimonials | Build trust with proof | Specific outcomes over generic praise: "Cut our reporting from 4h to 20min" |
| Final CTA | Recap and re-invite | Restate the primary value prop, repeat the CTA |
Gotcha: Don't add a secondary CTA ("or watch a video") that dilutes the primary action. If you must, make the primary CTA visually dominant by 3:1.
---
Landing page
Purpose: Drive a single action from a specific traffic source. Message must match what brought the reader here (ad, email, link).
Primary challenge: Message match. If the ad said "Cut your AWS bill in half" and the landing page opens with "Welcome to CloudSave", you've already lost them. The headline must mirror the promise that brought them.
Recommended framework:
- PAS for problem-aware traffic (they know they have the problem, need to be convinced your solution is right)
- AIDA for cold traffic (they saw an ad, have no context)
Required sections (in order):
| Section | Job | Notes |
|---|---|---|
| Hero | Mirror the ad/email promise exactly | Headline should echo the source copy in words or concept |
| Problem amplification | Make the pain vivid | One paragraph max; they already know the problem |
| Solution | What you offer and the core outcome | Feature → Benefit → Outcome in 2-3 sentences |
| Proof | Stats, logos, or short testimonials | Numbers and specifics only; no filler quotes |
| Objection handling | Address the top 2-3 hesitations | Can be FAQ format or inline copy |
| CTA (repeated) | Invite the action | Repeat the CTA after hero, after proof, and at bottom |
Gotcha: One CTA only. Strip navigation, footer links, and anything that lets visitors leave without converting. Every element that doesn't support the conversion goal is friction.
---
Pricing page
Purpose: Help visitors choose the right plan. Reduce "which one is right for me?" anxiety.
Primary challenge: Decision paralysis. Too many options, unclear differentiation, or plans named by tier level ("Basic/Pro/Enterprise") instead of by buyer type.
Recommended framework: BAB (Before = confusion, After = confident choice, Bridge = clear plan structure)
Required sections (in order):
| Section | Job | Notes |
|---|---|---|
| Value restatement | Remind them why they're here | One sentence; they've already decided to buy, confirm they're right |
| Plan comparison | 2-4 plans with clear differentiation | Name plans by buyer type, not tier: "Solo / Team / Company" |
| Feature differentiators | What each tier unlocks | Lead with the features that justify upgrading, not the ones everyone gets |
| FAQ | Answer "which plan should I choose?" | Direct, specific answers, not legal hedging |
| Social proof by tier | Testimonials matched to plan type | "As a solo founder, I use Solo..." builds confidence in the choice |
| Risk reversal | Reduce commitment anxiety | Money-back guarantee, free trial, cancel-anytime, placed near the CTA |
Gotcha: Name plans for the buyer type, not the tier level. "Starter/Growth/Scale" beats "Basic/Pro/Enterprise" because it helps visitors self-select rather than guess.
---
Feature page
Purpose: Connect a specific feature to a customer outcome. Create a clear path to try or buy.
Primary challenge: Feature pages default to listing capabilities instead of naming outcomes. Visitors on a feature page are already interested in the product; they want to know if this specific feature solves their specific problem.
Recommended framework: Feature → Benefit → Outcome chain
Feature: [what the product does]
↓
Benefit: [what changes for the user]
↓
Outcome: [specific, measurable result]Required sections (in order):
| Section | Job | Notes |
|---|---|---|
| Problem headline | Name the specific pain this feature solves | Skip the broad product setup; they already know the product |
| Feature explanation | What it is in 2-3 sentences | Plain language; avoid internal jargon |
| Benefit | What changes for the user | Active voice: "You no longer have to..." |
| Outcome | Specific result with a number or example | "Teams reduce onboarding time by 60%" not "faster onboarding" |
| Proof | Screenshot, demo GIF, stat, or testimonial | Show it working; don't just describe it |
| CTA | Try this feature / see it in context | Link to a demo, free trial, or relevant docs |
Gotcha: Feature pages are for people who are already evaluating the product. Skip the broad "here's why X matters" problem setup; it wastes their time. Go straight to the specific outcome this feature delivers.
---
About page
Purpose: Build trust, show the humans behind the product, connect the brand's origin to a customer benefit.
Primary challenge: About pages turn inward. Companies write about themselves (founding year, team size, mission statements) without ever explaining why any of it matters to the reader. Every element must pass the "so what does this mean for me?" test from the customer's perspective.
Recommended framework: StoryBrand (brand as guide, customer as hero, even on the about page)
Required sections (in order):
| Section | Job | Notes |
|---|---|---|
| Mission + customer outcome | Why you exist, stated as a customer benefit | Not "We believe in X" but "So that you can Y" |
| Origin story | Why this was built | Tie the founder's frustration to the customer's frustration; skip the founding date |
| Team | Human faces and names | Photos and actual roles; skip org chart titles |
| Values | What you stand for | 3-5 values that are customer-relevant, not internal mantras |
| CTA | What to do next | Not "contact us"; point to the product, a demo, or a free trial |
Gotcha: The about page is not a resume. Every paragraph should answer "so what does this mean for me?" for the customer. If the answer is "nothing", cut it.
Example reframe:
| Corporate | Customer-relevant |
|---|---|
| "Founded in 2019 by two engineers." | "We built this after losing a client because our own dashboards were 3 days out of date." |
| "We are a team of 12 across 4 countries." | "We're small enough to answer your support ticket personally." |
| "We believe data should be accessible." | "You shouldn't need a data team to answer a basic question about your own product." |
Seven-Sweep Editing Framework
A structured audit process for existing copy. Run each sweep in order; do not combine them. Finishing one sweep before starting the next forces focused attention and prevents the instinct to fix everything at once.
Table of contents
- How to use this framework
- Sweep 1: clarity
- Sweep 2: voice and tone
- Sweep 3: so what
- Sweep 4: prove it
- Sweep 5: specificity
- Sweep 6: emotion
- Sweep 7: zero risk
- Common copy problems and solutions
- Quick-pass editing checks
---
How to use this framework
1. Work through sweeps in sequence; each one builds on the previous. 2. Flag issues using the inline tags defined in each sweep (e.g. [VAGUE], [NO-PROOF]). 3. Complete all flagging before making fixes. This prevents scope creep mid-sweep. 4. After all seven sweeps, resolve every open flag before publishing.
---
Sweep 1: clarity
Focus: Reader comprehension. The reader should never have to re-read a sentence to understand it.
Check for:
- Confusing sentence structures (nested clauses, passive voice stacking)
- Unclear pronoun references ("it", "they", "this" with ambiguous antecedents)
- Unexplained jargon or acronyms used without introduction
- Ambiguous claims that could be read two ways
- Missing context that the writer assumed the reader has
Flags to insert:
[JARGON]: term that needs definition or replacement[VAGUE]: statement that could mean multiple things
Example fix:
- Before: "It integrates with the tools your team already uses to streamline it."
- After: "The app connects to Slack, Notion, and Google Drive. No new workflows required."
---
Sweep 2: voice and tone
Focus: Consistency. The copy should read as if written by one person with a clear, stable personality.
Watch for:
- Formal/casual shifts within the same section (e.g., "utilise" in one paragraph, "use" in the next)
- Brand personality inconsistencies (playful headline, stiff body copy)
- Tense changes without narrative reason
- Mismatched word register (technical in one sentence, colloquial in the next)
Action: Identify the dominant voice first, then standardise everything to it. Do not average out; pick one and commit.
Common mismatches:
- Marketing page sounds enthusiastic; product description sounds like a manual
- Hero copy uses "you"; about page switches to "our customers"
- Email subject line is punchy; email body is formal and slow
---
Sweep 3: so what
Focus: Every claim must answer "why should the reader care?"
The test: Read each sentence and ask "so what?" aloud. If you cannot answer in one sentence, the copy has not done its job.
Flags to insert:
[DEAD-WEIGHT]: sentence that adds no value for the reader[FEATURE-NOT-BENEFIT]: statement describes what the product does, not what it does for the reader
Examples:
- Feature: "Automatic daily backups." →
[FEATURE-NOT-BENEFIT] - Benefit: "Your data is safe even if your laptop dies tonight."
- Dead weight: "We are committed to excellence in everything we do." →
[DEAD-WEIGHT]
Note: Not every sentence needs to be a direct benefit statement. Supporting sentences (context, transitions, proof) earn their place too, but flag anything that neither informs nor motivates.
---
Sweep 4: prove it
Focus: Back every claim with evidence. Unsubstantiated assertions are the most common trust-killer in copy.
Check for:
- Testimonials from real, named customers
- Case studies with specific outcomes
- Stats, percentages, timeframes, and hard numbers
- Third-party validation (awards, press mentions, certifications, analyst reports)
- Guarantees or risk-reversal offers that demonstrate confidence
Flag: [NO-PROOF] on any claim that makes a strong assertion without support.
Placeholder to insert: [PLACEHOLDER: add proof: stat / testimonial / example]
Examples of claims that need proof:
- "Trusted by thousands of teams worldwide." →
[NO-PROOF]→[PLACEHOLDER: add proof: exact customer count or named logos] - "The fastest solution on the market." →
[NO-PROOF]→[PLACEHOLDER: add proof: benchmark stat or third-party comparison] - "Our customers see results immediately." →
[NO-PROOF]→[PLACEHOLDER: add proof: testimonial with timeframe]
---
Sweep 5: specificity
Focus: Replace vague language with concrete details. Specific copy is more credible, more memorable, and more persuasive.
Check for:
- Vague time claims ("quickly", "fast", "soon")
- Vague quantity claims ("many", "several", "a lot")
- Vague outcome claims ("better results", "improved performance", "saves time")
- Named outcomes without named contexts (who achieves what, under what conditions)
Flag: [VAGUE] on any claim that could be made more concrete.
Transformation examples:
- "Saves time" → "Cuts weekly reporting from 4 hours to 15 minutes"
- "Used by many companies" → "Used by 4,200 teams across 60 countries"
- "Improves team performance" → "Teams close 30% more tickets per sprint after the first month"
- "Easy to set up" → "Most teams are live in under 20 minutes"
- "Affordable pricing" → "Plans start at $12 per user per month"
Note: If the specific number is not yet known, use the [PLACEHOLDER] pattern from Sweep 4 rather than leaving vague language in place.
---
Sweep 6: emotion
Focus: Good copy informs and motivates. This sweep ensures the copy evokes the right feeling alongside the right facts.
Check for:
- Pain points that are named and acknowledged (not just implied)
- Aspirational outcomes that let the reader picture success
- Sensory or visceral language that makes abstract benefits feel real
- Emotional pacing: does the copy move from problem to possibility?
Guidance:
- Do not manufacture emotion. Forced enthusiasm reads as inauthentic.
- Mirror the reader's actual emotional state at the point they encounter this copy.
- Pain acknowledgment often does more work than benefit statements: readers feel understood before they feel sold to.
Questions to ask on each section:
- What is the reader feeling right now, before they read this?
- What do they want to feel after reading it?
- Does this copy bridge those two states?
Signs emotion is missing:
- Copy reads like a product spec sheet
- No moment where the reader thinks "yes, that's exactly my problem"
- Benefits are listed but never made vivid or personal
---
Sweep 7: zero risk
Focus: Remove friction at and near calls to action. The reader should feel that taking the next step costs them nothing.
Check for:
- Objections that have not been addressed before the CTA
- Absence of trust signals (security badges, customer logos, review counts)
- Unclear next steps: what exactly happens when I click?
- Missing risk reversal: free trial, money-back guarantee, no-credit-card-required, cancel-anytime
Flag: [WEAK-CTA] on any CTA that stands alone without a qualifier or supporting trust signal.
Examples:
- Weak: "Sign up now."
- Stronger: "Start free. No credit card required."
- Stronger still: "Start your 14-day free trial. Cancel anytime. No card needed."
CTA qualifier checklist:
- What does the reader get immediately?
- What is the time or money commitment?
- What happens if they change their mind?
- Is the next step described in one plain sentence?
---
Common copy problems and solutions
| Problem | Symptom | Fix |
|---|---|---|
| Wall of features | Features listed with no reader benefit | Add "which means..." bridges after each feature to connect it to an outcome |
| Corporate speak | Words like "leverage", "synergise", "solution-oriented" | Ask: "How would a confident human say this in a conversation?" Rewrite that way |
| Weak opening | Starts with product name or "We are..." | Lead with the reader's problem, not your identity |
| Buried CTA | CTA appears only at the bottom of the page | Make CTA visible in the first screen, and repeat contextually throughout |
| No proof | Pure claims with nothing behind them | Add testimonials, hard numbers, named customer references |
| Generic claims | "Best in class", "industry-leading", "world-class" | Specify: who says so, how it was measured, by how much |
| Mixed audiences | Copy tries to speak to multiple different buyers at once | Pick one primary audience per page or section; create separate paths for others |
| Feature overload | 10 or more features listed with equal weight | Focus on 3 to 5 key benefits; move secondary features to a comparison table or FAQ |
---
Quick-pass editing checks
Apply these at the end of all seven sweeps as a final line-level pass.
Word level
Cut these words on sight; they almost never add meaning:
- "very", "really", "truly", "highly"
- "just", "simply", "easily"
- "actually", "basically", "essentially"
- "things", "stuff", "aspects", "elements"
Test: Remove the word. If the sentence still means the same thing, cut it.
Sentence level
- One idea per sentence.
- Maximum approximately 25 words for web and marketing copy.
- Front-load the key claim: put the most important word or phrase early.
- Avoid opening with "There is", "It is", or "We believe".
Test: Read each sentence aloud. If you run out of breath or lose the thread, split the sentence.
Paragraph level
- One topic per paragraph.
- 2 to 4 sentences for web copy; longer only when depth is genuinely needed.
- The opening sentence of each paragraph should carry the paragraph's main point.
- A reader skimming only the first sentence of each paragraph should understand the full argument.
Test: Read only the first sentence of each paragraph in sequence. Does the story hold together?
Word lists
Table of contents
- Tier 1: always replace
- Tier 2: flag when 2+ appear in the same paragraph
- Tier 3: flag only at high density
---
Tier 1: always replace
These appear 5-20x more often in AI text than in human writing. Replace on sight.
| Word / phrase | Replace with |
|---|---|
| delve / delve into | explore, dig into, look at |
| landscape (metaphor) | field, space, industry, world |
| tapestry | (describe the actual complexity) |
| realm | area, field, domain |
| paradigm | model, approach, framework |
| embark | start, begin |
| beacon | (rewrite entirely) |
| testament to | shows, proves, demonstrates |
| robust | strong, reliable, solid |
| comprehensive | thorough, complete, full |
| cutting-edge | latest, newest, advanced |
| leverage (verb) | use |
| pivotal | important, key, critical |
| underscores | highlights, shows |
| meticulous / meticulously | careful, detailed, precise |
| seamless / seamlessly | smooth, easy, without friction |
| game-changer / game-changing | describe what specifically changed and why |
| utilise | use |
| nestled | is located, sits, is in |
| vibrant | (describe what makes it active, or cut) |
| deep dive / dive into | look at, examine, explore |
| unpack / unpacking | explain, break down, walk through |
| intricate / intricacies | complex, detailed (or name the specific complexity) |
| holistic / holistically | complete, full, whole |
| actionable | practical, useful, concrete |
| impactful | effective, significant (or describe the impact) |
| learnings | lessons, findings, takeaways |
| thought leadership | expertise (or describe the actual contribution) |
| best practices | what works, proven methods |
| synergy / synergies | (describe the actual combined effect) |
| in order to | to |
| due to the fact that | because |
| serve as | is |
| commence | start, begin |
| keen (as intensifier) | interested, eager (or cut) |
---
Tier 2: flag when 2+ appear in the same paragraph
One instance is survivable. Two or more in the same paragraph signals a pattern: flag and suggest replacements.
| Word / phrase | Replace with |
|---|---|
| harness | use, take advantage of |
| navigate / navigating | work through, handle, deal with |
| foster | encourage, support, build |
| elevate | improve, raise, strengthen |
| unleash | release, enable, unlock |
| streamline | simplify, speed up |
| empower | enable, let, allow |
| bolster | support, strengthen |
| spearhead | lead, drive, run |
| resonate / resonates with | connect with, appeal to, matter to |
| revolutionise | change, transform, reshape |
| facilitate | enable, help, allow |
| underpin | support, form the basis of |
| nuanced | specific, subtle, detailed (or name the actual nuance) |
| crucial | important, key, necessary |
| ecosystem (metaphor) | system, community, network, market |
| myriad | many, numerous (or give a number) |
| plethora | many, a lot of (or give a number) |
| catalyse | start, trigger, accelerate |
| transformative | (describe what changed and how) |
| cornerstone | foundation, basis, key part |
| paramount | most important, top priority |
| burgeoning | growing, emerging |
| nascent | new, early-stage, emerging |
| overarching | main, central, broad |
---
Tier 3: flag only at high density
These words are fine in moderation. Flag them only when they appear at roughly 3%+ of the text: that density signals AI-generated filler rather than genuine description.
| Word | Fix |
|---|---|
| significant / significantly | use specifics: numbers, comparisons, examples |
| innovative / innovation | describe what's actually new |
| effective / effectively | say how, or cite a metric |
| dynamic / dynamics | name the actual forces or changes |
| compelling | say why it compels |
| unprecedented | name the precedent it breaks (or cut) |
| exceptional / exceptionally | cite what makes it an exception |
| remarkable / remarkably | say what's worth remarking on |
| sophisticated | describe the sophistication |
| world-class / state-of-the-art | cite a benchmark or comparison |
Related skills
How it compares
Use copywriting for brief-gated short conversion copy and AI-tell sweeps; blog-post and docs-writing skills cover long-form articles and API reference content.
FAQ
What modes does copywriting support?
copywriting auto-detects Mode A for writing new short conversion copy when nothing exists and Mode B for editing pasted copy to remove AI tells. Ambiguous improve-this requests prompt one clarifying question before proceeding.
What reference files does copywriting include?
copywriting bundles six references: frameworks.md with nine frameworks, sweeps.md with seven line-level sweeps, word-lists.md for Tier 1/2/3 AI vocabulary, ai-patterns.md, page-types.md, and ui-states.md for destructive CTAs and error states.