namecheap
Lets your agent manage domain DNS records. It can add, remove, or change records so your website works.
What it does
Manages your domain's DNS records at Namecheap using their API. You can list your domains, view, add, change, or remove DNS entries like A, CNAME, MX, and TXT.
When to use it
- ✓When you need to add a new DNS record.
- ✓When you want to change an existing DNS record.
- ✓When you need to list all your registered domains.
Example of what to ask your AI
“I want to add an A record for my domain example.com pointing www to IP 1.2.3.4”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
The tool connects to the Namecheap API to make changes. First, it securely sets up your access credentials. Then, you can ask it to manage your DNS records.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill namecheapOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/namecheap/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Namecheap DNS Management
UTILITY SKILL — manages DNS records via the Namecheap API. USE FOR: "add DNS record", "update A record", "manage Namecheap domains", "set CNAME", "add MX record", "add TXT record", "list my domains", "show DNS records", "namecheap setup", "configure namecheap API", "what is my public IP" DO NOT USE FOR: domain registration/purchase, SSL certificate management, hosting configuration, non-Namecheap DNS providers
Workflow
First-time Setup
Before executing any API commands, verify credentials are configured:
- Check for existing config — look for
~/.namecheap-api - If not configured, guide the user through setup:
a. Show public IP — run
python3 namecheap.py public-ipto display the user's public IP b. Instruct IP whitelisting — tell the user to go to https://ap.www.namecheap.com/settings/tools/apiaccess/, enable API (select ON), and whitelist the displayed IP c. Have the user run setup themselves — ask the user to runpython3 namecheap.py setupdirectly in their own terminal. The script prompts for the username and reads the API key with a hidden prompt (getpass), writes~/.namecheap-apiwithchmod 600, and validates the connection. Never ask the user to paste their API key into the chat, and never log, echo, or display the API key value. If you cannot run an interactive terminal for the user, instruct them to runsetupthemselves, or to exportNAMECHEAP_API_USERandNAMECHEAP_API_KEYas environment variables in their own shell — rather than collecting the secret viaask_user. d. Confirm — once the user reports setup succeeded, proceed with DNS operations.
DNS Operations
Use the namecheap.py script (bundled in this skill's directory) for all API interactions. It requires only Python 3 (standard library only — no pip install needed) and works the same on macOS, Linux, and Windows:
# Show public IP (for setup)
python3 namecheap.py public-ip
# Run setup flow
python3 namecheap.py setup
# List domains
python3 namecheap.py domains.getList
# Get nameservers for a domain (shows if using Namecheap DNS or custom)
python3 namecheap.py domains.dns.getList --domain example.com
# Get DNS records for a domain
python3 namecheap.py domains.dns.getHosts --domain example.com
# Add a single record (preserves existing records)
python3 namecheap.py dns.addHost --domain example.com --type A --name www --address 1.2.3.4 --ttl 1800
# Remove a single record
python3 namecheap.py dns.removeHost --domain example.com --type A --name www --address 1.2.3.4
# Replace all records from a JSON file
python3 namecheap.py domains.dns.setHosts --domain example.com --hosts records.json
# Switch to Namecheap default DNS
python3 namecheap.py domains.dns.setDefault --domain example.com
# Switch to custom nameservers
python3 namecheap.py domains.dns.setCustom --domain example.com --nameservers ns1.cloudflare.com,ns2.cloudflare.com
# Get email forwarding rules
python3 namecheap.py domains.dns.getEmailForwarding --domain example.com
# Set email forwarding (single rule)
python3 namecheap.py domains.dns.setEmailForwarding --domain example.com --mailbox info --forward-to user@gmail.com
# Set email forwarding (from JSON file)
python3 namecheap.py domains.dns.setEmailForwarding --domain example.com --forwards forwards.json
# Create a child nameserver (glue record)
python3 namecheap.py domains.ns.create --domain example.com --nameserver ns1.example.com --ip 1.2.3.4
# Delete a child nameserver
python3 namecheap.py domains.ns.delete --domain example.com --nameserver ns1.example.com
# Get nameserver info
python3 namecheap.py domains.ns.getInfo --domain example.com --nameserver ns1.example.com
# Update nameserver IP
python3 namecheap.py domains.ns.update --domain example.com --nameserver ns1.example.com --old-ip 1.2.3.4 --ip 5.6.7.8
JSON file formats
domains.dns.setHosts --hosts records.json expects an array of objects with Namecheap API field names:
[
{ "HostName": "@", "RecordType": "A", "Address": "1.2.3.4", "TTL": 1800 },
{ "HostName": "www", "RecordType": "CNAME", "Address": "@", "TTL": 1800 },
{ "HostName": "@", "RecordType": "MX", "Address": "mail.example.com.", "TTL": 1800, "MXPref": 10 }
]
domains.dns.setEmailForwarding --forwards forwards.json expects an array of mailbox rules:
[
{ "MailBox": "info", "ForwardTo": "team@example.net" },
…
FAQ
How does the tool connect to Namecheap?
It uses the official Namecheap API. You'll need to set up your API credentials once, following secure setup instructions.
What are DNS records?
DNS records are like contacts in your internet address book. They tell systems where to find your website or email when someone types your address (domain).
What is TTL?
TTL (Time To Live) is how long DNS information is cached. A lower TTL means changes propagate faster but can increase server load.
Details
Original description by the author
Manage DNS records for domains registered with Namecheap via their API. List domains, view/add/update/remove DNS host entries (A, AAAA, CNAME, MX, TXT, etc.), and guide users through API setup including public IP detection and credential configuration. Use when the user mentions Namecheap, DNS records, domain management, or wants to add/change/remove A records, CNAME records, MX records, or TXT re
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5248
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
dashboard-builder
Helps your agent create useful monitoring dashboards. It turns data into charts that answer important system questions.
affaan-m/ECC
dev-team
Simulates a collaborative development team where different roles respond to a problem together. It's useful for getting multiple perspectives without manually switching agents.
affaan-m/ECC
ecc-council
Has your agent convene a four-voice council for difficult decisions. It's useful when there are multiple good options and debate is needed before choosing.
affaan-m/ECC