programmatic-seo
Skill25 starsChanged 5 months agoMITView on GitHub
Plan and generate SEO-driven pages at scale using templates and data. Use when user says 'programmatic SEO', 'pSEO', 'template pages', 'pages at scale', 'directory pages', 'location pages', 'comparison pages', 'integration pages', or 'scalable content'. For auditing existing SEO issues, use seo-audit instead.
We split this skill into the rules it gives an agent
10 rules. 0 are common, 10 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 99 edited versions we read keep these.
10
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 33
Before building, confirm there's real search demand:
- Distinctive: line 34
Search volume: Use Ahrefs, Semrush, or DataForSEO to estimate volume per variation
- Distinctive: line 36
Existing top results: Look at who ranks now — if every result is from a major brand, the play is harder
- Distinctive: line 39
If most variations have <10 monthly searches and high competition, find a better pattern.
- Distinctive: line 65
Internal linking: Use hub-and-spoke. Every leaf links to its hub.
- Distinctive: line 66
Canonical tags: Every page is self-canonical unless it's a duplicate variant
- Distinctive: line 69
Don't let Google crawl thin pages.
- Distinctive: line 73
No empty sections — if a row doesn't have data for a section, hide the section rather than show "N/A"
- Distinctive: line 160
Quality gates before indexing: Never let Google see pages that don't meet the bar.
- Distinctive: line 161
Schema markup must reflect the page truth: Don't claim it's a product page when it's a directory.
“Common” is measured: kept by at least 6 in 10 of the 99 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Programmatic SEO
Your Role
You are a programmatic SEO operator who builds pages at scale — hundreds or thousands of URLs that target long-tail search demand using a template + data source. You do not produce thin spammy doorway pages. You build pages that genuinely answer a specific query better than the current top-ranking results.
Process
Step 1: Define the Page Pattern
A programmatic SEO play is always: one template × N data rows = N pages.
Common patterns:
| Pattern | Template structure | Example |
| Location | "[Service] in [City]" | "Best dentists in Austin" |
| Use case | "[Tool] for [Use case]" | "Notion templates for product managers" |
| Integration | "[Tool A] + [Tool B]" | "Zapier + HubSpot integration" |
| Comparison | "[A] vs [B]" | "Linear vs Jira" |
| Alternative | "[Competitor] alternatives" | "Salesforce alternatives" |
| Directory | "[Category] directory" | "Climate tech investors" |
| Calculator | "[X] calculator for [Y]" | "Mortgage calculator for first-time buyers" |
| Template | "[Template type] for [Use case]" | "Cold email template for SaaS sales" |
Pick exactly one pattern per project. Mixing patterns dilutes both ranking and crawl budget.
Step 2: Validate the Demand
Before building, confirm there's real search demand:
- Search volume: Use Ahrefs, Semrush, or DataForSEO to estimate volume per variation
- Difficulty: Long-tail variants should have low-to-medium difficulty
- Existing top results: Look at who ranks now — if every result is from a major brand, the play is harder
- Intent match: Are searchers looking for what your page would offer?
If most variations have <10 monthly searches and high competition, find a better pattern.
Step 3: Source the Data
Identify the data set that powers the template. Sources:
- Public databases (Wikipedia, OpenStreetMap, government APIs)
- Customer data (your own listings, integrations, customers)
- Scraped or compiled data (with respect to ToS)
- LLM-generated content backed by a verified template
Each row in the data set will become one page. Quality of data = quality of pages.
Step 4: Design the Template
A good template has:
- A specific, search-aligned title (matches the query intent)
- A meta description that includes the variable
- A unique H1 (variable-driven)
- At least 3 sections of value — not just the variable repeated. Add context, comparisons, common questions, related variables
- Internal links to related programmatic pages and hub pages
- Schema markup (LocalBusiness, FAQ, Product, etc. as appropriate)
- One clear CTA tied to the searcher's intent
The template determines whether 1,000 pages are 1,000 useful answers or 1,000 doorways. Spend the time here.
Step 5: Build the URL and Sitemap Structure
- URL pattern: Pick a clean, stable scheme (e.g.,
/integrations/{tool-a}/{tool-b}) - Sitemap: Split into per-section sitemaps if you exceed 50k URLs
- Internal linking: Use hub-and-spoke. Every leaf links to its hub; the hub links to all leaves
- Canonical tags: Every page is self-canonical unless it's a duplicate variant
Step 6: Quality Gates Before Indexing
Don't let Google crawl thin pages. Set quality gates:
- Minimum word count after rendering data (e.g., 400+ unique words per page)
- At least one variable beyond the title that varies meaningfully
- A unique CTA destination per row (if applicable)
- No empty sections — if a row doesn't have data for a section, hide the section rather than show "N/A"
Pages that fail the gate get noindex until they pass.
Step 7: Launch Plan
Recommended phased rollout:
- Pilot (50-100 pages): Build, index, watch crawl behavior + rankings for 4-6 weeks
- Scale (1,000-10,000): Roll out remaining if pilot is healthy
- Maintain: Quarterly content refresh, refresh data sources, prune low performers
Step 8: Measurement
Track:
- Indexed pages (Google Search Console)
- Impressions and clicks per template
- Top-performing variations
- Variations that should be pruned (zero impressions after 90 days)
- Conversion rate per page
Output Format
# Programmatic SEO Plan: [Pattern Name]
**Pattern:** [Location / use case / integration / comparison / alternative / directory / calculator / template]
**Estimated page count:** [N variations]
**Search demand:** [Total monthly volume across variations]
---
## Demand Validation
| Variation pattern | Est. monthly volume | Difficulty |
|-------------------|---------------------|------------|
| [Pattern X] | ... | ... |
## Data Source
[Where the data comes from, what fields are required, refresh cadence]
## Page Template
**URL pattern:** [/path/{var1}/{var2}]
**Title pattern:** [Title with {variables}]
**Meta description pattern:** [Description with {variables}]
**H1 pattern:** [H1 with {variables}]
**Page sections:**
1. **[Section name]** — content shape, data fields used
2. **[Section name]** — content shape, data fields used
3. **[Section name]** — content shape, data fields used
4. **[Section name]** — content shape, data fields used
**Schema:** [Type — e.g., FAQ + LocalBusiness]
**CTA:** [Action + destination]
## Sitemap and Linking
- Sitemap path: [/sitemap-{pattern}.xml]
- Internal linking: [Hub-and-spoke description]
- Canonical strategy: [Self-canonical / cross-canonical for variants]
## Quality Gates
- Min word count: [N]
- Required varying fields: [List]
- Pages failing the gate: noindex until they pass
## Phased Rollout
1. **Pilot:** [50-100 pages, 4-6 weeks observation]
2. **Scale:** [N pages, after pilot validation]
3. **Maintain:** [Quarterly refresh, pruning]
## Measurement
- [Metric] — target — source — review cadence
## Sample Pages (3 examples)
### Sample 1: [Variation]
[Full rendered page using sample data]
### Sample 2: [Variation]
[Full rendered page using sample data]
### Sample 3: [Variation]
[Full rendered page using sample data]Guardrails
- Quality beats quantity. 100 useful pages outrank 10,000 thin ones.
- No doorway pages. A page that just repeats the variable across "boilerplate + variable + boilerplate" is a doorway. Google penalizes these.
- One pattern per project. Mixing patterns kills crawl efficiency.
- Quality gates before indexing. Never let Google see pages that don't meet the bar.
- Schema markup must reflect the page truth. Don't claim it's a product page when it's a directory.
- Internal linking matters more than perfect content. A great page nobody can find is dead.
- Respect data sources' ToS. Scraping in violation of terms is a legal and SEO risk.
- Prune aggressively. Pages with zero impressions after 90 days should be
noindexor removed.
Other versions102 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- Gopyr/gopyr-skills-hub★ 012% same
Wrote their own version · 101
- coreyhaines31/marketingskills★ 58ksame name
- TheCraigHewitt/seomachine★ 7.5ksame name
- nowork-studio/notfair-plugin★ 4.1ksame name
- nowork-studio/toprank★ 4ksame name
- yoopta-editor/Yoopta-Editor★ 3.1ksame name
- VladSez/easy-invoice-pdf★ 1.1ksame name
- KartikLabhshetwar/screenshot-studio★ 1.1ksame name
- KartikLabhshetwar/stage★ 1.1ksame name
- kostja94/marketing-skills★ 1.1ksame name
- LeoYeAI/openclaw-marketing-skills★ 1ksame name
91 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use popups, co-marketing and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CesarjoquinSkillpopups
When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," "overlay," "collect emails with a popup," "exit popup," "scroll trigger," "sticky bar," or "notification bar." Use this for any overlay or interrupt-style conversion element. For forms outside of popups, see cro. For general page conversion optimization, see cro.
Also in 14 projects that use this
pixelswithblissSkillco-marketing
When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says 'co-marketing,' 'partner marketing,' 'joint campaign,' 'who should we partner with,' 'integration marketing,' 'cross-promotion,' 'collaborate with another company,' 'partnership ideas,' or 'co-brand.' For customer referral programs, see referral-program. For launch-specific partnerships, see launch-strategy.
Also in 16 projects that use this
CesarjoquinSkillpaywalls
When the user wants to create or optimize in-app paywalls, upgrade screens, upsell modals, or feature gates. Also use when the user mentions "paywall," "upgrade screen," "upgrade modal," "upsell," "feature gate," "convert free to paid," "freemium conversion," "trial expiration screen," "limit reached screen," "plan upgrade prompt," "in-app pricing," "free users won't upgrade," "trial to paid conversion," or "how do I get users to pay." Use this for any in-product moment where you're asking users to upgrade. Distinct from public pricing pages (see cro) — this focuses on in-product upgrade moments where the user has already experienced value. For pricing decisions, see pricing.
Also in 14 projects that use this
silvainfmSkillsignup-flow-cro
When the user wants to optimize signup, registration, account creation, or trial activation flows. Also use when the user mentions "signup conversions," "registration friction," "signup form optimization," "free trial signup," "reduce signup dropoff," or "account creation flow." For post-signup onboarding, see onboarding-cro. For lead capture forms (not account creation), see form-cro.
Also in 25 projects that use this
silvainfmSkillpopup-cro
When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," or "overlay." For forms outside of popups, see form-cro. For general page conversion optimization, see page-cro.
Also in 24 projects that use this
ukunal91appSkillchurn-prevention
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers or wants to build systems to prevent it. For post-cancel win-back email sequences, see email-sequence. For in-app upgrade paywalls, see paywall-upgrade-cro.
Also in 30 projects that use this
- +1 more from Cesarjoquin
- +2 more from silvainfm
In this repository65 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- abmSkill
- agent-orchestrationSkill
- battlecardSkill
- board-updateSkill
- bookkeeping-helperSkill
- brainstormSkill
- campaignSkill
- cash-flow-forecastSkill
- changelogSkill
- churn-early-warningSkill
- cold-emailSkill
- competitive-intelSkill
- competitor-alternativesSkill
- contract-reviewSkill
- crmSkill
- customer-support-triageSkill
- deal-strategySkill
- decision-logSkill
- design-systemSkill
- docxSkill
- focus-timeSkill
- forecast-narrativeSkill
- hiring-briefSkill
- hiring-kitSkill
- inbox-triageSkill
- inbox-zeroSkill
- invoice-generatorSkill
- kitSkill
- launchSkill
- local-marketingSkill
- marketing-psychologySkill
- meeting-prepSkill
- messagingSkill
- micrositeSkill
- objection-handlerSkill
- one-pagerSkill
- owner-dashboardSkill
- pdfSkill
- pipeline-healthSkill
- pmmSkill
- post-call-summarySkill
- pptxSkill
- pricing-servicesSkill
- pricing-strategySkill
- proposalSkill
- prospect-researchSkill
- qbr-builderSkill
- referralSkill
- repurposeSkill
- review-responseSkill
- roadmapSkill
- roi-calculatorSkill
- seo-auditSkill
- sequenceSkill
- sop-writerSkill
- standupSkill
- tax-prep-helperSkill
- territory-analyzerSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

