.agents/workflows/reui-pattern-seo-orchestration.md
Use this workflow when revising oss/registry-reui/bases/seo.json for many categories, aligned with the accordion reference and oss/.agents/skills/reui-seo.
| Role | Responsibility |
|---|---|
| Main planner | Chooses batch order (by traffic, component complexity, or alphabetical), defines acceptance criteria per category, assigns special cases (e.g. data-grid + TanStack Table). Assigns FAQ Research Sub-Agent before Writer when FAQs are new or replaced. |
| FAQ Research Sub-Agent | Runs first per category (or per batch). Investigates real user questions via Google (SERP, People Also Ask, related searches), Stack Overflow, Quora (secondary), plus component API / features from shadcn docs and oss/.agents/skills/shadcn. Delivers 5–7 ranked FAQ candidates with evidence lines for the Writer. See oss/.agents/skills/reui-seo/references/faq-research-subagent.md. |
| Sub-agent (writer) | Rewrites one category at a time: description, intro, keywords, content (title, summary, What Is / Why Use / Features), faqs (from Research handoff only), relatedComponents when needed. Follows reui-seo + shadcn skill. Uses Context7 MCP for upstream docs when a claim needs verification (Radix, TanStack Table, React). Does not invent generic FAQs. |
| Reviewer | Runs verification passes below, rejects until passes succeed or documents exceptions. Fails batches that still contain obvious template FAQs unrelated to the component API. |
seo.json → accordion (user-maintained template).oss/.agents/skills/reui-seo/ (SKILL + references/pattern-seo-playbook.md).oss/.agents/skills/shadcn/SKILL.md + rules/*.md for composition, forms, Base vs Radix.oss/lib/seo.ts → isCanonicalComponentDoc slugs (where /docs/components/base/... links resolve).oss/registry-reui/bases/registry.json → valid category name slugs for [[slug|Shadcn Label]].seo-audit skill for SERP/meta/heading checks; marketing-ideas for keyword clusters and positioning language (not for fluff).references/faq-research-subagent.md: mandatory process for FAQ Research Sub-Agent before Writer fills content.faqs.content.title: Descriptive H2-style title (see accordion: Shadcn Accordion: Build Interactive Collapsible Sections) or General Information pattern.summary: 2–3 paragraphs: stack (WAI-ARIA, Base UI, Radix UI, Shadcn Create / style panel above patterns), React + Tailwind + CLI where relevant, then product context.featureItems bullets: include WAI-ARIA, customization, Base/Radix compatibility, Shadcn styles / customizer CTA).relatedComponents (recommended for main primitives): Integrating With Other Components + integrationBody with valid [[slug|Shadcn Name]] only.faqs: 5–7 items, each question must be research-backed and component-specific (see FAQ Research Sub-Agent). No generic “why FAQs exist” copy unless uniquely justified.Repeat up to 5 rounds per batch: fix findings, re-run until clean or capped. Pass 6 (FAQ relevance) may trigger extra rounds focused only on content.faqs.
| Pass | Checks |
|---|---|
| 1. Mechanical | node oss/scripts/verify-seo-json.mjs (JSON, link slugs, Shadcn label prefix warnings, em dash count, FAQ count band). |
| 2. Links | Every `[[slug |
| 3. Technical | Claims match shadcn skill + Context7 (e.g. data-grid + TanStack, dialog requires title, forms use Field). No invented APIs. |
| 4. SEO / marketing | Unique description/intro; keywords specific to the component; no duplicate boilerplate across unrelated categories (seo-audit themes). |
| 5. Integration copy | Related components named in prose are real pairings (Alert + Button, Data grid + Pagination, etc.). |
| 6. FAQ relevance | Each faq.question sounds like a real user or search query for this component. Reject generic template questions (e.g. “Why include FAQs on pattern pages?”) unless rewritten to be component-specific. Confirm answers match API / behavior from shadcn skill + docs. Spot-check that Research Sub-Agent evidence could exist for each question. |
data-grid: Mention TanStack Table (React) for headless table logic, column defs, sorting/filtering; borders and density via Tailwind + shadcn tokens; keyboard and WAI-ARIA for grid semantics where applicable.data-grid, alert, … per seo.ts): internal links to those slugs go to /docs/components/base/{slug} automatically.verify-seo-json.mjs on whole file.oss/scripts/verify-seo-json.mjsoss/.agents/skills/reui-seo/references/faq-research-subagent.md.cursor/rules/reui-seo.mdc