pseo-generator
Build Programmatic SEO 2.0 systems at scale — AI-generated content using strict JSON schemas, niche taxonomy, and React renderers. Use when: (1) creating hundreds or thousands of programmatic pages, (2) building a niche taxonomy for pSEO content, (3) designing JSON schemas for AI-generated content types, (4) separating content generation from UI presentation, (5) generating resource pages, comparison pages, free tools, or checklist pages at scale. NOT for: traditional one-off page writing, keyword research only, or thin AI content that ignores niche context.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/chichoss/p-seoProgrammatic SEO 2.0 — Agent Skill Reference
The core principle: never ask AI to write freeform content. Ask it to fill a strict JSON schema.
Content = JSON data. Design = React components. These two layers never mix.
System Architecture
Niche Taxonomy (309 niches) → AI fills JSON schema → Validated JSON files → React renderers → Published pages
Why schemas beat freeform:
- Consistent structure across all pages
- Predictable output quality
- Pages are validatable and type-safe
- Redesign UI without regenerating content
- Scale to 10,000+ pages without quality degradation
Step 1: Build the Niche Taxonomy
This is the most important investment. Rich niche context is what separates useful pSEO from thin name-swapped filler.
For each niche, define:
{
"slug": "travel",
"name": "Travel",
"context": {
"audience": "Armchair travelers, digital nomads, family vacation planners",
"pain_points": "Seasonal traffic swings, high competition for destination keywords",
"monetization": "Affiliate (booking, gear), display ads, sponsored trips",
"content_that_works": "Itineraries, cost breakdowns, off-the-beaten-path guides",
"subtopics": ["budget travel", "luxury travel", "adventure travel", "solo travel"]
}
}
Start with 20-50 niches, expand to 300+ for scale. This context gets injected into every generation prompt — it's what makes a "travel SEO checklist" different from a "health SEO checklist."
See references/niche-taxonomy.md for the full niche structure and 20 starter niches.
Step 2: Design JSON Schemas per Content Type
Each content type gets its own schema. Constraints are intentional — they force consistent output.
Example: Resource Article Schema
interface ResourceArticle {
meta: {
content_type: string;
niche: string;
};
seo: {
title: string; // templated, NOT AI-generated
description: string;
keywords: string[];
};
content: {
intro: string;
sections: {
heading: string;
items: {
title: string;
description: string;
difficulty?: 'beginner' | 'intermediate' | 'advanced';
potential?: 'high' | 'medium' | 'standard';
}[]; // exactly 15-20 per section
}[];
pro_tips: string[]; // exactly 5
};
}
Hard constraints (exact counts, required fields) prevent 8-item pages next to 40-item pages. See references/schema-library.md for 6 ready-to-use schemas.
Step 3: The 6 Content Categories
| Category | Share | Notes |
|---|---|---|
| Resource pages | ~58% | Idea lists, checklists, calendars, guides, templates — 34 content types × N niches |
| Comparison pages | ~1% | Smallest category — most obvious, least differentiated |
| Free tools | ~15% | Actual working tools with niche-specific examples |
| Checklist pages | ~10% | Interactive, niche-aware |
| Guide pages | ~8% | Long-form, structured |
| Template pages | ~8% | Downloadable/fillable |
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-chichoss-p-seo": {
"enabled": true,
"auto_update": true
}
}
}