Skip to content
cccskills
FreePublished on GitHub

prd-v09-alternatives-pages

Generate "X vs Y" and "Alternative to X" SEO/CRO pages targeting competitive search intent during PRD v0.9 Go-to-Market. Triggers on requests to build comparison pages, target competitive search traffic, or when user asks "build alternatives pages", "X vs Y page", "competitor comparison page", "we're better than X page", "capture branded search", "competitive SEO". Outputs SCR-ALT-* page specs and GTM-* channel entries.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md9.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Alternatives Pages (Competitive Comparison SEO/CRO)

Position in workflow: v0.9 AEO Audit → v0.9 Alternatives Pages → v0.9 Launch Metrics

Execution Mode

Default is standard. See .claude/rules/08-skill-execution-modes.md for selection logic.

ModeWhat this skill produces
quick2 pages for the single most-searched competitor (X-vs-us + alternative-to-X)
standard5–10 pages covering top 3–5 competitors with both variant types; CRO copy + comparison table
deepFull competitor portfolio (10+ competitors); plus multi-way comparison ("X vs Y vs Z"); page-level A/B test plan; SEO targeting per page

What This Does

Produces a portfolio of high-intent comparison pages — /x-vs-us and /alternative-to-x — that capture buyers actively searching for competitor names + comparison/alternative keywords. These are the highest-converting acquisition surface for B2B SaaS and many consumer products: the buyer has already passed awareness and is in active evaluation.

The pages must be fair, credible, and conversion-oriented — acknowledging where the competitor wins, claiming where you win, with social proof and a clear "when to pick each" guide. Aggressive trashing fails: buyers fact-check, and one false claim loses the page.

How It Works

  1. Source the competitor list — From the AEO Audit's comparison gaps and v0.2 CFD- competitive landscape. Rank by search volume (use Ahrefs/Semrush/free volume estimators) × buyer-intent strength.
  2. For each competitor, design two pages:
    • /<competitor>-vs-<us> — Symmetric comparison. Buyer is comparing both.
    • /alternative-to-<competitor> — Asymmetric. Buyer is leaving competitor or shopping replacements.
  3. Apply the page template (see Output Template) — Honest comparison table on 5–8 dimensions, "When to pick each" guidance, your unique attributes (from Dunford positioning), social proof, CTA.
  4. Anchor in positioning rules — Each page must respect the BR-POS-* constraints. If positioning says "not for enterprise procurement," the page does not court enterprise buyers.
  5. Plan attribution — Each page gets its own UTM source and a conversion event. Track per-page activation rate to identify dead pages.

Example

Competitor: Mixpanel (mid-search-volume, B2B SaaS analytics).

Page 1: /mixpanel-vs-us

Symmetric comparison table:

DimensionMixpanelUs
Setup time1–2 weeks (data engineering required)15 minutes (autoinstrument)
Analytics depthIndustry-leading (cohorts, retention, funnels)Solid (cohorts, funnels — no formula language)
PricingCustom enterprise; usage-basedFlat tier; predictable
Best-fit team50+ person product orgs1–20 person teams

"Pick Mixpanel if: you have a data team and need advanced funnel/cohort analysis." "Pick us if: you're a small team that needs analytics today, not after a 2-week setup."

CTA: "Start free trial — full setup in under an hour"

Page 2: /alternative-to-mixpanel

Asymmetric, replacement-oriented. Headline: "Looking for a faster Mixpanel alternative?" Same table, plus migration guide ("export your Mixpanel events; we'll set up identical funnels in 1 hour"), plus customer story ("[Customer X] moved off Mixpanel in 2 days — here's how").

What You Get Back

  • SCR-ALT-* page specs — One per page. Includes URL slug, headline, comparison table content, "when to pick each" copy, social proof references, CTA. Hands off to design/dev for build.
  • GTM-* with Type=Channel for each page — The page treated as a channel (Owned layer), with attribution plan
  • Page priority queue — Build order ranked by competitor search volume × conversion potential

When to Use It

TriggerMode
AEO Audit identified comparison gapsstandard
Competitor raised prices / had a public incident (capture displaced buyers)quick (single page, fast)
Quarterly competitive SEO refreshstandard
Launch wave needs additional Owned-channel surfacesstandard
Enterprise / paid-tier buyer educationdeep

Do not use for products in tightly regulated categories where comparison claims have legal exposure (e.g., medical devices, financial advice) without legal review.

Consumes

  • CFD-* competitive alternatives (from v0.2 + v0.3 Moat) — Anchor for honest comparison; CFD- entries should include competitor strengths, not just weaknesses
  • GTM-AEO-* gaps (from v0.9 AEO Audit) — Comparison gaps become page priorities
  • GTM-* positioning + BR-POS-* (from v0.9 Positioning) — Defines "when to pick us" claims; pages must honor BR-POS- constraints
  • CFD-* customer stories (from v0.1–v0.4 + post-launch) — Social proof and migration stories
  • FEA-* feature list — Anchor for "what we have" claims (no vaporware)

Produces

  • SCR-ALT-* page specs (subcategorized SCR- entries for alternatives pages, lives in SoT/SoT.USER_JOURNEYS.md alongside other SCR- entries)
  • GTM-* with Type=Channel for each page (the page-as-channel with attribution plan)
  • CFD-* gaps surfaced — If a competitor strength is unaddressed, log CFD- research-gap

Output Template

SCR-ALT-XXX: Comparison page — [Competitor] vs. Us
Type: ScreenAlternatives
Variant: [vs | alternative-to]
URL slug: /<competitor>-vs-<us> (or /alternative-to-<competitor>)
Owner: [Person / role]
Status: [Draft | Review | Live]

