RomeoSEO

Skill 21 / 47 · Content

Comparison page writer

Write "best X", "X vs Y", and "X alternatives" pages that give a straight verdict and stay honest about every option.

Romeo’s rule

If your own product wins every row of the table, readers stop trusting the table, and they're right to.

You need
Products to compare
You get
A finished comparison page in Markdown plus a fact-check sheet with sources and dates.
File
comparison-page-writer/SKILL.md · 266 lines
Works with
Claude Code, Codex, Claude.ai, ChatGPT
License
MIT · free · v3.0.0

Install this skill

Or install all 47
curl -fsSL --create-dirs -o ~/.claude/skills/comparison-page-writer/SKILL.md https://romeoseo.com/skills/comparison-page-writer/SKILL.md

Then ask Claude to “use the comparison-page-writer skill”, or type /comparison-page-writer.

Use it when

  • You've picked a query like "best invoicing software for freelancers", "Notion vs Coda" or "Mailchimp alternatives" and need the page.
  • You sell one of the options and want a page honest enough to rank, get cited in AI answers and still convert.
  • An existing comparison page has old prices, dead products, or misses a new entrant.
  • A competitor raised prices, dropped a free plan or shut down, and people are searching for a way out.

What your agent needs

  • Page type (best-of, vs, alternatives), the target query, and the reader: who is choosing, for what job, on what budget.
  • Whether the author sells, partners with or earns commission from any option.
  • The author's own product facts: plans, prices, limits, and what it doesn't do.
  • A way to read vendor sites: URL fetching, or the user pasting pricing and feature pages or screenshots.
  • For a best-of page: 8 to 12 candidates to cut down to 5 to 8.

No tools? Open each vendor's pricing and feature pages in a browser, copy the exact lines you'll rely on into the fact sheet with the URL and today's date, and take your own screenshots from free plans or trials. If the agent can't fetch pages, ask for pasted text or screenshots; never fill gaps from memory. Read the top five results in a private window to see which format wins. Free review-site pages and a Reddit search are enough for "why people leave".

Not the right skill if…

Give it a first task

Install it. Then say this.

Use the comparison-page-writer skill to write "<best X for Y | X vs Y | X alternatives>". Verify every price and feature on the vendor's own site, give the verdict first, and include honest drawbacks for every option.

Swap the parts in angle brackets for your own. The skill tells the agent to ask for anything else it needs before it starts.

The whole file

Read it before you run it.

Raw file
comparison-page-writer/SKILL.md266 lines · Markdown · MIT
.md
---
name: comparison-page-writer
description: Write honest "best X", "X vs Y" and "X alternatives" pages from research, with the verdict first, stated criteria, real drawbacks for every option, dated and sourced competitor facts, a compact table and a fact-check sheet. Use for "write a comparison page", "best tools for", "alternatives to", "X vs Y".
license: MIT
metadata:
  author: RomeoSEO
  version: "3.0.0"
  homepage: https://romeoseo.com/skills/comparison-page-writer
---

# Comparison page writer

