web-pagelisted
Install: claude install-skill TOMK-CMD/ITERUS-WEB
# web-page — add or rework a page (cs + en)
A page is done only when both locales exist, search engines and LLMs can read it, it is
reachable from navigation and sitemap, and CI proves it renders and is accessible.
## Inputs to collect first
1. Purpose in one sentence (what question does the page answer, for whom).
2. Content source: `docs/CONTENT-MAP.md` (keyword/answer plan) if the page is listed there; otherwise
ask Tomas for a brief (goal, key facts from `content/facts.json`, CTA).
3. Page type → JSON-LD type (see `docs/CONTENT-GUIDE.md` § Schema map).
## Workflow
1. **Spec**: if the page is not covered by an approved spec, write `specs/NNNN-page-<slug>.md`
from `specs/_template.md` and get approval.
2. **Slugs**: cs slug and en slug (e.g. `/sluzby` ↔ `/en/services`). Register the pair in the
i18n routing config (pathnames map) so `Link` and hreflang stay consistent.
3. **Content** in `content/cs/<slug>.mdx` and `content/en/<slug>.mdx`, same structure, same
frontmatter keys (`title`, `description`, `updated`, `type`). Follow answer-first: the first
paragraph answers the page's question. Keep the mandatory footer line out of MDX — the layout
renders it.
4. **Route**: `apps/web/src/app/[locale]/(site)/<segment>/page.tsx` with
`generateMetadata` (title ≤ 60 chars, description 120–155 chars, `alternates.languages`
incl. `x-default` → cs, canonical), OG image via the OG route.
5. **JSON-LD** component for the page type; validate with `pnpm check:sche