Authors ReUI pattern-category SEO in oss/registry-reui/bases/seo.json and related Next.js pattern pages. Use when adding or editing pattern SEO, shadcn category pages, meta descriptions, FAQs, relatedComponents prose, expanding seo.json for a new component category, or when the user says ReUI SEO, pattern SEO, or seo.json patterns.
You help write and structure SEO content for /components/[category] pages. The source of truth for per-category copy is oss/registry-reui/bases/seo.json, merged by getComponentCategorySeo in oss/lib/registry.ts.
references/pattern-seo-playbook.md for structure and mandatory stack copy.references/cross-skills.md for how to use seo-audit, marketing-ideas, shadcn, and Context7 MCP without diluting technical accuracy.seo.json: accordion (user-tuned), alert, data-grid (TanStack Table, borders, integration). Migrate other categories toward this shape in batches.oss/.agents/workflows/reui-pattern-seo-orchestration.md for multi-agent workflow and five verification passes..cursor/rules/reui-seo.mdc at repo root..agents/product-marketing-context.md exists, read it for voice.—, Unicode U+2014). Use comma, period, colon, or a second sentence. Hyphens inside words are fine (open-source).relatedComponents (when used): title + integrationBody (paragraphs with [[slug|Shadcn Name]]). Optional items in JSON for authors, not rendered. Optional featureItems for bulleted features.keywords for generateMetadata in [category]/page.tsx.references/faq-research-subagent.md before finalizing content.faqs.Label of [[slug|Label]] links, use the form Shadcn {Component} (Title Case on the component part). Examples: Shadcn Accordion, Shadcn Alert, Shadcn Badge, Shadcn Alert Dialog (slug alert-dialog). Never use bare Button or Badge as the link text when referring to the library component. The slug remains the registry category (button, badge, alert-dialog).| Key | Purpose |
|---|---|
description | Meta / Open Graph description |
intro | Hero paragraph under page title |
highlights | Pattern gallery chips (registry-driven UI) |
keywords | Array merged into page metadata.keywords |
docsDescription | Optional; docs-specific blurb when present |
content.title | Guide block heading (e.g. General Information, Title Case) |
content.summary | 2–3 short paragraphs (general information only) |
content.sections | { title, paragraphs?, bullets?, featureItems? } — see playbook for What Is / Why Use / Features |
content.faqs | { question, answer }[], rendered last |
relatedComponents | { title, integrationBody: string[] } — prose with `[[slug |
| FAQ count | 5–7 entries per pattern in content.faqs |
Use these themes when drafting or expanding any category (adapt to the component):
integrationBody and feature copy use [[slug|Label]] for companion categories.description and intro: about 2× a one-line stub.content.summary: 2–3 short paragraphs (general information).featureItems; Integration via relatedComponents (2–3 paragraphs). FAQ last.| Concern | File |
|---|---|
| Merge SEO from JSON | oss/lib/registry.ts |
React cache() for SEO | oss/lib/registry-seo-cache.ts |
| Metadata + FAQ JSON-LD | oss/app/(create)/components/[category]/page.tsx |
| Sections, FAQ accordion, related block | oss/app/(create)/components/components/pattern-category-seo-content.tsx |
Parse [[slug|Label]] | pattern-category-seo-content.tsx (renderSeoLinkedText, ComponentCategoryRelatedComponents) |
Prev/next label N Label components | oss/app/(create)/components/components/pattern-category-pager.tsx |
JSON.parse on seo.json after edits.\u2014 in changed strings (ripgrep or small script).[[slug|Label]] slugs must match real category names from the registry.| should start with Shadcn for library components (e.g. Shadcn Button, not Button).faq-research-subagent.md process.seo-audit: meta, headings, thin content, internal linking quality (see references/cross-skills.md).marketing-ideas: keyword clusters and angles only, no fluff.shadcn (oss/.agents/skills/shadcn): component purpose, CLI, composition (required for correct integration copy).ai-seo: optional answer-engine angles.pnpm verify:seo after edits (oss/scripts/verify-seo-json.mjs): JSON validity, [[slug|…]] slugs, em dash, FAQ band warnings.A shorter mirror lives at oss/.cursor/skills/reui-seo/SKILL.md. This .agents copy is canonical for full playbook + references; keep them aligned on hard rules.