Install
openclaw skills install @drodecker/clawflarePublish web content to Cloudflare Pages. Supports account/project selection, new project creation, and deploying HTML or static asset directories. Primary auth via Cloudflare API Token.
openclaw skills install @drodecker/clawflareWhat this skill does: Turn natural language requests like "Publish a new landing page for the emergency plumbing promo" or "Deploy the generated site to my client project" into live Cloudflare Pages deployments — reliably and with good agent UX.
It handles the boring but important parts (auth, project selection/clarification, manifest creation, deployment, URL extraction) so you (the agent) can focus on the content and user intent.
When to use this skill:
.pages.dev (or custom) domain.Do NOT use for:
Always clarify before publishing — Never guess the target project or account. Ask the user (or use context) about:
Be reliable and deterministic — Use the provided Python tools. Do not try to construct raw API calls yourself unless the tools fail.
Return clean, structured results — Always surface the live URL prominently. Include deployment ID and status when available.
Progress & transparency — Tell the user what you're doing: "Listing your projects...", "Creating new project 'plumbing-promo-2026'...", "Uploading 12 files via Wrangler...", "Deployment live at https://..."
Safety — For production projects, consider a quick confirmation ("This will update the live site at example.pages.dev — proceed?") unless the user has previously said it's fine.
You have access to these tools (call them via the normal function/tool mechanism):
cf_auth_setup / cf_validate_tokenPages:Write (or equivalent account Pages Edit) permission.cf_list_accountscf_list_projectscf_create_projectname, production_branch (default "main"), optional description..pages.dev subdomain.cf_publishhtml_content: A string of HTML (will be deployed as /index.html)source_dir: Path to a local directory containing pre-built static assetsproject_name (or "new:desired-name"), branch, account_id (optional if only one account)wrangler pages deploy (most robust for directories).url, deployment_id, success, etc.cf_get_deployment_statusSimple HTML publish (most common): User: "Publish this landing page for the new water heater promo" You:
cf_list_projects (or ask which project / new name)cf_publish with the HTML content + target project/branchDirectory / generated site:
After a Content Factory sub-agent produces a folder of assets:
You: "I have a generated static site in /tmp/generated-site-123. Ready to publish?"
→ Call cf_publish with source_dir=/tmp/generated-site-123 + chosen project.
New project flow:
"Create a new project called 'demo-landing' and publish this hero section..."
→ Use cf_create_project then cf_publish.
This skill makes publishing a reliable, first-class capability instead of an ad-hoc API dance. Use it whenever content needs to go live on Cloudflare Pages.