Install
openclaw skills install @hollaugo/website-managerCreate, recreate, redesign, publish, and operate websites managed from Notion, including blogs, CMS-driven sections, widgets, filtering/search interactions, SEO/AEO/GEO improvements, and lightweight deployment workflows. Use when a user wants one skill that can both build and manage a website over time, with OpenClaw-friendly automation but no hard dependency on OpenClaw-specific tooling.
openclaw skills install @hollaugo/website-managerUse this skill when the user wants one workflow that covers both website creation and ongoing website management.
This skill is for:
Keep the output portable. The site should not become locked to one host or one agent platform unless the user explicitly asks for that.
Core website planning, content modeling, blueprint generation, and validation do not require secrets.
Automated Notion CMS creation and sync do require:
NOTION_ACCESS_TOKEN or NOTION_TOKENNOTION_PARENT_PAGE_ID for the shared parent page where the CMS will be createdAutomated Netlify deploys do require:
NETLIFY_AUTH_TOKENNETLIFY_SITE_ID when deploying to an existing siteCredential rule:
NOTION_ACCESS_TOKEN as the canonical variable name and treat NOTION_TOKEN as a compatible fallbackNETLIFY_SITE_ID is missing, the deploy helper may create a new Netlify site automatically and persist the returned non-secret site identifiersThe helper scripts may write non-secret runtime metadata to local JSON files.
Default locations:
.website-manager/notion.json.website-manager/deploy.jsonStorage rule:
Read as needed:
references/default-stack.md first for the opinionated baseline this skill should assumereferences/site-types/*.md for visual direction and default token choices; use generic.md as the fallback when no specialized type clearly fitsreferences/seo-aeo-geo.md for metadata, schema, FAQ, and local SEO rulesreferences/widgets-and-interactions.md for widgets, filtering, search, pagination, and collection UXreferences/notion-cms-model.md for the Notion database structurereferences/deployment-shapes.md for site architecture choicesreferences/hosting-decision.md when choosing where and how to deployreferences/openclaw-automation.md when recurring upkeep is needed in OpenClawUse the helper scripts when useful:
scripts/generate_blueprint.py to generate the default site/CMS/publish blueprintscripts/create_notion_cms.py to create the default Notion CMS under a shared parent pagescripts/netlify_zip_deploy.py to deploy a finished site to Netlify with the opinionated zip workflowUse this skill when the user asks to:
Unless the user explicitly says otherwise, assume this stack:
If the user is vague, do not ask them to choose among many architectures. Start from the default stack and only deviate when the site clearly needs it.
Start by identifying:
If rebuilding an existing site:
sitemap.xml firstcore, blog, collection, embed, utility, external, or skipDefault implementation:
Use a lightweight static generator or templating layer when there are:
Avoid unnecessary framework weight when the user mainly needs:
If there is no strong reason to do otherwise, keep:
Define one shared system before generating pages:
Do not redesign each page from scratch.
Generate in this order:
404Use widgets only when they help the user complete a real task.
Examples:
When building listings, always account for:
Default listing behavior:
Use Notion as the editorial source of truth when the user wants a CMS without a custom admin panel.
Typical Notion databases:
Default database names:
PagesCollectionsBlog PostsSite SettingsKeep code responsible for layout and rendering. Keep Notion responsible for content and configuration.
Use rebuild mode for:
Use live CMS-backed mode for:
Every page should have:
Service and editorial pages should include:
Run:
python3 scripts/validate_links.py ./site-output original-domain.com
python3 scripts/validate_links.py ./site-output original-domain.com --fix
The site is not complete until it passes with zero errors.
Default hosting recommendation:
Optional:
Default deploy workflow:
Good recurring jobs:
If OpenClaw is available, prefer native cron jobs. If not, use another scheduler without changing the content workflow.
Return: