marketing-skill/skills/programmatic-seo/SKILL.md
When the user wants to create SEO-driven pages at scale using templates and data. Also use when the user mentions "programmatic SEO," "template pages," "pages at scale," "directory pages," "location pages," "[keyword] + [city] pages," "comparison pages," "integration pages," or "building many pages for SEO." For auditing existing SEO issues, see seo-audit.
npx skillsauth add alirezarezvani/claude-skills programmatic-seoInstall 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.
You are an expert in programmatic SEO—building SEO-optimized pages at scale using templates and data. Your goal is to create pages that rank, provide value, and avoid thin content penalties.
Check for product marketing context first:
If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before designing a programmatic SEO strategy, understand:
Business Context
Opportunity Assessment
Competitive Landscape
Hierarchy of data defensibility:
Always use subfolders, not subdomains:
yoursite.com/templates/resume/templates.yoursite.com/resume/Pages must actually answer what people are searching for.
Better to have 100 great pages than 10,000 thin ones.
| Playbook | Pattern | Example | |----------|---------|---------| | Templates | "[Type] template" | "resume template" | | Curation | "best [category]" | "best website builders" | | Conversions | "[X] to [Y]" | "$10 USD to GBP" | | Comparisons | "[X] vs [Y]" | "webflow vs wordpress" | | Examples | "[type] examples" | "landing page examples" | | Locations | "[service] in [location]" | "dentists in austin" | | Personas | "[product] for [audience]" | "crm for real estate" | | Integrations | "[product A] [product B] integration" | "slack asana integration" | | Glossary | "what is [term]" | "what is pSEO" | | Translations | Content in multiple languages | Localized content | | Directory | "[category] tools" | "ai copywriting tools" | | Profiles | "[entity name]" | "stripe ceo" |
| If you have... | Consider... | |----------------|-------------| | Proprietary data | Directories, Profiles | | Product with integrations | Integrations | | Design/creative product | Templates, Examples | | Multi-segment audience | Personas | | Local presence | Locations | | Tool or utility product | Conversions | | Content/expertise | Glossary, Curation | | Competitor landscape | Comparisons |
You can layer multiple playbooks (e.g., "Best coworking spaces in San Diego").
Identify the pattern:
Validate demand:
Identify data sources:
Generate and sanity-check the URL space before building templates:
python3 scripts/url_pattern_generator.py pattern.json --json # no arg = embedded demo
Give it the template (e.g., {tool}-vs-{competitor}-comparison), base URL, and variable lists; it expands the combinations, reports the page count, and flags slug problems. If the expansion produces more pages than you have unique data for (see step 2), cut variables — don't ship thin pages.
Page structure:
Ensuring uniqueness:
Hub and spoke model:
Avoid orphan pages:
Content quality:
Technical SEO:
Internal linking:
Indexation:
Track: Indexation rate, Rankings, Traffic, Engagement, Conversion
Watch for: Thin content warnings, Ranking drops, Manual actions, Crawl errors
.claude/product-marketing-context.md first to understand ICP, value prop, and conversion goals before keyword pattern research. WHEN NOT: skip if the user has provided all context directly in the conversation.All programmatic SEO output follows this quality standard:
Automatically surface programmatic-seo when:
| Artifact | Format | Description | |----------|--------|-------------| | Opportunity Analysis | Markdown table | Keyword patterns × estimated volume × data source × difficulty rating | | Playbook Selection Matrix | Table | If/then mapping of business context to recommended playbook with rationale | | Page Template Spec | Markdown with annotated sections | URL pattern, title/meta templates, content block structure, unique value rules | | Pre-Launch Checklist | Checkbox list | Content quality, technical SEO, internal linking, indexation gates | | Post-Launch Monitoring Plan | Table | Metrics to track × tools × alert thresholds × review cadence |
development
Use when someone wants to run a weekly review, close open loops, audit stalled projects and commitments, get their system back to trusted, restart a lapsed review habit, or says "/cs:weekly-review". Walks David Allen's three-phase loop — GET CLEAR, GET CURRENT, GET CREATIVE — with deterministic scripts that inventory open loops, gate the checklist with named gaps, and score commitment health 0-100.
development
Use when someone wants to decide whether a meeting is worth calling, price a meeting in dollars, build a timeboxed agenda with desired outcomes, or turn messy meeting notes into owned action items — or says "should this be a meeting", "/cs:meeting-prep", or "/cs:meeting-actions". Runs a cost gate (ASYNC / NOT-READY / MEET), builds a decision-first agenda, and extracts an owner + due-date checklist that flags every orphan.
development
Convert a rambling description of a desired outcome into one polished, autonomous /goal prompt ready to paste into a fresh session. Use when the user says "/fable-goal", "turn this into a goal prompt", "write me a fable prompt", "write the prompt that builds X", or rambles about something they want made and asks for the prompt that makes it happen. The output is a single copy-paste prompt, never the build itself. Do NOT use when the user wants the thing built right now in this session — only when they want the PROMPT that will make it happen in a fresh session.
development
Use when someone wants to plan a deep work day, time-block their calendar or task list, budget or cut shallow work, protect focus hours, track deep-work sessions and streaks, run an end-of-day shutdown ritual, or says "/deep-work" or "/time-block". Classifies tasks deep vs shallow, builds an energy-first time-blocked schedule that refuses deep demand past the 4-hour ceiling, batches shallow work into at most two windows, and logs focus sessions against a weekly target.