Skip to main content

design-programmatic-template

Designs a programmatic content template: variable map, page structure, per-slot SEO rules, and quality filters. Use when building scalable location, product, or data-driven pages.

Quellinformationen

Repository
seohow/seo
Letzte Quellaktivität
2. Juni 2026 um 11:22
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
design-programmatic-template
description
Designs a programmatic content template: variable map, page structure, per-slot SEO rules, and quality filters. Use when building scalable location, product, or data-driven pages.
# Design Programmatic Template This skill produces the template + data spec for a green-lit programmatic build. Output is the handoff document engineering + content + design teams build against. The skill is opinionated about a few things: every page needs substantive unique content per slot (templates that are mostly boilerplate produce thin pages); index-control rules are non-negotiable (publish only when data threshold is met); internal-link orchestration is part of the template (hub-and-spoke + peer linking), not an afterthought; schema is per-template, not per-page. ## When to use this skill - The user has a green-lit programmatic build (from `plan-programmatic-seo`) and is ready to spec the template. - Engineering is ready to build and needs the template + data spec. - Content team is ready to populate and needs the field-by-field spec. - The team is iterating on an existing programmatic template and needs the redesign spec. ## When NOT to use this skill - Programmatic viability hasn't been evaluated — run `plan-programmatic-seo` first. - The user wants to brief a single editorial piece — use `generate-content-brief`. - The user wants the template *code* — that's engineering's job; this produces the spec. - The user wants to design a single pillar / blog post — use `design-pillar-page` / `generate-content-brief`. ## Inputs required 1. **Business context and SEO foundation** — read `businesses/<slug>/business_context.md` and, for SEO-specific work, `businesses/<slug>/seo_foundation.md`. Resolve `<slug>` by listing `businesses/`: if exactly one folder exists, use it; if multiple, ask which business; if none, recommend running `business-context` first. If SEO foundation is missing, recommend running `seo-foundation` before producing output. Critical fields: products/services, customer, and brand voice from `business_context.md`. 2. **Programmatic evaluation** — read `businesses/<slug>/programmatic/<use-case-slug>-evaluation.md` (output of `plan-programmatic-seo`). Required. Confirms the build is green-lit. 3. **Cluster map** — read `businesses/<slug>/clusters/cluster-map.md`. Programmatic pages often anchor to a topic cluster. 4. **Archetype** — confirmed from the evaluation (glossary, comparison, location, listing, "for [persona]"). 5. **Data sample** — strongly preferred. 3-5 example entries with the data the user has available. If unavailable, ask what fields exist; the spec is harder to design without sample data. 6. **Existing schema patterns** — if the brand has an existing schema strategy (per `plan-schema-strategy`), build on it. 7. **CMS / tech stack** — optional but useful. Affects template implementation patterns. If evaluation document or archetype is missing, ask. The template is anchored to a specific approved build. ## Process 1. **Confirm the archetype** and load archetype-specific conventions. - **Glossary:** entry per term; hub at `/[type]/`; sections: definition, mechanism, uses, related entries, related products. - **Comparison:** entry per pair; URL pattern `/compare/[a]-vs-[b]`; sections: side-by-side table, deep-dive per item, recommendation, related comparisons. - **Location:** entry per location; URL pattern `/[service]/[location]`; sections: service description, local context, location-specific data, related locations. - **Listing / database:** index page with filters; entry per item; URL pattern `/[type]/[slug]`. - **For [persona]:** entry per persona; URL pattern `/for/[persona]`; sections: persona description, recommendations, social proof, related personas. 2. **Design the URL pattern.** Lowercase, hyphen-separated, no year stamps, no UTM-style query parameters. URL is the most stable element of the template; design carefully. 3. **Build the page section spec.** What sections does every page have? For each section: required vs. optional, content requirements, length range, data slots, fallback behaviour when data is missing. 4. **Define the data schema.** Field-by-field. For each field: - Name + type (string / number / boolean / array / structured object). - Required or optional. - Validation rules (length, format, allowed values). - Source (own database, manually curated, third-party API). - Maintainer (team / role). 5. **Set index-control rules.** What constitutes "enough data to publish"? Typically: 80%+ of required fields populated, all required fields meeting minimum-content thresholds, no banned-content flags. 6. **Plan schema markup.** Per-template schema: - Glossary entries: Article + DefinedTerm (where supported) + FAQPage. - Comparison pages: Article + ItemList (the comparison) + Product (per item) + FAQPage. - Location pages: LocalBusiness (if appropriate) + Article + FAQPage. - Listing pages: ItemList + Article. 7. **Plan internal linking.** - **Hub:** index page (`/[type]/`) lists all entries. The hub is the highest-equity page; should rank for the head term. - **Spoke (each entry):** links back to hub; links to 3-5 related entries; links to 2-3 related products / cluster posts. - **Peer linking:** entries link to topically-related peers (related ingredients, related comparisons, etc.). - **Cluster-bridge linking:** programmatic entries link to cluster pillar / blog spokes where contextually relevant. 8. **Plan XML sitemap segmentation.** Dedicated sitemap for the programmatic template (e.g. `sitemap-ingredients.xml`). Helps GSC analysis at the cohort level. 9. **Plan analytics.** Page-template-level events. Cohort-level dashboards (all pages in this template) for ranking, traffic, engagement, indexing. 10. **Define acceptance criteria.** Per-page criteria + cohort-level criteria. 11. **Plan Phase 1 production.** First-batch population (30-50 entries). Editorial review. Quality gates before launch. 12. **Plan ongoing operations.** Data maintenance cadence. Quality monitoring (cohort-level). Quarterly reviews. 13. **Write the spec.** Output is a structured Markdown doc covering all of the above. ## Output format ```markdown # Programmatic Template Spec — [Use case] **Use case:** [from evaluation] **Archetype:** [glossary / comparison / location / listing / "for [persona]"] **Phase 1 page count:** [n] **Spec date:** [date] **Engineering owner:** [name / TBD] **Data owner:** [name / role] ## URL pattern - **Index (hub):** `/[type]/` - **Entry:** `/[type]/[slug]` - **Slug rules:** lowercase, hyphen-separated, no special characters, no year stamps. - **Examples:** `/ingredients/zinc-oxide`, `/ingredients/niacinamide`, `/ingredients/hyaluronic-acid`. ## Page section spec ### Section 1 — Hero - **H1:** [pattern, e.g. `What is {{ingredient.name}}?`] - **Subtitle:** [pattern, e.g. `{{ingredient.summary_short}}`] - **Required:** `name`, `summary_short`. - **Length range:** [n words]. - **Fallback:** if data missing, page should be `noindex`ed. ### Section 2 — Mechanism / Definition - **Heading:** [pattern, e.g. `How {{ingredient.name}} works`] - **Body content:** [pattern] - **Required:** `mechanism_explanation` (200-400 words). - **Optional:** `mechanism_diagram_url` (illustration). - **Length range:** [n words]. - **Fallback:** if `mechanism_explanation` is < 150 words, page is below threshold → `noindex`. ### Section 3 — [Section name] - **Heading:** [...] - **Required:** [...] - **Optional:** [...] - ... [Repeat for each section in the template — typically 6-10 sections per page] ### Section N — FAQ - **Heading:** "Frequently asked questions about {{name}}" - **Body:** 3-6 question / answer pairs. - **Required:** at least 3 Q&A pairs. - **Schema:** populates FAQPage schema. ### Section N+1 — Related entries - **Heading:** "Related [archetype]" - **Body:** 3-5 cards linking to related entries (peer linking). - **Required:** at least 3 related entries. - **Selection logic:** rule-based (same category, similar mechanism, etc.) or curated. ### Section N+2 — Related products / blog - **Heading:** "Find this in our products" / "Read more" - **Body:** 2-3 product cards + 1-2 cluster blog links. - **Required:** at least 1 link, but not blocking — leave empty if no good match. ## Data schema | Field | Type | Required | Source | Maintainer | Validation | |-------|------|----------|--------|------------|------------| | `name` | string | ✅ | manual | content | 2-50 chars | | `slug` | string | ✅ | derived | system | lowercase-hyphenated | | `summary_short` | string | ✅ | manual | content | 80-160 chars | | `mechanism_explanation` | text (markdown) | ✅ | manual + dermatologist review | content + reviewer | 150-400 words | | `regulatory_status` | enum | ✅ | manual | content | one of: FDA-approved, EU-approved, multi-region, restricted | | `our_percentage` | number (or null) | optional | own database | product | 0-100, % | | `our_products` | array of product IDs | optional | own database | system (sync) | 0-10 entries | | `tolerance_three_skin_tones` | structured (object) | optional | own testing | product testing | structured fields | | `dermatologist_note` | text | optional + reviewed | dermatologist | reviewer | up to 200 words | | `related_ingredients` | array of slugs | ✅ | manual | content | 3-5 entries | | `faqs` | array of {question, answer} | ✅ | manual | content | 3-6 pairs | | `last_reviewed` | date | ✅ (system) | system | system | ISO-8601 | | `last_reviewed_by` | string | ✅ for credibility-sensitive | manual | reviewer | name + credentials | ## Index-control rules A page **publishes** (status: indexable) only if all of the following are true: - All ✅ required fields are populated. - `mechanism_explanation` is ≥ 150 words. - `faqs` has ≥ 3 Q&A pairs. - `related_ingredients` has ≥ 3 entries. - For credibility-sensitive content: `dermatologist_note` is populated and `last_reviewed_by` is set. If any condition fails: - Page is generated but `noindex,follow` (still findable via internal links, not indexed). - Page is excluded from XML sitemap. - Daily report flags the page for content team to populate / review. ## Schema markup Per-template schema implementation: ### Article - `@type`: "Article" - `headline`: `{{name}}` - `datePublished`: `{{first_published}}` - `dateModified`: `{{last_reviewed}}` - `author`: `{{last_reviewed_by}}` (or default brand author) - `image`: hero image URL - `mainEntityOfPage`: page URL ### FAQPage - Populated from `faqs` array. - One `Question` + `acceptedAnswer` per Q&A. ### DefinedTerm (where supported) - `@type`: "DefinedTerm" - `name`: `{{name}}` - `description`: `{{summary_short}}` ### BreadcrumbList - Home → [Type Index] → [Entry] ### Reference - See [generate-schema-markup](../../technical/generate-schema-markup/SKILL.md) for implementation. ## Internal linking strategy ### Hub linking - `/[type]/` (index) lists all published entries with thumbnail + summary. - Hub is linked from main nav and footer. - Each entry links back to hub in breadcrumb. ### Peer linking - Each entry links to 3-5 related entries (selected by category match + manual curation). - Anchor pattern: entry name + descriptive context. ### Cluster bridging - Each entry links to relevant cluster pillar (where applicable). - Each entry links to 1-2 sibling blog posts in the cluster. - Cluster pillar links to relevant entries in body content. ### Product bridging - Each entry with `our_products` populated displays product cards with link to PDP. - Anchor pattern: product name (not generic "shop now"). ## XML sitemap segmentation - Dedicated sitemap: `sitemap-[type].xml`. - Updated on every entry publish / unpublish. - Submitted to GSC. - Referenced from sitemap index (`sitemap.xml`). ## Analytics instrumentation - **Page-template-level events:** page view, scroll depth, internal-link clicks, product-card clicks, FAQ expand. - **Cohort dashboards:** all pages in the template — average ranking, total traffic, average engagement, indexing rate. - **GSC analysis:** filter by URL prefix `/ingredients/` (or template path) for cohort GSC queries. - **Quality metrics:** % of pages publishing vs. `noindex`ed; % of pages with all required fields; data freshness (last reviewed > 12 months). ## Acceptance criteria ### Per-page - [ ] Page publishes only if index-control rules pass. - [ ] All required fields populated. - [ ] `mechanism_explanation` ≥ 150 words. - [ ] FAQ has ≥ 3 Q&A pairs. - [ ] Related-entries section has ≥ 3 entries. - [ ] Schema (Article + FAQPage + BreadcrumbList) deployed and validates in Rich Results Test. - [ ] Page LCP ≤ 2.5s, INP ≤ 200ms. - [ ] No broken internal links. ### Cohort (Phase 1, 30 pages) - [ ] At least 25 of 30 entries pass index-control and are indexable. - [ ] All 30 entries have dermatologist review for credibility-sensitive fields. - [ ] Hub page (`/[type]/`) is linked from main nav. - [ ] Sitemap `sitemap-[type].xml` is submitted to GSC. - [ ] Cohort dashboard is set up in analytics. - [ ] At month 4 post-launch: average ranking is at position 25 or better; cohort traffic is on track for 12-month target. ## Phase 1 production plan ### Engineering (weeks 1-4) - [ ] Template implementation (HTML / CMS / static-gen). - [ ] Data schema in CMS or database. - [ ] Index-control logic. - [ ] Schema markup.
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen