This skill plans the site structure for a cogni-website project interactively — discovering available content, proposing pages, mapping content to page sections, and generating website-plan.json. It should be triggered when the user mentions "plan the website", "site structure", "which pages", "website plan", "plan pages", "Seitenstruktur", "Website planen", "Seiten festlegen", "map content to pages", "which pages do I need", "welche Seiten brauche ich", or wants to decide what pages their website should have — even without saying "plan" explicitly. Requires website-project.json.
From cogni-websitenpx claudepluginhub cogni-work/insight-waveThis skill is limited to using the following tools:
references/page-type-registry.mdProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Calculates TAM/SAM/SOM using top-down, bottom-up, and value theory methodologies for market sizing, revenue estimation, and startup validation.
Plan the site structure by discovering available content, proposing pages, and mapping content sources to page templates. Produces website-plan.json — the blueprint that website-build executes.
A website-project.json must exist (created by website-setup). If not found, redirect to the setup skill.
Read website-project.json to get:
Go beyond the counts from setup — read actual content to understand what's available for each page type.
products/*.json — extract names, descriptions, positioning, maturityfeatures/*.json — extract names, IS statements, product mappingpropositions/*.json — extract IS/DOES/MEANS, market mappingsolutions/*.json — extract solution types, pricing tierspackages/*.json — extract bundle tiersmarkets/*.json — extract market names, segmentsoutput/communicate/customer-narrative/*.md — extract titles, marketsoutput/README.md — extract company overview prosecontent/thought-leadership/*.md — extract titles, dates, markets from frontmattercontent/demand-generation/*.md — extract titles, dates, formatscontent/lead-generation/*.md — extract titles, formatsIf sources.trends_project is set in website-project.json:
tips-trend-report.md — extract investment theme titles and executive summarytips-value-model.json — extract solution template names and rankingsinsights page typeIf sources.research_projects is non-empty in website-project.json:
output/report.md or latest output/draft-v*.md)resources page typeBased on discovered content, propose a page list. Apply these rules:
| Page Type | Include When | Always/Conditional |
|---|---|---|
home | Always | Always |
about | Always | Always |
products | ≥2 products | Always (even with 1 product) |
product-detail | Per product | One page per product |
solutions | ≥1 solution | Conditional |
blog-index | Marketing content exists AND include_blog: true | Conditional |
blog-post | Per marketing article | One per article |
case-studies | Customer narratives exist AND include_case_studies: true | Conditional |
insights | Trend report exists AND include_insights: true | Conditional |
resources | Research reports exist AND include_resources: true | Conditional |
custom | User requests ad-hoc pages | Per user request |
contact | Always | Always |
Present the proposed structure as a table:
Vorgeschlagene Seitenstruktur:
| Seite | Typ | Quelle | Inhalt |
|-------|-----|--------|--------|
| Startseite | home | Portfolio-Übersicht | Hero + Wertversprechen + Produkte |
| Über uns | about | portfolio.json | Unternehmensgeschichte + Mission |
| Produkte | products | products/*.json | Produktübersicht (3 Produkte) |
| Cloud Platform | product-detail | cloud-platform.json | Features + Benefits + Preise |
| ... | ... | ... | ... |
| Blog | blog-index | marketing/ | 10 Artikel |
| Insights | insights | tips-trend-report.md | Investitionsthemen + Trends |
| Ressourcen | resources | research reports | Forschungsberichte |
| Kontakt | contact | Konfiguration | Formular + Kontaktdaten |
Gesamt: 14 Seiten
Ask the user to review and modify:
"Stimmt die Seitenstruktur so? Sie können Seiten hinzufügen, entfernen oder umordnen."
Common modifications:
Iterate until the user confirms.
Auto-generate navigation from the confirmed page list:
Header navigation rules:
Footer columns:
Present navigation for approval:
"Navigation: Produkte (mit Dropdown) | Lösungen | Blog | Über uns — CTA: Kontakt aufnehmen"
For each page, determine:
source_files — markdown files to read for prose contentsource_entities — JSON entity files for structured datasections — which template sections to includemeta_description — SEO description (generate from content)Use the page type definitions from ${CLAUDE_PLUGIN_ROOT}/libraries/page-templates.md as reference for section lists.
Write the complete plan following the format in ${CLAUDE_PLUGIN_ROOT}/libraries/EXAMPLE_WEBSITE_PLAN.md.
Key fields per page:
{
"id": "unique-page-id",
"type": "page-type",
"slug": "path/relative/to/output",
"title": "Page Title — Site Title",
"meta_description": "SEO description (max 160 chars)",
"source_files": ["../path/to/content.md"],
"source_entities": { "products": "../path/to/products/*.json" },
"sections": ["hero", "features", "cta"],
"hero_renderer": "pencil"
}
Website-Plan erstellt: website-plan.json
{N} Seiten geplant
{M} Inhaltsquellen zugeordnet
Navigation: {nav_items} Hauptpunkte + {dropdown_children} Dropdown-Einträge
Nächster Schritt: /website-build — Seiten generieren und Website zusammenbauen
Page slugs determine the output file path:
index → output/website/index.htmlpages/produkte → output/website/pages/produkte.htmlpages/produkte/cloud-platform → output/website/pages/produkte/cloud-platform.htmlpages/blog/article-slug → output/website/pages/blog/article-slug.htmlGerman slugs: replace umlauts (ü→ue, ö→oe, ä→ae, ß→ss), lowercase, hyphens.
Consult ${CLAUDE_PLUGIN_ROOT}/libraries/page-templates.md for the HTML section patterns and CSS class reference for each page type. Consult ${CLAUDE_PLUGIN_ROOT}/libraries/EXAMPLE_WEBSITE_PLAN.md for a complete plan example with commentary.
All user-facing text (page titles, meta descriptions, navigation labels, section headlines) in the language from website-project.json. JSON field names remain English.