borghei/competitor-alternatives
> Create competitor comparison and alternative pages for SEO and sales enablement. Use when building alternative pages, vs pages, or competitor-vs-competitor pages, planning comparison content, or managing competitor data.
npx skills add https://github.com/borghei/Claude-Skills --skill competitor-alternatives
Production-grade framework for creating competitor comparison and alternative pages. Covers 4 page formats, centralized competitor data architecture, deep research methodology, SEO optimization, content templates, and ongoing maintenance strategy. Designed for both SEO traffic capture and sales enablement.
| Trigger | Action |
|---------|--------|
| Prospects comparing you to competitors | Create vs-pages for top 3 competitors |
| Search volume exists for "[competitor] alternative" | Create singular alternative pages |
| Sales team needs battle card content | Create vs-pages with objection handling |
| Competitor has comparison pages about you | Create counter-comparison pages |
| SEO gap on competitor-branded keywords | Build full alternative page set |
Before writing the comparison content, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the page.
Intent: User is actively looking to switch FROM a specific competitor.
URL: /alternatives/[competitor] or /[competitor]-alternative
Keywords: "[Competitor] alternative", "alternative to [Competitor]", "switch from [Competitor]"
Page Structure:
1. Why people look for alternatives (validate their pain, 2-3 paragraphs)
2. TL;DR: You as the alternative (quick positioning, 3-4 bullets)
3. Detailed comparison (features, pricing, support -- paragraph format, not just tables)
4. Who should switch (and who should NOT -- be honest)
5. Migration path (what transfers, what needs reconfiguration)
6. Testimonials from customers who switched
7. CTA: Start free trial or request demo
Intent: User is researching options broadly, earlier in the buying journey.
URL: /alternatives/[competitor]-alternatives or /best-[competitor]-alternatives
Keywords: "[Competitor] alternatives", "best [Competitor] alternatives", "tools like [Competitor]"
Page Structure:
1. Why people look for alternatives (common pain points, 2-3 paragraphs)
2. What to look for in an alternative (evaluation criteria framework)
3. List of 5-7 alternatives (you first, but include real options)
4. Summary comparison table
5. Detailed breakdown of each alternative (150-200 words each)
6. Recommendation by use case ("Best for [X]: [Tool]")
7. CTA
Important: Include 5-7 REAL alternatives. Being genuinely helpful ranks better and builds trust.
Intent: User is directly comparing you to a specific competitor.
URL: /vs/[competitor] or /compare/[you]-vs-[competitor]
Keywords: "[You] vs [Competitor]", "[Competitor] vs [You]"
Page Structure:
1. TL;DR summary (key differences in 2-3 sentences)
2. At-a-glance comparison table (8-12 dimensions)
3. Detailed comparison by category (paragraph format per category):
- Features
- Pricing
- Ease of use / UX
- Support and documentation
- Integrations
- Security and compliance
4. Who [You] is best for (3-4 bullets)
5. Who [Competitor] is best for (3-4 bullets -- be honest)
6. What customers say (testimonials from switchers)
7. Migration support
8. CTA
Intent: User is comparing two competitors (neither is you directly).
URL: /compare/[competitor-a]-vs-[competitor-b]
Page Structure:
1. Overview of both products (neutral, factual)
2. Comparison by category (same categories as Format 3)
3. Who each is best for
4. "Consider a third option" (introduce yourself naturally)
5. Three-way comparison table (both competitors + you)
6. CTA
Why this works: Captures competitor-branded search traffic, positions you as a knowledgeable authority, and introduces you to buyers who might not have considered you.
Create a single data file per competitor that feeds all comparison pages.
Competitor Data Structure:
Competitor: [Name]
Last Verified: [Date]
Website: [URL]
Positioning:
- Tagline: [Their tagline]
- Target audience: [Who they target]
- Primary differentiator: [What they claim is unique]
Pricing:
- Free tier: [Yes/No, details]
- Entry price: [$X/mo]
- Mid-tier price: [$X/mo]
- Enterprise: [Custom / $X/mo]
- Billing: [Monthly, Annual, Both]
- Trial: [Length, CC required?]
Features:
- [Category 1]: [Rating 1-5, notes]
- [Category 2]: [Rating 1-5, notes]
- [Category 3]: [Rating 1-5, notes]
Strengths:
- [Strength 1 with evidence]
- [Strength 2 with evidence]
Weaknesses:
- [Weakness 1 with evidence source]
- [Weakness 2 with evidence source]
Best For: [Description of ideal customer]
Not Ideal For: [Description of poor fit]
Common Complaints (from reviews):
- [Complaint 1] (source: G2/Capterra/etc.)
- [Complaint 2]
- [Complaint 3]
Migration Notes:
- Data export: [Available? Format?]
- API migration: [Available?]
- Switching time: [Estimated]
For each competitor:
| Frequency | What to Verify |
|-----------|---------------|
| Monthly | Pricing (check for changes) |
| Quarterly | Feature set, major product updates |
| When notified | Customer reports competitor change |
| Annually | Full refresh of all competitor data |
Every comparison page starts with a 2-3 sentence summary for scanners. This is the most-read section.
Template: "[Your product] is the better choice if you need [differentiator 1] and [differentiator 2]. [Competitor] is better if [their strength]. The biggest differences are [difference 1] and [difference 2]."
For each comparison dimension, write a paragraph explaining:
Tables complement paragraphs. They do not replace them.
Include:
Be explicit about ideal customer for each option:
| Product | Best For | Not Ideal For |
|---------|----------|---------------|
| Your product | [Specific persona/use case] | [Honest admission of limitations] |
| Competitor | [Specific persona/use case] | [Their documented weaknesses] |
| Element | Content |
|---------|---------|
| What transfers | Data, settings, integrations that migrate |
| What needs reconfiguration | What must be set up fresh |
| Support offered | Migration assistance, documentation |
| Estimated time | "Most teams migrate in [timeframe]" |
| Customer quote | Quote from someone who switched |
| Format | Primary Keywords | Secondary Keywords |
|--------|-----------------|-------------------|
| Singular alternative | "[Competitor] alternative" | "switch from [Competitor]", "replace [Competitor]" |
| Plural alternatives | "[Competitor] alternatives" | "best [Competitor] alternatives", "tools like [Competitor]" |
| Vs page | "[You] vs [Competitor]" | "[Competitor] vs [You]", "[You] or [Competitor]" |
| Competitor vs competitor | "[A] vs [B]" | "[B] vs [A]", "[A] or [B]" |
/compare/ or /alternatives/ linking to all comparison content| Trigger | Action | Priority |
|---------|--------|----------|
| Competitor changes pricing | Update pricing comparison on all affected pages | High |
| Competitor launches major feature | Update feature comparison + add "Recent Changes" note | High |
| Your product launches feature that closes a gap | Update comparison to reflect new advantage | High |
| New customer switching testimonial | Add to relevant comparison pages | Medium |
| Quarterly review cycle | Verify all data points, refresh screenshots | Medium |
| Artifact | Format | Description |
|----------|--------|-------------|
| Competitor Data File | Structured data per competitor | Centralized competitor profile for all pages |
| Page Set Plan | Prioritized list | Which pages to build first, with target keywords and estimated search volume |
| Alternative Page (Singular) | Full page copy | Complete page with all sections |
| Vs Page | Full page copy | Comparison page with table and narrative sections |
| Alternatives Page (Plural) | Full page copy | Multi-competitor roundup page |
| Migration Guide | Reusable content block | Migration copy for inclusion across pages |
| Hub Page | Linked index | Central page linking to all comparison content |
Purpose: Generate a prioritized comparison page plan from competitor data with keyword targets and estimated search volume.
python scripts/comparison_page_planner.py competitors.json
python scripts/comparison_page_planner.py competitors.json --json
| Flag | Required | Description |
|------|----------|-------------|
| competitors.json | Yes | JSON file with competitor names and search volume estimates |
| --json | No | Output results as JSON |
| --brand | No | Your brand name for URL slug generation (default: "your-product") |
Purpose: Track and manage centralized competitor data files with staleness detection and update reminders.
python scripts/competitor_data_tracker.py competitor_profiles/
python scripts/competitor_data_tracker.py competitor_profiles/ --json
python scripts/competitor_data_tracker.py competitor_profiles/ --stale-days 60
| Flag | Required | Description |
|------|----------|-------------|
| competitor_profiles/ | Yes | Directory containing competitor profile JSON files |
| --json | No | Output results as JSON |
| --stale-days | No | Number of days before data is considered stale (default: 90) |
Purpose: Score existing comparison page content against quality and SEO best practices.
python scripts/comparison_content_scorer.py page_content.json
python scripts/comparison_content_scorer.py page_content.json --json
| Flag | Required | Description |
|------|----------|-------------|
| page_content.json | Yes | JSON file with comparison page content and metadata |
| --json | No | Output results as JSON |
| Problem | Likely Cause | Solution |
|---------|-------------|----------|
| Comparison pages not ranking for target keywords | Thin content or poor on-page SEO | Add 1500+ words of paragraph content (not just tables); ensure H1 matches primary keyword; add FAQ with schema markup |
| Pages rank but do not convert | Missing CTA or weak value proposition | Add CTA after every major section; include migration section and risk reversal (free trial, no CC); use comparison_content_scorer.py to audit |
| Competitor data becomes outdated quickly | No update process in place | Use competitor_data_tracker.py with --stale-days 30 for pricing, 90 for features; assign ownership for monthly checks |
| Sales team does not use comparison content | Pages are too marketing-focused | Create sales-specific versions with objection handling, landmine questions, and talk tracks; test with 3 reps before publishing |
| Legal pushback on competitor claims | Unverifiable or aggressive claims | Cite public sources for every claim; use "as of [date]" qualifiers; acknowledge competitor strengths honestly |
| Too many competitors to cover | Trying to create pages for every competitor | Prioritize using comparison_page_planner.py; start with top 3-5 competitors by search volume and deal frequency |
Take borghei/competitor-alternatives from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.