Agent skill
porkbun-dns
Manages DNS records for abaci.one via the Porkbun API. Use when asked to add subdomains, update DNS records, check DNS configuration, or manage domain settings.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/porkbun-dns
SKILL.md
Porkbun DNS Management
This skill manages DNS records for abaci.one using the Porkbun API.
API Credentials Location
The Porkbun API credentials are stored on the NAS:
/volume1/homes/antialias/projects/abaci.one/ddns-data/ddns-config.json
To retrieve them:
ssh nas.home.network 'cat /volume1/homes/antialias/projects/abaci.one/ddns-data/ddns-config.json'
The file contains:
api_key: Public API key (starts withpk1_)secret_api_key: Secret API key (starts withsk1_)
Common Operations
List All DNS Records
curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/retrieve/abaci.one" \
-H "Content-Type: application/json" \
-d '{
"secretapikey": "SECRET_KEY",
"apikey": "API_KEY"
}' | python3 -m json.tool
Create a CNAME Record (Subdomain)
Best for subdomains that should follow the main domain's IP (useful with DDNS):
curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/create/abaci.one" \
-H "Content-Type: application/json" \
-d '{
"secretapikey": "SECRET_KEY",
"apikey": "API_KEY",
"name": "subdomain-name",
"type": "CNAME",
"content": "abaci.one",
"ttl": "300"
}'
Create an A Record
For direct IP pointing:
curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/create/abaci.one" \
-H "Content-Type: application/json" \
-d '{
"secretapikey": "SECRET_KEY",
"apikey": "API_KEY",
"name": "subdomain-name",
"type": "A",
"content": "IP_ADDRESS",
"ttl": "300"
}'
Delete a DNS Record
First list records to get the record ID, then:
curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/delete/abaci.one/RECORD_ID" \
-H "Content-Type: application/json" \
-d '{
"secretapikey": "SECRET_KEY",
"apikey": "API_KEY"
}'
Update a DNS Record
curl -s -X POST "https://api.porkbun.com/api/json/v3/dns/edit/abaci.one/RECORD_ID" \
-H "Content-Type: application/json" \
-d '{
"secretapikey": "SECRET_KEY",
"apikey": "API_KEY",
"name": "subdomain-name",
"type": "A",
"content": "NEW_IP_ADDRESS",
"ttl": "300"
}'
Verify DNS Propagation
After making changes, verify propagation:
# Check against your local resolver
dig +short subdomain.abaci.one
# Check against Google's DNS (bypasses local cache)
dig +short subdomain.abaci.one @8.8.8.8
# Check against Porkbun's nameservers directly
dig +short subdomain.abaci.one @maceio.porkbun.com
Current DNS Setup
The domain has these key records:
| Type | Host | Purpose |
|---|---|---|
| A | abaci.one | Main domain → home IP (DDNS managed) |
| CNAME | blue | Blue container instance |
| CNAME | green | Green container instance |
| CNAME | * | Wildcard parking page (can be deleted) |
Notes
- CNAME vs A record: Use CNAME for subdomains so they automatically follow DDNS updates to the main domain's IP
- TTL: 300 seconds (5 minutes) is good for records that might change; use 3600+ for stable records
- Wildcard record: The
*.abaci.one→pixie.porkbun.comis Porkbun's default parking page. Explicit records take precedence over wildcards. - Propagation: DNS changes typically propagate within 5-15 minutes, though local caches may retain old values longer
API Documentation
Full Porkbun API docs: https://porkbun.com/api/json/v3/documentation
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?