Headline: "[Headline]"
Subhead: "[Subhead]"

Comparison table (5–8 dimensions, honest):
  | Dimension | Competitor | Us |
  | ... | ... | ... |

"Pick competitor if": [Honest acknowledgment]
"Pick us if": [Anchored in BR-POS-* and positioning value claims]

Social proof:
  - CFD-XXX (testimonial or migration story)
  - [Customer logo references]

CTA: [Specific action; matches Offer Construction CTA where possible]

Linked IDs: CFD-XXX (competitor), GTM-YYY (positioning), FEA-ZZZ (feature claims), BR-POS-AAA (constraints)
Linked Channel: GTM-ALT-XXX
GTM-ALT-XXX: Channel — Alternatives page <slug>
Type: Channel
Layer: Owned
Status: Live

Channel: SEO/CRO page at <URL>
Attribution: utm_source=alt-page&utm_medium=organic&utm_campaign=<slug>
KPI target: KPI-AAA (alt-page → trial signup conversion rate)

Linked IDs: SCR-ALT-XXX (page), GTM-YYY (positioning), KPI-AAA

Anti-Patterns

PatternSignalFix
Trash the competitorPage reads like a hit pieceAcknowledge where they win; credibility > short-term clicks
Same page, find/replace competitor name8 pages with identical structureEach page tunes for the specific alternative's buyer profile
Stale comparison dataComparison table is 18 months oldQuarterly refresh; date the page; cite version
Vaporware feature claimsClaiming features that don't shipEvery "we have" claim must trace to FEA-
Ignoring BR-POS-*Page courts buyers positioning says aren't best-fitAdd "this might not be for you if..." section
No "when to pick each"Pure us-favored framingBuyers know it's biased; the "when to pick each" earns trust
No social proofEmpty assertion of superiorityCite CFD- customer stories or migration data

Quality Gates

Before pages go live:

  • Each page traces to one CFD- competitor entry
  • Each page traces to GTM- positioning + at least one BR-POS- constraint
  • "Pick competitor if" section exists on every page (the credibility test)
  • All feature claims trace to shipping FEA-
  • Attribution plan (UTM + KPI- target) per page
  • Date on page; refresh schedule documented
  • (deep mode) A/B test plan documented

Downstream Connections

ConsumerWhat it usesExample
Launch Channels (ORB)Pages = Owned channels; added to mix matrix/x-vs-us → GTM- Owned entry
Launch MetricsPer-page conversion rates roll up to KPI-acquisitionKPI-ALT-conversion-rate
Feedback Loop SetupPage bounce/scroll signals feed CFD-Bounce on a specific section → CFD-gap
AEO Audit (re-run)Pages should resolve comparison gaps; re-test after 4–6 weeksGap closure verification
v1.0 Continuous DiscoveryPage winners suggest positioning sharpeningsHigh-converting page → positioning hypothesis

Detailed References

  • jonathimer's alternatives-pages skill (devmarketing-skills)
  • Corey Haines's competitors and competitor-profiling skills (marketingskills)
  • (No bundled references/ — competitor data lives in CFD-, not here)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Validates gate criteria before PRD lifecycle advancement by delegating to the readiness scoring pipeline (scripts/readiness.py). Returns a graduated PASS / WARN / BLOCK verdict with top blockers and their causal chain. Triggers before advancing from v0.X to v0.Y or explicit `/ghm-gate-check`.

The English summary is being prepared. Showing the original description.

mattgierhart/PRD-driven-context-engineering181Updated Aug 31, 2026

Extracts durable insights from temp/ files to SoT during EPIC Phase E. Triggers at EPIC completion or explicit `/ghm-harvest` invocation. Outputs new SoT entries and archive manifest.

The English summary is being prepared. Showing the original description.

mattgierhart/PRD-driven-context-engineering181Updated Aug 31, 2026

Validates and registers new SoT IDs with cross-reference integrity. Triggers when creating BR-XXX, UJ-XXX, API-XXX, or CFD-XXX entries. Outputs formatted SoT entry with validated cross-references.

The English summary is being prepared. Showing the original description.

mattgierhart/PRD-driven-context-engineering181Updated Aug 31, 2026

Install the PRD-Driven Context Engineering methodology into a fresh OR existing repository — the subscription-native alternative to forking the whole repo. Runs an interactive wizard that seeds the framework (.claude/ hooks, skills, agents, rules, scripts) without clobbering product content. Triggers on "install the methodology", "adopt this into my repo", "self-install", "set up PRD lifecycle here", "onboard existing project". Outputs an installed framework + a verification report.

The English summary is being prepared. Showing the original description.

mattgierhart/PRD-driven-context-engineering181Updated Aug 31, 2026

Creates new Source of Truth (SoT) files when existing templates don't fit your needs. Triggers on requests to create a new SoT file, add a new artifact type, or when user says "I need to track [X] but there's no SoT for it", "create SoT", "new source of truth". Outputs a properly structured SoT.*.md file with ID prefix, frontmatter, and update protocol.

The English summary is being prepared. Showing the original description.

mattgierhart/PRD-driven-context-engineering181Updated Aug 31, 2026

Synchronizes README.md Command Center with current project state. Triggers on gate changes, EPIC status changes, or explicit `/ghm-status-sync` invocation. Outputs updated README.md dashboard with current lifecycle stage, blockers, and metrics.

The English summary is being prepared. Showing the original description.

mattgierhart/PRD-driven-context-engineering181Updated Aug 31, 2026

See all skills by mattgierhart

Report a problem with this skill