Skip to content
Skillpedia
Misc40k · #5248

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

https://github.com/github/awesome-copilot/blob/main/skills/namecheap/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/namecheap/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
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 namecheap

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/namecheap/SKILL.md -o SKILL.md
Technical 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:

  1. Check for existing config — look for ~/.namecheap-api
  2. If not configured, guide the user through setup: a. Show public IP — run python3 namecheap.py public-ip to 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 run python3 namecheap.py setup directly in their own terminal. The script prompts for the username and reads the API key with a hidden prompt (getpass), writes ~/.namecheap-api with chmod 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 run setup themselves, or to export NAMECHEAP_API_USER and NAMECHEAP_API_KEY as environment variables in their own shell — rather than collecting the secret via ask_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

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills