dns-cloudflare
Skill2 starsChanged 2 months agoMITView on GitHub
Operate Cloudflare DNS records and zone settings from the Cloudflare dashboard or API — add/edit/delete DNS records (A, AAAA, CNAME, TXT, MX), manage proxy status (orange cloud), check TTL and propagation, verify zone/name server status, and issue zone-scoped API tokens with least privilege. Use whenever a task involves Cloudflare DNS, domain verification TXT records, or checking whether a record is live. Contains critical gotchas: proxied records hide the origin IP, CNAME at zone apex is not allowed, and API tokens must be scoped per zone, never account-wide.
In this repository6 other files it gives its agents.
- AGENTS.mdAGENTS.md
- diagnose-crashSkill
- dsa-codebase-auditSkill
- email-best-practicesSkill
- resend-cliSkill
- resendSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Verify zone status and name server assignment
- Distinctive: line 22
Create zone-scoped API tokens (least privilege)
- Very specific: line 25
Use this skill whenever a task mentions Cloudflare, DNS records, domain verification (e.g.
- Distinctive: line 42
Use "Edit zone DNS" template, scope it to the specific zone(s), never account-wide.
- Very specific: line 52
Check propagation with dig TXT <name> @1.1.1.1 or via https://dash.cloudflare.com DNS -> DNS Analytics.
- Distinctive: line 62
If the zone shows "Pending nameserver update", DNS records exist but the domain will not resolve until the registrar points to Cloudflare …
- Distinctive: line 70
Never invent DNS values — read the required value from the source (provider dashboard, docs, or the user) before creating a record.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
What I do
- Manage DNS records in a Cloudflare zone: A, AAAA, CNAME, TXT, MX, SRV
- Toggle proxy status (orange cloud = proxied, grey cloud = DNS only)
- Verify zone status and name server assignment
- Create zone-scoped API tokens (least privilege)
When to use me
Use this skill whenever a task mentions Cloudflare, DNS records, domain verification (e.g. DKIM/SPF/DMARC TXT records), or "is the domain live yet".
How to operate
Dashboard
- Login: https://dash.cloudflare.com — pick the account, then the zone (domain).
- Records live under the zone: DNS -> Records.
- The proxy status toggle per record:
- Orange cloud: traffic flows through Cloudflare (origin IP hidden).
- Grey cloud: DNS only (record points straight to the origin).
- TTL: normally "Auto". Only set explicit TTL when debugging.
- DNS changes apply fast (seconds to minutes) — no 24-48h wait unless the registrar's name servers were just switched.
API tokens (least privilege)
- Dashboard -> My Profile -> API Tokens -> Create Token.
- Use "Edit zone DNS" template, scope it to the specific zone(s), never account-wide. Token permissions needed: Zone.Zone:Read, Zone.DNS:Edit.
- The token is secret — never commit it, never echo it in chat or logs.
Verification TXT records
- Adding a TXT record (e.g. for email auth or domain verification):
- DNS -> Records -> Add record -> Type TXT
- Name = the subdomain (
_dmarc,_domainkeyetc.), Content = the value, TTL = Auto - Confirm the record shows as "Proxied: DNS only" (TXT is never proxied)
- Check propagation with
dig TXT <name> @1.1.1.1or via https://dash.cloudflare.com DNS -> DNS Analytics.
Critical gotchas
- CNAME at the zone apex is not allowed by DNS standards. Use A/AAAA or Cloudflare's "CNAME flattening" (automatic).
- Never expose an origin IP by unproxying a record for a server that relies on Cloudflare protection — the IP becomes public immediately.
- Deleting a record is irreversible — confirm the exact record and value before deleting. Same for changing proxy status on a production record.
- If the zone shows "Pending nameserver update", DNS records exist but the domain will not resolve until the registrar points to Cloudflare name servers.
- A proxied record hides the origin, so
digshows Cloudflare IPs, not yours — that is expected, not a bug.
Rules
- Confirm before any destructive action: delete record, disable proxy on a production record, change zone-level settings.
- Never invent DNS values — read the required value from the source (provider dashboard, docs, or the user) before creating a record.
- Report the final state: record type, name, value, proxy status, TTL.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

