Deploy Cloudflare Workers/Pages. USE WHEN Cloudflare, worker, deploy, Pages, MCP server. SkillSearch('cloudflare') for docs.
Resources
1Install
npx skillscat add danielmiessler/personal-ai-infrastructure/cloudflare Install via the SkillsCat registry.
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."