pseo-audit
Skill54 starsChanged 15 days agoMITView on GitHub
Audit and assess a codebase for programmatic SEO readiness at 1000+ page scale. Use when starting a pSEO project, evaluating an existing codebase for pSEO gaps, or when the user asks to audit, assess, or review their site for programmatic SEO scalability.
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- karrolcia/hippocampusedited, first seen Mar 2, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- karrolcia/hippocampus★ 1396% same
Wrote their own version · 0
None found.
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.
In this repository17 other files it gives its agents.
- gscSkill
- pseo-dataSkill
- pseo-discoverySkill
- pseo-linkingSkill
- pseo-llm-visibilitySkill
- pseo-metadataSkill
- pseo-orchestrateSkill
- pseo-performanceSkill
- pseo-quality-guardSkill
- pseo-scaleSkill
- pseo-schemaSkill
- pseo-templatesSkill
- seo-content-refreshSkill
- seo-i18nSkill
- seo-log-analysisSkill
- seo-migrationSkill
- seo-regression-guardSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
28 rules. About 0 are common, 24 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈24
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
If pseo-discovery was run first, use its output to focus the audit: check whether the codebase can support the specific page types, data …
- Very specific: line 21
Check for generateStaticParams, getStaticPaths, or equivalent
- Distinctive: line 26
Check for a centralized data-fetching layer vs.
- Distinctive: line 28
Look for a slug/URL generation strategy and whether it enforces uniqueness
- Distinctive: line 33
Check if templates produce unique content per page or rely on the same copy with minor variable swaps
- Distinctive: line 34
Look for catch-all routes that may create orphan or thin pages
- Very specific: line 35
Verify 404 handling for invalid slugs, and for empty or nonsensical combinations (faceted/filter/location combos with no data must return a …
- Distinctive: line 42
Check for dynamic metadata generation (title, description, canonical)
- Distinctive: line 43
Look for Open Graph and Twitter card tags
- Distinctive: line 44
Search for JSON-LD structured data or schema markup
- Distinctive: line 45
Check for a sitemap generator (static or dynamic)
- Distinctive: line 46
Look for robots.txt configuration
- Distinctive: line 47
Verify canonical URLs are set and self-referencing by default
- Distinctive: line 56
Look for breadcrumb components
- Distinctive: line 57
Search for related-pages or hub-spoke linking patterns
- Distinctive: line 58
Check for programmatic cross-linking between pages
- Distinctive: line 63
Check build configuration for page generation limits or timeouts
- Distinctive: line 64
Look for image optimization (next/image, sharp, etc.)
- Distinctive: line 65
Check for code splitting and lazy loading
- Distinctive: line 67
Look for caching headers or ISR/revalidation configuration
- Distinctive: line 71
Look for content length or quality validation
- Distinctive: line 72
Search for duplicate content detection or prevention
- Distinctive: line 73
Check if pages have sufficiently differentiated titles and descriptions
- Very specific: line 74
Check that thin pages are not generated or return 404/410.
- Distinctive: line 75
Look for doorway-shaped page types (city/region combos with only the place swapped, query-variation pages) and for a policy of excluding …
- Distinctive: line 76
Check for a build-time or CI quality check (see pseo-quality-guard)
- Very specific: line 124
If $ARGUMENTS specifies a scope, narrow the audit:
- Distinctive: line 133
Read files and analyze; do NOT modify any code during audit
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
pSEO Codebase Audit
Perform a structured audit of the codebase to assess readiness for programmatic SEO at 1000+ page scale. Produce a concrete gap analysis with actionable findings.
If pseo-discovery was run first, use its output to focus the audit: check whether the codebase can support the specific page types, data models, and URL structures the discovery proposed. If discovery was not run, audit generically.
Audit Procedure
1. Identify the Framework and Architecture
- Detect the framework (Next.js, Astro, Nuxt, Remix, etc.) from config files
- Identify the rendering strategy: SSG, SSR, ISR, or client-side
- Map the routing structure: file-based, dynamic segments, catch-all routes
- Check for
generateStaticParams,getStaticPaths, or equivalent
2. Assess Data Architecture
- Locate data sources: CMS, database, API, local files (JSON, MDX, CSV)
- Check for a centralized data-fetching layer vs. scattered inline fetches
- Evaluate whether data models have the fields needed for SEO (title, description, slug, category, FAQ, etc.)
- Look for a slug/URL generation strategy and whether it enforces uniqueness
3. Evaluate Routing and Page Templates
- Count dynamic route segments and template pages
- Check if templates produce unique content per page or rely on the same copy with minor variable swaps
- Look for catch-all routes that may create orphan or thin pages
- Verify 404 handling for invalid slugs, and for empty or nonsensical combinations (faceted/filter/location combos with no data must return a real 404 at the URL, not a redirect to a generic error page)
- Next.js streaming soft-404 (
notFound()after Suspense returns 200 + noindex): existence check must run before any Suspense fallback. Rules in pseo-templates section 6a - Raw-HTML parity: for a sample URL per template run
curl -s URL | grep -i -E '<h1|<a href'and confirm the H1, main body text and internal<a href>links are in the server HTML, not client-only. Body checks are also covered by seo-regression-guard - URL check: slugs use hyphens, not underscores (Google URL structure doc, 2026-10-23); flag
_in generated URLs
4. Review SEO Foundations
- Check for dynamic metadata generation (title, description, canonical)
- Look for Open Graph and Twitter card tags
- Search for JSON-LD structured data or schema markup
- Check for a sitemap generator (static or dynamic)
- Look for robots.txt configuration
- Verify canonical URLs are set and self-referencing by default
- Metadata placement: Next.js may stream
generateMetadataoutput into<body>for JS-executing bots. Google respects robots meta in the body (2026-03-24) but its canonical docs specify<head>, and the canonical in the original HTML must match the JS canonical. Prefer static oruse cachemetadata so canonical and robots render in the head shell (this is a recommendation, not a Google statement), or sethtmlLimitedBots noindexin the initial HTML: confirm no page shipsnoindexthat JS later removes (Google may skip rendering and never index it). Checkloading.tsx/streaming fallbacks that inject noindex- Googlebot 2MB HTML limit (includes headers) and sitemap rules (lastmod, 50,000 URLs / 50MB, index file): check against pseo-templates section 6b and pseo-linking section 6
- Structured data: flag FAQPage and HowTo generation (FAQ rich results stopped showing 2026-05-07; HowTo removed 2023)
- AI features controls: check
nosnippet,max-snippet,data-nosnippetuse matches intent (they limit use in AI Overviews and AI Mode); robots.txt and CDN do not block Googlebot; note the Search Console "Search generative AI" setting and thatGoogle-Extendeddoes not control AI Overviews or AI Mode.llms.txthas no effect on Google Search
5. Evaluate Internal Linking
- Look for breadcrumb components
- Search for related-pages or hub-spoke linking patterns
- Check for programmatic cross-linking between pages
- Assess whether link structures create topical clusters
6. Assess Performance at Scale
- Check build configuration for page generation limits or timeouts
- Look for image optimization (next/image, sharp, etc.)
- Check for code splitting and lazy loading
- Identify large dependencies that bloat the bundle
- Look for caching headers or ISR/revalidation configuration
7. Check Content Quality Safeguards
- Look for content length or quality validation
- Search for duplicate content detection or prevention
- Check if pages have sufficiently differentiated titles and descriptions
- Check that thin pages are not generated or return 404/410;
noindexonly on utility/share/tool-output pages - Look for doorway-shaped page types (city/region combos with only the place swapped, query-variation pages) and for a policy of excluding low-value pages from Search
- Check for a build-time or CI quality check (see pseo-quality-guard)
Output Format
Structure the audit report as:
## pSEO Audit Report
### Framework & Rendering
- [findings]
### Data Architecture
- [findings]
- Readiness: [Ready | Needs Work | Missing]
### Routing & Templates
- [findings]
- Readiness: [Ready | Needs Work | Missing]
### SEO Foundations
- [findings]
- Readiness: [Ready | Needs Work | Missing]
### Internal Linking
- [findings]
- Readiness: [Ready | Needs Work | Missing]
### Performance at Scale
- [findings]
- Readiness: [Ready | Needs Work | Missing]
### Content Quality Safeguards
- [findings]
- Readiness: [Ready | Needs Work | Missing]
### Priority Actions (ordered)
1. [most critical gap]
2. [next priority]
...
### Recommended Skill Sequence
Based on findings, recommend which pseo-* skills to run and in what order.
If discovery was run, confirm which proposed page types are feasible given codebase state.Scope Parameter
If $ARGUMENTS specifies a scope, narrow the audit:
full(default): Run all sections (1-7)routing: Sections 1, 3 onlydata: Sections 1, 2 onlyseo: Sections 4, 5, 7 onlyperformance: Sections 6 only
Important Constraints
- Read files and analyze; do NOT modify any code during audit
- Be specific: cite file paths and line numbers for every finding
- Flag risks that would surface only at 1000+ pages (build time, memory, URL collisions)
- Distinguish between "not implemented" and "implemented incorrectly"
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

