description: Add a page to the site with the shared chrome, register it, regenerate, check argument-hint: <name> "<title>" "<description>" [menu group | unlisted | private] ---
Add the page $ARGUMENTS following .claude/onboarding/05-workflows.md → Add or edit a page.
- Read the markdown twin of a finished page in the same family first for the voice
(
site/abp.mdfor the model,site/work.mdfor process pages, alab-*.mdfor the Lab). - Write the body and the page CSS in the scratchpad; scaffold with
new-page.mjsusingwork.htmlas the donor unless the family has a better one; runadd-licence-chrome.mjs. - Register it in
site/pages.jsonin the group given (orunlisted/private); keep at most 7top-level entries.
generate.mjs,npm run check. - Every claim on the page carries a source and a date. Nothing is scored. No literal hex outside
:root. NoinnerHTML. - A page change ships as a release: do not cut it on the branch; note in
.claude/work/<branch>.mdthat a release is owed at merge.