bundled-skills/seo-competitor-pages/SKILL.md
Generate SEO-optimized competitor comparison and alternatives pages. Covers "X vs Y" layouts, "alternatives to X" pages, feature matrices, schema markup, and conversion optimization. Use when user says "comparison page", "vs page", "alternatives page", "competitor comparison", or "X vs Y".
npx skillsauth add FrancoStino/opencode-skills-antigravity seo-competitor-pagesInstall 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.
Create high-converting comparison and alternatives pages that target competitive intent keywords with accurate, structured content.
X vs Y comparison pages or alternatives pages.[Product A] vs [Product B][Product] alternatives, best alternatives to [Product]best [category] tools [year], top [category] software[category] comparison, [category] comparison chart| Feature | Your Product | Competitor A | Competitor B |
|------------------|:------------:|:------------:|:------------:|
| Feature 1 | ✅ | ✅ | ❌ |
| Feature 2 | ✅ | ⚠️ Partial | ✅ |
| Feature 3 | ✅ | ❌ | ❌ |
| Pricing (from) | $X/mo | $Y/mo | $Z/mo |
| Free Tier | ✅ | ❌ | ✅ |
{
"@context": "https://schema.org",
"@type": "Product",
"name": "[Product Name]",
"description": "[Product Description]",
"brand": {
"@type": "Brand",
"name": "[Brand Name]"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "[Rating]",
"reviewCount": "[Count]",
"bestRating": "5",
"worstRating": "1"
}
}
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "[Software Name]",
"applicationCategory": "[Category]",
"operatingSystem": "[OS]",
"offers": {
"@type": "Offer",
"price": "[Price]",
"priceCurrency": "USD"
}
}
{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "Best [Category] Tools [Year]",
"itemListOrder": "https://schema.org/ItemListOrderDescending",
"numberOfItems": "[Count]",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "[Product Name]",
"url": "[Product URL]"
}
]
}
| Pattern | Example | Search Volume Signal |
|---------|---------|---------------------|
| [A] vs [B] | "Slack vs Teams" | High |
| [A] alternative | "Figma alternatives" | High |
| [A] alternatives [year] | "Notion alternatives 2026" | High |
| best [category] tools | "best project management tools" | High |
| [A] vs [B] for [use case] | "AWS vs Azure for startups" | Medium |
| [A] review [year] | "Monday.com review 2026" | Medium |
| [A] vs [B] pricing | "HubSpot vs Salesforce pricing" | Medium |
| is [A] better than [B] | "is Notion better than Confluence" | Medium |
[A] vs [B]: [Key Differentiator] ([Year])[N] Best [A] Alternatives in [Year] (Free & Paid)[N] Best [Category] Tools in [Year], Compared & RankedCOMPARISON-PAGE.md: Ready-to-implement page structure with sectionscomparison-schema.json: Product/SoftwareApplication/ItemList JSON-LD| Scenario | Action | |----------|--------| | Competitor URL unreachable | Report which competitor URLs failed. Proceed with available data and note gaps in the comparison. | | Insufficient competitor data (pricing, features unavailable) | Flag missing data points clearly. Use "Not publicly available" in comparison tables rather than guessing. | | No product/service overlap found | Report that the products serve different markets. Suggest alternative competitors that share feature overlap, or pivot to a category roundup format. |
research
Skill for academic research workflows: search Semantic Scholar (200M+ papers), inspect citations, download arXiv PDFs, and extract PDF text. Bundles a self-contained Python CLI.
development
Turns vague prompts into 8 structured planning files for brand new projects. DO NOT use on existing codebases.
development
Maps code, architecture, and infrastructure changes to specific control IDs in PCI-DSS v4.0 and MAS TRM (Singapore financial regulator), producing an audit-traceable findings report with per-control remediation.
testing
Companion to atlas-contract. Auto-invoked by its Final Audit on caught drift; also use after Post Reviews or user requests to record a mistake. Distills drift into WHEN/DON'T/INSTEAD clauses, writes to Atlas.md after confirmation.