Cloudflare
Customization
Before executing, check for user customizations at:
~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/Cloudflare/
If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
π¨ MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
You MUST send this notification BEFORE doing anything else when this skill is invoked.
-
Send voice notification:
curl -s -X POST http://localhost:8888/notify \ -H "Content-Type: application/json" \ -d '{"message": "Running the WORKFLOWNAME workflow in the Cloudflare skill to ACTION"}' \ > /dev/null 2>&1 & -
Output text notification:
Running the **WorkflowName** workflow in the **Cloudflare** skill to ACTION...
This is not optional. Execute this curl command immediately upon skill invocation.
Cloudflare Skill
Deploy and manage Cloudflare Workers, MCP servers, and Pages.
Workflow Routing
When executing a workflow, output this notification directly:
Running the **WorkflowName** workflow in the **Cloudflare** skill to ACTION...
- Create MCP server or Worker β
Workflows/Create.md - Troubleshoot deployment issues β
Workflows/Troubleshoot.md
Quick Reference
- Account ID: Set via
CF_ACCOUNT_IDenvironment variable - Worker URL format:
https://[worker-name].[your-subdomain].workers.dev
Deployment Commands
Workers Deployment
# Unset tokens that interfere with wrangler login-based auth
(unset CF_API_TOKEN && unset CLOUDFLARE_API_TOKEN && wrangler deploy)
Pages Deployment
π¨ CRITICAL: ALL env tokens lack Pages permissions. MUST unset them to use OAuth:
# ALWAYS unset tokens for Pages - OAuth login works, tokens don't
(unset CF_API_TOKEN && unset CLOUDFLARE_API_TOKEN && npx wrangler pages deploy dist --project-name=PROJECT_NAME --commit-dirty=true)
Known Pages Projects:
| Project | Directory | Deploy Command |
|---|---|---|
| [project] | ~/Projects/[project] |
(unset CF_API_TOKEN && unset CLOUDFLARE_API_TOKEN && npx wrangler pages deploy dist --project-name=[project] --commit-dirty=true) |
Critical Notes
- Workers: Unset
CF_API_TOKENandCLOUDFLARE_API_TOKENbefore deploying - they interfere with wrangler login-based auth - Pages: π¨ UNSET ALL TOKENS - None of the API tokens have Pages permissions. OAuth-based wrangler login is the ONLY method that works.
Examples
Example 1: Deploy a Worker
User: "deploy the MCP server to Cloudflare"
β Invokes CREATE workflow
β Unsets env tokens, runs wrangler deploy
β "Deployed to https://mcp-server.[subdomain].workers.dev"
Example 2: Deploy Pages site
User: "deploy my-app to Cloudflare"
β Builds dist/, unsets tokens
β Runs wrangler pages deploy
β "Deployed my-app to Cloudflare Pages"
Example 3: Fix deployment error
User: "Cloudflare deploy is failing with auth error"
β Invokes TROUBLESHOOT workflow
β Identifies token interference
β "Fixed - tokens were overriding OAuth. Redeployed successfully."