| name | dns |
| description | Cloudflare DNS and infrastructure management. Manage DNS records, tunnels,
Access policies, SSL certificates, and CDN caching.
|
| examples | ["/dns list","/dns add staging.project.com A 1.2.3.4","/dns purge project.com","/dns ssl-status","/dns tunnel status"] |
DNS & Cloudflare Skill
Manage Cloudflare DNS, tunnels, Access, and CDN configuration.
Usage
/dns
/dns list
/dns add <subdomain> <type> <value>
/dns update <subdomain> <type> <value>
/dns delete <subdomain> <type>
/dns ssl-status
/dns purge [path]
/dns tunnel status
/dns access list
DNS Management
List Records
wrangler dns list ${DOMAIN}
curl -X GET "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records" \
-H "Authorization: Bearer ${CF_API_TOKEN}" \
-H "Content-Type: application/json"
Add/Update Records
wrangler dns create ${DOMAIN} A staging --content ${IP} --proxied
wrangler dns create ${DOMAIN} CNAME api --content ${TARGET} --proxied
wrangler dns update ${DOMAIN} A staging --content ${NEW_IP}
Delete Records
wrangler dns delete ${DOMAIN} A staging
SSL Certificate Management
echo | openssl s_client -servername ${DOMAIN} -connect ${DOMAIN}:443 2>/dev/null | \
openssl x509 -noout -dates
Cloudflare Tunnel
cloudflared tunnel list
cloudflared tunnel create ${TUNNEL_NAME}
cloudflared tunnel route dns ${TUNNEL_NAME} ${SUBDOMAIN}.${DOMAIN}
ssh ${USER}@${HOST} "sudo systemctl status cloudflared"
ssh ${USER}@${HOST} "sudo journalctl -u cloudflared -n 50"
Cloudflare Access (Zero-Trust)
wrangler access list-apps
Cache Management
wrangler purge https://${DOMAIN}/api/v1/users
wrangler purge --everything --zone ${ZONE_ID}
wrangler purge --tags "static-assets"
Common Tasks
Setup New Subdomain
wrangler dns create ${DOMAIN} A ${SUBDOMAIN} --content ${VPS_IP} --proxied
ssh ${USER}@${HOST} << 'EOF'
cat > /etc/nginx/sites-available/${SUBDOMAIN}.conf << 'NGINX'
server {
listen 443 ssl;
server_name ${SUBDOMAIN}.${DOMAIN};
location / {
proxy_pass http://localhost:${PORT};
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
NGINX
ln -sf /etc/nginx/sites-available/${SUBDOMAIN}.conf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
EOF
curl -I https://${SUBDOMAIN}.${DOMAIN}
Add Zero-Trust Protection
Project Domain Lookup
Domains are defined in deployments.registry.json:
{
"projects": {
"tribevibe": {
"environments": {
"production": { "domain": "tribevibe.events" },
"staging": { "domain": "staging.tribevibe.events" }
}
}
}
}
Safety
- NEVER delete production DNS records without backup plan
- ALWAYS verify DNS changes propagate (use dig or nslookup)
- Be aware of DNS propagation delays (up to 48h, usually minutes)
- Cloudflare proxy provides DDoS protection - don't bypass unnecessarily