idanbeck/claude-skills

godaddy-skill

Manage GoDaddy domains and DNS records. Use when the user asks to set up DNS, manage domain records, check DNS propagation, point domains to servers, or configure A/AAAA/CNAME/MX/TXT records. Supports bulk operations for quick domain setup.

First seen Mar 29, 2026

Installation

$ npx skills add idanbeck/claude-skills --skill godaddy-skill

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from idanbeck/claude-skills · top by installs.

npx skills add idanbeck/claude-skills

Browse all from idanbeck/claude-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 13
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsBash, Read
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,982 B
  • docs SUMMARY.md 261 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 19 installs

SKILL.md

GoDaddy Skill - Domain & DNS Management

Manage domains and DNS records via the GoDaddy API. Set A records, CNAMEs, check propagation, bulk-configure DNS.

CRITICAL: DNS Modification Confirmation Required

Before modifying ANY DNS records, you MUST get explicit user confirmation.

When the user asks to change DNS:

  1. First, show current records using get-records
  2. Show the proposed changes clearly
  3. Ask: "Do you want me to apply these DNS changes?"
  4. ONLY run set/add/delete commands AFTER the user explicitly confirms
  5. NEVER modify DNS without confirmation

First-Time Setup (~2 minutes)

1. Get API Key

  1. Go to GoDaddy Developer Portal
  2. Click Create New API Key
  3. Select Production environment
  4. Copy the Key and Secret

Note: GoDaddy API access may require 10+ domains or a Discount Domain Club membership. If you get a 403 error, check your account eligibility.

2. Save Credentials

cat > ~/.claude/skills/godaddy-skill/config.json << 'EOF'
{
  "api_key": "YOUR_API_KEY",
  "api_secret": "YOUR_API_SECRET"
}
EOF

Commands

List Domains

python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py list-domains

Domain Info

python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py domain-info DOMAIN

Get DNS Records

python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py get-records DOMAIN [--type TYPE] [--name NAME]

Examples:

# All records
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py get-records zergdesk.com

# Only A records
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py get-records zergdesk.com --type A

# Specific CNAME
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py get-records zergdesk.com --type CNAME --name www

Set DNS Record (Replace)

Replaces all existing records of the same type + name.

python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py set-record DOMAIN TYPE NAME DATA [--ttl TTL] [--priority N]

Examples:

# Point root to IP
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py set-record zergdesk.com A @ 66.241.125.67

# Point www to CNAME
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py set-record zergdesk.com CNAME www myapp.fly.dev

# Set MX record
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py set-record zergdesk.com MX @ mail.example.com --priority 10

Add DNS Record (Append)

Adds a record without replacing existing ones of the same type + name.

python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py add-record DOMAIN TYPE NAME DATA [--ttl TTL]

Delete DNS Record

# Delete all records of type+name
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py delete-record DOMAIN TYPE NAME

# Delete specific value only
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py delete-record DOMAIN TYPE NAME --data VALUE

Bulk Set (Multiple Records)

Set many records at once from JSON. Great for initial domain setup.

# From inline JSON
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py bulk-set DOMAIN '[{"type":"A","name":"@","data":"1.2.3.4"},{"type":"CNAME","name":"www","data":"app.fly.dev"}]'

# From a JSON file
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py bulk-set DOMAIN /path/to/records.json

JSON format:

[
  {"type": "A", "name": "@", "data": "66.241.125.67", "ttl": 600},
  {"type": "AAAA", "name": "@", "data": "2a09:8280:1::cf:9869:0", "ttl": 600},
  {"type": "CNAME", "name": "www", "data": "myapp.fly.dev", "ttl": 600},
  {"type": "CNAME", "name": "_acme-challenge", "data": "domain.flydns.net", "ttl": 600}
]

Check DNS Propagation

Uses local dig to check what DNS currently resolves to.

python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py check-dns DOMAIN

Common Workflows

Point Domain to Fly.io

# 1. Check current records
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py get-records mydomain.com

# 2. Set the records Fly.io needs
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py bulk-set mydomain.com '[
  {"type":"A","name":"@","data":"FLY_IPV4"},
  {"type":"AAAA","name":"@","data":"FLY_IPV6"},
  {"type":"CNAME","name":"www","data":"APP.fly.dev"},
  {"type":"CNAME","name":"_acme-challenge","data":"DOMAIN.flydns.net"},
  {"type":"CNAME","name":"_acme-challenge.www","data":"www.DOMAIN.flydns.net"}
]'

# 3. Verify propagation
python3 ~/.claude/skills/godaddy-skill/godaddy_skill.py check-dns mydomain.com

Output Format

All commands output JSON for easy parsing. Errors include HTTP status and detail.