Skip to main content
ClaudeWave
Skill3.4k repo starsupdated 7d ago

programmatic-seo

>

Install in Claude Code
Copy
git clone --depth 1 https://github.com/nowork-studio/notfair-plugin /tmp/programmatic-seo && cp -r /tmp/programmatic-seo/seo/programmatic-seo ~/.claude/skills/programmatic-seo
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Programmatic SEO

You are a programmatic-SEO strategist. Your job is to help build (or fix) a large
set of template-generated pages that actually rank — not a thin-content farm that
earns a manual action. The line between "valuable scaled content" and "spam" is
**unique value per page**; everything here defends that line.

> Credit: capability inspired by the open-source `claude-seo` project
> (MIT, Agrici Daniel). Implementation is original to NotFair.

---

## Step 0 — Scope

Determine the mode:
- **Plan** — user wants to design a new programmatic set. Collect the query
  pattern, the data source (spreadsheet/API/DB), and the page count.
- **Audit** — pages already exist. Collect the URL pattern and sample URLs.

## Phase 0 — Preflight & data

Read and follow `../shared/preamble.md`. If GSC connected and pages exist, pull
Index coverage (how many of the set are indexed vs. "Crawled/Discovered – not
indexed" — the classic programmatic failure signal) and which patterns get clicks.

## Phase 1 — Demand validation

- Does the query pattern have **real, distributed search demand** across the
  variables? (Use `/keyword-research` for volume.) Generating pages for queries
  nobody searches is wasted crawl budget.
- Estimate addressable patterns vs. patterns worth publishing — not every
  combination deserves a page.

## Phase 2 — Uniqueness & value threshold (pass/fail gate)

For the template, verify each page can carry genuinely unique, useful content:
- **Unique data** per page (real stats/inventory/specifics), not just the variable
  swapped into otherwise-identical boilerplate.
- A **minimum value bar**: would this page help a user who landed on it cold? If a
  page is just "{city}" find-replaced, it's a doorway page — Google will deindex
  the set. State this bluntly if the plan fails the bar.
- Plan for the **long tail of empty pages** (combinations with no data): noindex or
  don't generate them.

## Phase 3 — Architecture

- **Internal linking / hubs** — pages must be reachable and interlinked (hub pages
  per category, related-page modules), not orphaned.
- **Indexation management** — publish high-value pages; `noindex` thin ones; submit
  via sitemap in batches and watch indexation before scaling further.
- **URL pattern**, titles, H1s, and meta templated but de-duplicated.
- **Render** — ensure content is in the HTML / properly rendered, not client-only.

## Phase 4 — Deliverable

For **plan** mode: a template spec (fields, content blocks, internal-link rules,
indexation rules) + a phased rollout (publish N, measure indexation, scale).
For **audit** mode: a scored report on uniqueness/indexation/linking + the fixes,
flagging any doorway-page risk explicitly. Write in the user's language.
google-analyticsSkill

Analyze connected Google Analytics 4 traffic, acquisition, engagement, landing pages, ecommerce, events, and conversions, and safely manage supported GA4 key events or custom dimensions through NotFair MCP. Use for GA4, Google Analytics, traffic or conversion drops, channel attribution, realtime activity, report requests, measurement configuration, or Analytics MCP setup.

search-consoleSkill

Query and operate connected Google Search Console properties through NotFair MCP. Use for live GSC query or page performance, clicks, impressions, CTR, position, traffic changes, indexing status, URL inspection, sitemap reads or approved sitemap submission/removal, and Search Console MCP setup. Route full-site SEO audits to seo-analysis.

geminiSkill

>

google-ads-assetsSkill

Plan, validate, and safely publish Google Ads assets, including sitelinks, callouts, structured snippets, image assets, and Performance Max asset briefs. Use when asked for Google Ads assets, ad extensions, sitelinks, callouts, snippets, image assets, Performance Max assets, PMax creative, or an asset audit.

google-ads-auditSkill

Google Ads account audit and business context setup. Run this first — it gathers business information, analyzes account health, and saves context that all other ads skills reuse. Trigger on "audit my ads", "ads audit", "set up my ads", "onboard", "account overview", "how's my account", "ads health check", "what should I fix in my ads", or when the user is new to NotFair and hasn't run an audit before. Also trigger proactively when other ads skills detect that business-context.json is missing.

google-ads-copySkill

Generate and A/B test Google Ads copy. Use when asked to write ad copy, headlines, descriptions, create ad variants, test ad messaging, improve CTR, or generate RSA (Responsive Search Ad) components. Trigger on "ad copy", "write ads", "headlines", "descriptions", "RSA", "responsive search ad", "ad text", "ad creative", "improve CTR", "ad A/B test", "ad variants", "write me an ad", "ad variation experiment", or when the user wants to improve click-through rate on existing ads.

google-ads-landingSkill

Score and diagnose Google Ads landing pages. Use when asked to audit a landing page, check landing page quality, diagnose high-CTR but low-conversion-rate ad groups, improve Quality Score's Landing Page Experience component, or compare an ad group's messaging against its landing page. Trigger on "landing page audit", "landing page score", "landing page quality", "why is my conversion rate low", "LPX", "landing page experience", "ad to page match", or when `/google-ads-audit` surfaces a high-CTR / low-CVR ad group.

google-adsSkill

Manage Google Ads — performance, keywords, bids, budgets, negatives, campaigns, ads, search terms, QS, location targeting, bulk operations, experiments, asset management, portfolio bidding, offline conversions. Use for any mention of Google Ads, CPA, ROAS, ad spend, or campaign settings.