Writes "best X" lists, "X vs Y" pages and "X alternatives" pages from real
research. The page leads with a verdict, says how each option was judged,
gives every option an honest drawback (the author's own product included), and
states competitor prices and features only when they were checked on the
vendor's own site, with a date and a link. It hands back the finished page in
Markdown plus a fact-check sheet an editor can verify line by line.

> **Romeo's rule:** If your own product wins every row of the table, readers
> stop trusting the table, and they're right to.

## Use this when

- You've picked a query like "best invoicing software for freelancers",
  "Notion vs Coda" or "Mailchimp alternatives" and need the page.
- You sell one of the options and want a page honest enough to rank, get
  cited in AI answers and still convert.
- An existing comparison page has old prices, dead products, or misses a
  new entrant.
- A competitor raised prices, dropped a free plan or shut down, and people
  are searching for a way out.

## Don't use this for

- Choosing which comparison queries deserve a page → `seo-opportunity-research`
- How-tos, guides and other articles → `seo-blog-writer`
- Scoring a finished draft before it ships → `seo-content-qa`
- Structured data for the page → `schema-markup`

## What you need

### Required
- Page type (best-of, vs, alternatives), the target query, and the reader:
  who is choosing, for what job, on what budget.
- Whether the author sells, partners with or earns commission from any
  option.
- The author's own product facts: plans, prices, limits, and what it doesn't
  do.
- A way to read vendor sites: URL fetching, or the user pasting pricing and
  feature pages or screenshots.
- For a best-of page: 8 to 12 candidates to cut down to 5 to 8.

### Helpful
- `seo-content-brief` output and notes on the current top results.
- Free or trial accounts for hands-on testing and screenshots.
- Low-star reviews (G2, Capterra, Trustpilot, app stores), Reddit and
  community threads, and sales notes on why customers switched.
- Brand voice, banned phrases, any legal guidance on comparative claims, and
  an existing screenshot library.

### No tools?
Open each vendor's pricing and feature pages in a browser, copy the exact
lines you'll rely on into the fact sheet with the URL and today's date, and
take your own screenshots from free plans or trials. If the agent can't fetch
pages, ask for pasted text or screenshots; never fill gaps from memory. Read
the top five results in a private window to see which format wins. Free
review-site pages and a Reddit search are enough for "why people leave".

## Ground rules

- **Vendor facts from the vendor, or not at all.** Prices, plan limits and
  features come from the vendor's own pricing page, docs or changelog, with
  the URL and "checked on <date>". Review sites, old articles, AI answers and
  memory are not sources for prices. Can't verify it? Leave it out, or write
  "not listed publicly".
- **A real shortlist.** A best-of list has 5 to 8 options. Three is an advert;
  twenty-five is a directory. Include the obvious market leader even when it's
  your strongest competitor; leaving it out tells readers you're hiding
  something.
- **Verdict first.** The first screen says who should pick what: "Pick A if
  you…, B if you…, C if you…". "It depends" is allowed only when followed by
  what it depends on.
- **Criteria before results.** Four to six criteria that matter for this
  reader's job, the same ones for every option, and how each was judged:
  hands-on test, documentation, public pricing, customer reports. Never claim
  testing that didn't happen.
- **Every option gets a drawback a buyer would care about,** yours included.
  "So many features it can feel overwhelming" is not a drawback. "No two-way
  calendar sync on the Starter plan" is.
- **Disclose near the top, in plain words,** when the author sells or earns
  from any option. In the US the FTC treats hidden material connections as
  deceptive, and other markets have similar rules. Place your own product
  where it honestly fits and say what it's best for; it doesn't go first by
  default. Self-promotional lists are now a spam risk too: Google's spam
  policies count "attempting to manipulate generative AI responses in Google
  Search" as spam (check the current wording on
  developers.google.com/search/docs/essentials/spam-policies). For your own
  "best X" pages that means criteria fixed before results, no template that
  ranks you first on every list, no lines written for AI tools rather than
  readers, and the disclosure in the page text where people and quoting
  engines both see it.
- **Fair, lawful claims.** Naming a competitor to identify its product is
  normal. Implying a partnership, endorsement or "official" status is not, and
  neither is using their logo as decoration. No "scam", no unverified security
  or privacy accusations, no "fastest" or "cheapest" without data, no old
  facts presented as current. EU and UK comparative-advertising rules also
  expect claims to be objective and verifiable. In litigious or regulated
  markets, get a legal read; this skill is not legal advice.
- **Alternatives pages start from real reasons people leave,** sourced from
  reviews, forums, support conversations and the vendor's own pricing or
  changelog changes. Each alternative is mapped to the reason it fixes. Don't
  invent pain.
- **Show evidence of use.** Google's guidance on review content asks for
  first-hand evidence, measurements where they matter, benefits and drawbacks,
  comparable options, and reasons for every "best for" pick. At least one
  screenshot per product, of the part the criteria care about, not the
  marketing hero image.
- **Freshness is a feature.** Show "Last updated <date>", change it only when
  facts change, and re-verify every price at least every three months.

## Steps

1. **Confirm the job.** Page type, query, reader, the author's relationship
   to each option, and the conversion (trial, demo, affiliate click).
   - If the author's product isn't a real fit for this query, say so. A forced
     entry costs more trust than the page earns.
2. **Read the current results.** For the top 5 to 10:
   - Format (list, head-to-head, table-led), how many options, and which
     products appear again and again: that's the buyer's consideration set.
   - What they miss: stale prices, no drawbacks, no testing, no verdict.
   - Forum-heavy results (Reddit, community threads) mean readers want lived
     experience; plan for real-use detail.
3. **Build the shortlist.**
   - Best-of: 8 to 12 candidates from repeat appearances, review-site category
     leaders and customer mentions. Cut to 5 to 8 and note why each one was
     cut (discontinued, different category, no public information).
   - Vs: confirm the two products really compete for this reader. If not, say
     which comparison they should be reading instead.
   - Alternatives: 5 to 8 options, each fixing at least one real reason
     people leave.
4. **Set criteria and method before judging.** Criteria in the reader's terms
   ("cost for a 3-person team", "time to send the first invoice"), how each is
   judged, and any weighting with its reason.
5. **Verify facts, product by product,** into the fact-check sheet:
   - Official URL; the plan this reader needs and its price; the cheapest
     paid plan; "free plan" vs "free trial" in the vendor's exact wording.
   - Billing basis: per user or flat, monthly or billed annually, currency,
     tax. Say which toggle you used.
   - The two to four facts each criterion needs, each with source URL and
     date checked.
   - "Contact sales" pricing → "pricing not public (checked <date>)".
     Vendor pages that disagree → use the pricing page and flag the conflict.
