Awesome-openclaw-skills cloudflare
Cloudflare CLI - manage DNS records, purge cache, and control Workers routes.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cloudflare" ~/.claude/skills/sundial-org-awesome-openclaw-skills-cloudflare && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/cloudflare" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-cloudflare && rm -rf "$T"
manifest:
skills/cloudflare/SKILL.mdsource content
Cloudflare CLI
Manage Cloudflare DNS, cache, and Workers via the API.
🔑 Required Secrets
| Variable | Description | How to Get |
|---|---|---|
| Scoped API token | Cloudflare → My Profile → API Tokens |
Recommended token permissions:
- DNS:Read, DNS:Edit
- Cache Purge:Purge
- Workers Routes:Edit
⚙️ Setup
Configure in
~/.clawdis/clawdis.json:
{ "skills": { "cloudflare": { "env": { "CLOUDFLARE_API_TOKEN": "your-token" } } } }
📋 Commands
Verify Token
# Test that your token works uv run {baseDir}/scripts/cloudflare.py verify
Zones (Domains)
# List all zones uv run {baseDir}/scripts/cloudflare.py zones # Get zone details uv run {baseDir}/scripts/cloudflare.py zone <zone_id_or_domain>
DNS Records
# List DNS records for a zone uv run {baseDir}/scripts/cloudflare.py dns list <domain> # Add DNS record uv run {baseDir}/scripts/cloudflare.py dns add <domain> --type A --name www --content 1.2.3.4 uv run {baseDir}/scripts/cloudflare.py dns add <domain> --type CNAME --name blog --content example.com # Update DNS record uv run {baseDir}/scripts/cloudflare.py dns update <domain> <record_id> --content 5.6.7.8 # Delete DNS record (asks for confirmation) uv run {baseDir}/scripts/cloudflare.py dns delete <domain> <record_id> # Delete without confirmation uv run {baseDir}/scripts/cloudflare.py dns delete <domain> <record_id> --yes
Cache
# Purge everything uv run {baseDir}/scripts/cloudflare.py cache purge <domain> --all # Purge specific URLs uv run {baseDir}/scripts/cloudflare.py cache purge <domain> --urls "https://example.com/page1,https://example.com/page2" # Purge by prefix uv run {baseDir}/scripts/cloudflare.py cache purge <domain> --prefix "/blog/"
Workers Routes
# List routes uv run {baseDir}/scripts/cloudflare.py routes list <domain> # Add route uv run {baseDir}/scripts/cloudflare.py routes add <domain> --pattern "*.example.com/*" --worker my-worker
📤 Output Formats
All commands support
--json for machine-readable output:
uv run {baseDir}/scripts/cloudflare.py dns list example.com --json
🔗 Common Workflows
Point domain to Vercel
# Add CNAME for apex cloudflare dns add example.com --type CNAME --name @ --content cname.vercel-dns.com --proxied false # Add CNAME for www cloudflare dns add example.com --type CNAME --name www --content cname.vercel-dns.com --proxied false
Clear cache after deploy
cloudflare cache purge example.com --all
📦 Installation
clawdhub install cloudflare