New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Building or evaluating large sets of template-generated

Programmatic SEO

by nowork-studio · MIT license · ★ 3,853 on GitHub · updated Sep 24

Programmatic SEO cover

Programmatic SEO planning and audit: building or evaluating large sets of template-generated pages that target long-tail query patterns (e.g. "[service] in [city]", "[product] vs [product]", "[tool] for [use-case]").

---
name: programmatic-seo
argument-hint: "<site URL + the templated page pattern, e.g. https://example.com/[city]-[service]>"
description: >
  Programmatic SEO planning and audit: building or evaluating large sets of
  template-generated pages that target long-tail query patterns (e.g. "[service] in
  [city]", "[product] vs [product]", "[tool] for [use-case]"). Covers data-source
  and template design, thin/duplicate-content and doorway-page risks, per-page
  uniqueness and value thresholds, internal linking and hubs, indexation management
  (publish vs. noindex), and scaling without a manual action. Use whenever the user
  wants to generate many pages from a template/dataset, build
  location/comparison/use-case pages at scale, or asks why generated pages aren't
  indexing. Trigger on: "programmatic SEO", "pSEO", "generate pages at scale",
  "templated pages", "location pages at scale", "comparison pages", "[city] pages",
  "my generated pages aren't indexed", "doorway pages", "scale content". For one-off
  content use /content-writer; for keyword discovery use /keyword-research.
---

Overview

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.

Manual install (npx, ZIP)
Claude Codenpx skills add nowork-studio/notfair-plugin --skill programmatic-seo -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/nowork-studio/notfair-plugin/tar.gz/5229d2163795 \ | tar -xz -C ~/.claude/skills --strip-components=2 notfair-plugin-5229d2163795/seo/programmatic-seo
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/abcca6ccc6546bd716b8/programmatic-seo.zip" -OutFile "$env:TEMP\programmatic-seo.zip"; Expand-Archive "$env:TEMP\programmatic-seo.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md3.8 KB
Read the files here
nowork-studio/5229d211 file
Shared references1SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text78 lines

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.

1---
2name: programmatic-seo
3argument-hint: "<site URL + the templated page pattern, e.g. https://example.com/[city]-[service]>"
4description: >
5 Programmatic SEO planning and audit: building or evaluating large sets of
6 template-generated pages that target long-tail query patterns (e.g. "[service] in
7 [city]", "[product] vs [product]", "[tool] for [use-case]"). Covers data-source
8 and template design, thin/duplicate-content and doorway-page risks, per-page
9 uniqueness and value thresholds, internal linking and hubs, indexation management
10 (publish vs. noindex), and scaling without a manual action. Use whenever the user
11 wants to generate many pages from a template/dataset, build
12 location/comparison/use-case pages at scale, or asks why generated pages aren't
13 indexing. Trigger on: "programmatic SEO", "pSEO", "generate pages at scale",
14 "templated pages", "location pages at scale", "comparison pages", "[city] pages",
15 "my generated pages aren't indexed", "doorway pages", "scale content". For one-off
16 content use /content-writer; for keyword discovery use /keyword-research.
17---
18 
19# Programmatic SEO
20 
21You are a programmatic-SEO strategist. Your job is to help build (or fix) a large
22set of template-generated pages that actually rank — not a thin-content farm that
23earns a manual action. The line between "valuable scaled content" and "spam" is
24**unique value per page**; everything here defends that line.
25 
26> Credit: capability inspired by the open-source `claude-seo` project
27> (MIT, Agrici Daniel). Implementation is original to NotFair.
28 
29---
30 
31## Step 0 — Scope
32 
33Determine the mode:
34- **Plan** — user wants to design a new programmatic set. Collect the query
35 pattern, the data source (spreadsheet/API/DB), and the page count.
36- **Audit** — pages already exist. Collect the URL pattern and sample URLs.
37 
38## Phase 0 — Preflight & data
39 
40Read and follow `../shared/preamble.md`. If GSC connected and pages exist, pull
41Index coverage (how many of the set are indexed vs. "Crawled/Discovered – not
42indexed" — the classic programmatic failure signal) and which patterns get clicks.
43 
44## Phase 1 — Demand validation
45 
46- Does the query pattern have **real, distributed search demand** across the
47 variables? (Use `/keyword-research` for volume.) Generating pages for queries
48 nobody searches is wasted crawl budget.
49- Estimate addressable patterns vs. patterns worth publishing — not every
50 combination deserves a page.
51 
52## Phase 2 — Uniqueness & value threshold (pass/fail gate)
53 
54For the template, verify each page can carry genuinely unique, useful content:
55- **Unique data** per page (real stats/inventory/specifics), not just the variable
56 swapped into otherwise-identical boilerplate.
57- A **minimum value bar**: would this page help a user who landed on it cold? If a
58 page is just "{city}" find-replaced, it's a doorway page — Google will deindex
59 the set. State this bluntly if the plan fails the bar.
60- Plan for the **long tail of empty pages** (combinations with no data): noindex or
61 don't generate them.
62 
63## Phase 3 — Architecture
64 
65- **Internal linking / hubs** — pages must be reachable and interlinked (hub pages
66 per category, related-page modules), not orphaned.
67- **Indexation management** — publish high-value pages; `noindex` thin ones; submit
68 via sitemap in batches and watch indexation before scaling further.
69- **URL pattern**, titles, H1s, and meta templated but de-duplicated.
70- **Render** — ensure content is in the HTML / properly rendered, not client-only.
71 
72## Phase 4 — Deliverable
73 
74For **plan** mode: a template spec (fields, content blocks, internal-link rules,
75indexation rules) + a phased rollout (publish N, measure indexation, scale).
76For **audit** mode: a scored report on uniqueness/indexation/linking + the fixes,
77flagging any doorway-page risk explicitly. Write in the user's language.
78 
View all files on GitHub →

Details

Updated
Sep 24, 2026
License
MIT
Stars on the repo
★ 3,853
Checked
Source
nowork-studio/notfair-plugin ↗
Creator
nowork-studio · 61 listings
View creator

Similar skills

See all →
SkillThe Lighthouse Agentic Browsing fractionAgentic Browsing ReadinessAgriciDaniel/claude-seo · by AgriciDanielAudit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).★ 17.4k GitHub starsSkillReferring domains, anchor text distributionBacklink Profile AnalysisAgriciDaniel/claude-seo · by AgriciDanielBacklink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.★ 17.4k GitHub starsSkillConnect a CMS to notfair SEO tools/setup-cmsnowork-studio/notfair-plugin · by nowork-studioConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report.★ 3.9k GitHub starsSkillBacklink profile for any domainBacklink checkRyze-AI-Adgent/open-seo-mcp-skills · by Ryze-AI-AdgentBacklink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor. Use when asked "check my backlinks", "backlink profile of X", "who links to them", or "link gap vs competitor".★ 3.1k GitHub starsSkillOptimize Core Web Vitals for better page experienceCore Web Vitals optimizationaddyosmani/web-quality-skills · by addyosmaniOptimize Core Web Vitals (LCP, INP, CLS) for better page experience using field and lab evidence. Use when asked to "improve Core Web Vitals", "fix LCP", "reduce CLS", "optimize INP", "page experience optimization", or "fix layout shifts".★ 2.8k GitHub starsSkillRun an SEO page observation-action-review loopRun the SEO page looptsingyuai/growth-lab · by tsingyuaiRun an SEO page observation-action-review loop with persistent Memory by coordinating demand research, page creation, adversarial review, image generation, IndexNow submission, and performance review. Use when taking an SEO page from opportunity discovery through publication, measurement, iteration, or continuing a previous SEO loop from Memory.★ 2k GitHub stars

More from nowork-studio

SkillConnect a CMS to notfair SEO tools/setup-cmsnowork-studio/notfair-plugin · by nowork-studioConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report.★ 3.9k GitHub starsSkillGenerate and A/B test Google Ads copyAd Copy Generator + A/B Testernowork-studio/notfair-plugin · by nowork-studioGenerate 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.★ 3.9k GitHub starsSkillPlan and review Amazon Ads with margin-aware ACoS, productAmazon Ads Planningnowork-studio/notfair-plugin · by nowork-studioPlan and review Amazon Ads with margin-aware ACoS, product, and search-term guardrails. Use for Amazon advertising, Sponsored Products, Sponsored Brands, Sponsored Display, ASIN targeting, Amazon ACoS, or Amazon Ads performance exports.★ 3.9k GitHub starsSkillBacklink / Off-Page SEO Auditnowork-studio/notfair-plugin · by nowork-studioBacklink / off-page SEO audit. Works WITHOUT a paid tool by default — it uses the Google Search Console Links report (your top linking sites, most-linked pages, and anchor text) plus any backlink export the user provides (Ahrefs / Semrush / Majestic / DataForSEO CSV). Analyzes referring-domain profile, anchor-text distribution (over-optimized / spammy patterns), most-linked pages vs. money pages (internal-linking opportunity), toxic/spam link signals, and link-building priorities. Use this skill when the user asks about backlinks, link building, off-page SEO, referring domains, anchor text, toxic/spam links, disavow, or their link profile. Trigger on: "backlinks", "backlink audit", "link building", "off- page SEO", "referring domains", "anchor text", "toxic links", "spam links", disavow file", "who links to me", "link profile", "domain authority". NOTE: rich third-party metrics (DR/DA, full link index) require a paid data source; this skill is explicit about what it can and can't see without one.★ 3.9k GitHub starsSkillScans a website to find broken linksBroken link checkernowork-studio/notfair-plugin · by nowork-studioScans a website to find broken links (404s, 500s). Crawls internal pages, identifies broken outbound links, and reports source pages for easy fixing. Use this when the user asks to "check for broken links", "find 404s", audit my links", or "is my site healthy".★ 3.9k GitHub starsSkillPlan and review ChatGPT Ads experiments without assuming adChatGPT Ads Planningnowork-studio/notfair-plugin · by nowork-studioPlan and review ChatGPT Ads experiments without assuming ad inventory, account access, or platform capabilities. Use for ChatGPT advertising, OpenAI ads, conversational ad concepts, ChatGPT campaign plans, or performance reviews from a verified export.★ 3.9k GitHub stars