agentsclimarketplace

Cloudflare dns manager

Skill DeanThompson/agent-skills/skills/cloudflare-dns-manager

Portable Agent Skills for coding agents: Git workflows, linked worktrees, GitLab MRs, Cloudflare DNS, and agent context files.

Install
npx -y skills add DeanThompson/agent-skills --skill cloudflare-dns-manager

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Manage Cloudflare DNS zones, DNS records, and Cloudflare single redirect rules through the official API. Use when an agent needs to inspect Cloudflare zones, list DNS records, create or update SPF/DKIM/DMARC/MX/CNAME/TXT records, delete records, configure www-to-apex redirects, export zones, or prepare DNS changes for domains hosted on Cloudflare, especially when the account contains multiple zones.

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.5 KB, as published. Nobody here has run it

Cloudflare DNS Manager

Use the bundled script to manage Cloudflare DNS through the official API.

Prefer explicit zone selection. When multiple domains exist in the same Cloudflare account, require --zone-name or --zone-id before any write operation. Do not guess the target zone for upsert-record, delete-record, apply-file, or upsert-redirect.

Authentication

Read references/auth-and-safety.md before the first write operation.

Prefer API tokens over legacy global API keys.

Supported environment variables:

  • CLOUDFLARE_API_TOKEN
  • CLOUDFLARE_EMAIL + CLOUDFLARE_API_KEY

Workflow

1. Identify the zone

List available zones first:

python3 scripts/cloudflare_dns.py list-zones

If the user only gives a hostname and the target zone is unclear, inspect candidates:

python3 scripts/cloudflare_dns.py resolve-zone --fqdn send.example.com

For multi-zone accounts, stop and require an explicit --zone-name or --zone-id before editing.

2. Inspect existing records

List records in a zone before changing anything:

python3 scripts/cloudflare_dns.py list-records --zone-name example.com
python3 scripts/cloudflare_dns.py list-records --zone-name example.com --type TXT --name _dmarc

3. Apply the change

Create or update a single record:

python3 scripts/cloudflare_dns.py upsert-record \
  --zone-name example.com \
  --type TXT \
  --name _dmarc \
  --content 'v=DMARC1; p=none'

SMTP-related examples:

python3 scripts/cloudflare_dns.py upsert-record \
  --zone-name example.com \
  --type MX \
  --name send \
  --content feedback-smtp.us-east-1.amazonses.com \
  --priority 10

python3 scripts/cloudflare_dns.py upsert-record \
  --zone-name example.com \
  --type CNAME \
  --name em123._domainkey \
  --content em123.example.sendprovider.net \
  --proxied false

Batch apply from JSON:

python3 scripts/cloudflare_dns.py apply-file --zone-name example.com --file records.json --dry-run
python3 scripts/cloudflare_dns.py apply-file --zone-name example.com --file records.json

Read references/records-json.md for the JSON schema.

4. Verify the result

Re-list the affected records after any change:

python3 scripts/cloudflare_dns.py list-records --zone-name example.com --name send

5. Configure host redirects

List existing redirect rules:

python3 scripts/cloudflare_dns.py list-redirects --zone-name example.com

Create or update a www -> apex redirect:

python3 scripts/cloudflare_dns.py upsert-record \
  --zone-name example.com \
  --type CNAME \
  --name www \
  --content example.com \
  --proxied true

python3 scripts/cloudflare_dns.py upsert-redirect \
  --zone-name example.com \
  --source-host www \
  --target-host @ \
  --status-code 301 \
  --preserve-query-string true

Delete a redirect rule by ref, id, or source host:

python3 scripts/cloudflare_dns.py delete-redirect \
  --zone-name example.com \
  --source-host www \
  --yes

Export one zone for backup or migration:

python3 scripts/cloudflare_dns.py export-zone --zone-name example.com
python3 scripts/cloudflare_dns.py export-zone --zone-name example.com --file zone-export.json

Use redirect rules for canonical host routing. DNS alone cannot issue HTTP 301 or 302 responses.

Guardrails

  • Use DNS only for mail-related records. Do not proxy SMTP-related CNAME records.
  • For MX records, pass --priority.
  • For redirect rules, ensure the source hostname is proxied and the token has redirect-rule edit permission.
  • For deletion, prefer --id. If deleting by --name and --type, include --content when duplicates may exist.
  • Use --dry-run before apply-file on production zones.
  • Stop and ask for confirmation before deleting records or redirects unless the user already explicitly requested the exact deletion.
  • Keep comments and commit messages in English when editing this skill or its scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.