6. **Collect evidence of use.** At least one screenshot per product:
   - Prefer your own captures from a real account; caption what it shows and
     the capture date; write alt text that describes the screen.
   - Never edit a screenshot in a way that misrepresents the product.
   - Not tested hands-on? Say how it was judged ("from documentation and the
     free plan").
   - Missing screenshots go in the asset queue; never imply they exist.
7. **Alternatives pages: collect the reasons for leaving.** Filter reviews to
   1 to 3 stars, search community threads, read the vendor's pricing history
   and changelog. Group into three to five reasons, each with a source count
   and an example link. Paraphrase; quote briefly with attribution; never name
   private individuals.
8. **Write the page.**
   - Top: H1 in the query's wording, one line on who it's for, the disclosure
     if any, the verdict block, "Last updated <date>".
   - "How we compared": criteria and method in three to six lines.
   - Compact table: options as rows, four to six columns, prices footnoted
     "checked <date>", "not listed" where unverifiable. No tick-box walls.
   - One section per option: what it is, best for, what's good (specific),
     the main drawback, price with its source link, screenshot, one-line
     verdict.
   - Vs pages: decision scenarios ("a two-person agency billing hourly…"),
     only the features that differ, and switching cost (export, import,
     migration help).
   - Alternatives pages: why people leave X, which option fixes which reason,
     and when staying with X is the right call.
   - FAQ only for real questions from "People also ask" or sales calls; FAQ
     rich results are not a goal (Google retired them in May 2026).
   - Link each product's official site at first mention; affiliate links get
     `rel="sponsored"`. Link your own relevant product and pricing pages.
   - Markup: Article or BlogPosting with author and dates. No Review or
     AggregateRating markup for ratings you didn't collect, and none praising
     your own product (→ `schema-markup`).
9. **Fairness pass.** Read every competitor sentence as their lawyer would:
   true, current, sourced, not misleading by omission. Read your own section
   as a skeptical buyer would: is its drawback real? Check product names,
   spelling and capitalisation.
10. **Set the update cadence.** A next-review date (three months, sooner in
    fast-moving categories) and triggers: a price change, a new entrant, an
    acquisition or shutdown. On update, re-verify every price, keep the URL,
    and change the visible date only if facts changed.

## What to hand back

Return all of this, in this order:

```markdown
**What I found:** <format that wins this query, and the consideration set>
**What matters most:** <the verdict and the criteria that decided it>
**What to do first:** <facts or screenshots still missing before publishing>

## Open issues
1. `Fix now` <unverified or risky claim still in the draft>: <why> (<label>, <confidence>)
2. `Fix next` <missing screenshot, weak drawback, missing source>: <why>
- `Leave it` <something a reviewer may flag that is fine>: <why>

## Page
title: <query wording first, short>
meta_description: <one or two sentences>
slug: <short-slug>
last_updated: <YYYY-MM-DD>

# <H1>
<Disclosure, if any>
<Verdict: Pick A if… / B if… / C if…>
<How we compared>
<Comparison table>
<One section per option, each with screenshot and drawback>
<Decision scenarios, or why people leave X>
<FAQ, only if real questions exist>

## Fact-check sheet
- <Product> | "<claim as written>" | <source URL> | checked <date> | <seen/tool/inferred> | <high/medium/low>

## Asset queue
- <Product>: screenshot of <screen> | alt text: <...> | status: have / needed

## Next review
- <date>; re-check sooner if <triggers>

## What I could not check
- <Claim or product>: <why, and what would verify it>
```

## Stop and flag if

- A best-of query has fewer than five credible options. Suggest a vs page or
  a narrower query instead of padding the list.
- Competitor facts can't be verified (no fetching, nothing pasted). Stop;
  don't write prices or features from memory.
- The user wants their product first everywhere, the market leader left out,
  their own drawback removed, a claim that can't be substantiated, or a batch
  of self-ranking lists made mainly to steer AI answers.
- There's a commercial relationship and disclosure is refused.
- The ask is dozens of near-identical "X alternatives" pages from one
  template. That's `programmatic-seo-plan` territory, and usually a no.
- The category is regulated (finance, health, legal, insurance). Get expert
  and legal review before publishing.
- The output is unacceptable if any price lacks a source and date, any option
  lacks a drawback, any product lacks a screenshot or asset-queue entry, or
  the verdict isn't at the top.

## Next step

- `seo-content-qa` with the page, the brief and the fact-check sheet.
- `internal-linking-plan` to link the page from pricing, product and related
  articles, then `cms-publishing-adapter` to publish.
- `best-of-list-inclusion` to earn a fair place on the third-party "best X"
  lists that rank or get cited for the same query. That's outreach to their
  authors, not pages you write for other sites.

---
Part of the free RomeoSEO skill library: https://romeoseo.com/skills

After this

Where the output goes next.

Install everything with: git clone --depth 1 https://github.com/RomeoSEO/seo-skills.git && bash seo-skills/install.sh

Join the waitlist

We’re opening access in stages. Leave your email and we’ll let you know when Romeo is ready for your site.