skills/blog/comparison-post-writer/SKILL.md
Write "X vs Y" comparison blog posts that help readers choose between two competing products. Triggers on: "write a comparison post", "X vs Y blog post", "compare [product A] and [product B]", "which is better [A] or [B]", "head to head comparison", "[product] vs [product] article", "comparison review", "write a versus article", "side by side comparison blog", "which should I choose [A] or [B]", "compare these two products for my blog".
npx skillsauth add affitor/affiliate-skills comparison-post-writerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Write high-converting "X vs Y" comparison blog posts that rank on Google and help readers make a confident buying decision. Each post includes a feature comparison table, individual product breakdowns, pros and cons, a clear winner recommendation, and affiliate CTAs placed at maximum-intent moments.
Parse the user's request for product names. You need a minimum of 2 and a maximum of 3 products.
If only 1 product is provided:
web_search to find the top 1-2 competitors"[product name] alternatives" OR "[product name] vs" site:g2.com OR site:capterra.com OR site:trustradius.comIf 3+ products are provided:
Affiliate priority: The user's affiliate product goes first (featured position). If both products have affiliate links, feature the higher-commission one in the "winner" slot unless the product genuinely loses on quality.
For each product, use web_search to gather:
"[product A] vs [product B]" — check if autocomplete shows this is a real querySearch queries to run per product:
"[product name] review [year]""[product name] pricing""[product name] pros cons"Determine the 6-10 comparison dimensions that matter most for this product category. These should be:
Example dimensions by category:
Assign a winner per dimension based on research. Mark ties where genuine.
Choose one of three angles based on what the data shows:
| Angle | When to use | Headline formula | |---|---|---| | Clear winner | One product is genuinely better for most users | "[A] vs [B]: [A] Wins for Most, But [B] Is Better If..." | | It depends | Products serve different audiences | "[A] vs [B]: Which Is Right for You? (Honest Comparison)" | | Upset | Lesser-known product beats the market leader | "[A] vs [B]: Why [Lesser-Known] Is Actually Better in [Year]" |
Default to "clear winner" — readers want a recommendation, not a non-answer.
Write the full comparison post following this exact structure:
1. FTC Disclosure (3 lines, above the fold)
Read shared/references/ftc-compliance.md and use the medium format. Insert immediately after the title.
2. Introduction (150-250 words)
3. Quick Verdict Box (immediately after intro) A scannable summary for readers who won't read the full article:
**Quick Verdict**
- Best overall: [Product A] — [one-line reason]
- Best for [use case]: [Product B] — [one-line reason]
- Best for budget: [Product X]
- Skip if: [edge case where neither works]
4. Product Overviews (200-300 words each) One H2 section per product:
[Try [Product] free →](affiliate_url)5. Feature Comparison Table A full markdown table with all comparison dimensions:
| Feature | [Product A] | [Product B] |
|---|---|---|
| [Dimension 1] | ✅ Yes | ❌ No |
| [Dimension 2] | ⭐ Better | Good |
| Price | $X/mo | $Y/mo |
Use ✅ / ❌ / ⚠️ (partial) for binary features. Use descriptive text for nuanced ones. Bold the winner per row.
6. Deep-Dive Sections (one H2 per key dimension, 3-4 total) Pick the 3-4 dimensions that drive 80% of buying decisions. For each:
7. Pricing Breakdown
8. Pros and Cons Two H3 sections (one per product), each with 4-6 bullet points per list.
9. Who Should Choose Each Product Two H3 sections with bullet lists:
10. The Verdict (200-300 words)
**Get started with [Product A] →**(affiliate_url)11. FAQ Section (5-7 questions) Address the real questions people type into Google:
Produce output in three parts:
Part 1: SEO Metadata
---
SEO METADATA
---
Title: [title]
Slug: [product-a]-vs-[product-b]
Meta Description: [150-160 chars comparing both products with clear angle]
Target Keyword: [product-a] vs [product-b]
Secondary Keywords: [product-a] review, [product-b] alternatives, best [category] tool, [product-a] pricing
Word Count: [actual]
Format: comparison
Winner: [product name]
---
Part 2: Full Article Complete markdown ready to paste into any blog platform.
Part 3: Supplementary Data FAQ schema questions, image suggestions (comparison screenshots), products featured with affiliate URLs, next steps.
product_a: # REQUIRED — the primary affiliate product
name: string
description: string
reward_value: string # e.g., "30% recurring"
url: string # Affiliate link
reward_type: string # "recurring" | "one-time" | "tiered"
cookie_days: number
tags: string[]
product_b: # REQUIRED — the product to compare against
name: string
url: string # Affiliate link if available, otherwise homepage
description: string # Optional — will research if missing
product_c: # OPTIONAL — third product for 3-way comparison
name: string
url: string
description: string
target_keyword: string # OPTIONAL — default: "[product_a] vs [product_b]"
tone: string # OPTIONAL — "conversational" | "technical" | "professional"
# Default: "conversational"
angle: string # OPTIONAL — "clear-winner" | "it-depends" | "upset"
# Default: auto-detected from research
Before presenting output, verify:
If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.
output_schema_version: "1.0.0" # Semver — bump major on breaking changes
article:
title: string
slug: string # e.g., "heygen-vs-synthesia"
meta_description: string
target_keyword: string
format: "comparison"
content: string # Full markdown article
word_count: number
winner: string # Name of the recommended product
comparison:
dimensions: string[] # The features compared
dimension_winners: # Who won each dimension
- dimension: string
winner: string # "product_a" | "product_b" | "tie"
products_featured:
- name: string
url: string
role: string # "primary" | "compared"
reward_value: string
seo:
secondary_keywords: string[]
faq_questions:
- question: string
answer: string
image_suggestions:
- description: string
alt_text: string
Present as three sections:
Target word count: 2,500-3,500 words. Longer for complex SaaS tools with many features.
Example 1: Two affiliate products User: "Write a comparison post: HeyGen vs Synthesia" Action: product_a=HeyGen (affiliate), product_b=Synthesia (affiliate), research both, detect angle=clear-winner (or it-depends based on data), write 3,000-word comparison targeting "heygen vs synthesia".
Example 2: Chained from S1 User: "Compare it with its top competitor" Context: S1 returned HeyGen as recommended_program Action: product_a=HeyGen from S1 output, web_search for top competitor, write comparison.
Example 3: Three-way comparison User: "HeyGen vs Synthesia vs Colossyan comparison post" Action: Three-way comparison, determine winner + runners-up, write 3,500-4,000 word article with side-by-side table.
Example 4: Underdog angle User: "Compare Ahrefs vs Ubersuggest — I'm promoting Ubersuggest" Action: product_a=Ubersuggest (affiliate), product_b=Ahrefs, angle=upset (lesser-known vs market leader), frame Ubersuggest as the budget-friendly winner for specific use cases.
shared/references/ftc-compliance.md — FTC disclosure text. Read in Step 5.shared/references/affitor-branding.md — Do NOT add Affitor branding to blog body. Only applies to landing pages.shared/references/affiliate-glossary.md — Terminology reference.shared/references/flywheel-connections.md — master flywheel connection maplanding-page-creator (S4) — comparison data feeds comparison landing pagescontent-pillar-atomizer (S2) — comparison article as pillar to atomizeinternal-linking-optimizer (S6) — new comparison needs internal linksaffiliate-program-search (S1) — recommended_program as primary productkeyword-cluster-architect (S3) — commercial intent clusters for comparison topicscompetitor-spy (S1) — competitor product dataseo-audit (S6) tracks comparison article rankings → identify which comparison angles rank bestBefore delivering output, verify:
Any NO → rewrite before delivering.
chain_metadata:
skill_slug: "comparison-post-writer"
stage: "blog"
timestamp: string
suggested_next:
- "landing-page-creator"
- "content-pillar-atomizer"
- "internal-linking-optimizer"
development
Scan social platforms for top-performing content by engagement before you create anything. Use this skill when the user wants to see what content is winning in a niche, find viral content patterns, research what's working on YouTube/TikTok/X/Reddit, benchmark engagement, discover content gaps, or says "what content is working for [topic]", "show me top performing content about [keyword]", "what's trending in [niche]", "find viral content about [product]", "content research for [keyword]", "what gets views in [niche]", "engagement analysis for [topic]", "scout the competition", "what videos are getting the most views about [keyword]", "social listening for [topic]", "trending content in [niche]", "top content analysis", "what hooks work for [keyword]", "content intelligence", "find winning formats".
development
Analyze website traffic, global rank, engagement metrics, and traffic sources for any domain. Use this skill to evaluate affiliate program websites, compare competitor traffic, assess advertiser strength, or understand where an audience comes from. Triggers on: "analyze traffic for [domain]", "how much traffic does [site] get", "compare traffic between [site A] and [site B]", "is [program] worth promoting based on traffic", "traffic analysis", "website analytics for [domain]", "where does [site] get traffic", "check if [advertiser] is legit", "evaluate [program] website health", "SimilarWeb analysis", "traffic sources for [domain]", "how popular is [site]", "website rank", "domain authority check", "compare affiliate program websites".
development
Rank content angles by engagement data, competition level, and platform fit. Data-driven angle selection instead of guesswork. Use this skill when the user has a keyword or product and needs to decide WHAT to create, which angle to take, which format to use, or which platform to target. Triggers on: "what angle should I use", "rank content ideas for [keyword]", "best angle for [product]", "which content idea will perform best", "help me pick an angle", "what should I write about", "content angle for [topic]", "rank my content ideas", "which approach will get the most views", "data-driven content planning", "angle ranker", "content scoring", "which hook should I use", "compare these content ideas", "prioritize my content angles", "what video should I make".
tools
Generate branded infographic specifications from any content or data. Outputs structured layout, copy, data visualization, and color scheme — ready to render as HTML/CSS, Satori, Canva, or any design tool. Use this skill when the user wants an infographic, data visual, social media image, comparison chart, stat card, or says "create an infographic for [content]", "make a visual for my LinkedIn post", "design an image for [topic]", "stat graphic for [data]", "comparison infographic", "branded image", "social media graphic", "infographic for [blog post]", "data visualization", "visual content", "image for my post", "LinkedIn carousel image", "feature comparison chart", "pricing table image".