agentsclimarketplace

Gandi arova

Skill arova-ai/agent-skills/gandi-arova

Manage arova-ai.com domain DNS records and email via the Gandi REST API. Use this skill whenever the user wants to: add/edit/delete DNS records for arova-ai.com, manage email forwarding or mailboxes, check MX/SPF/DKIM settings, create email aliases, set up subdomains, or troubleshoot DNS issues for the Arova domain. Also trigger when the user mentions: DNS, A record, CNAME, MX record, TXT record, email forwarding, mailbox, arova-ai.com, 網域, DNS 設定, 郵件轉寄, 信箱, SPF, DKIM.From its SKILL.md

Install
npx -y skills add arova-ai/agent-skills --skill gandi-arova

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

  • 0 stars0 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.

SKILL.md

5.9 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Gandi API for arova-ai.com

Manage DNS records and email for the arova-ai.com domain using the Gandi REST API.

Authentication

The Gandi Personal Access Token (PAT) is stored in 1Password under the item name gandi-ewill-pat.

Before making any API call, retrieve the token:

GANDI_PAT=$(op read "op://project-ewill/gandi-ewill-pat/credential")

Then use it in all API requests as a Bearer token:

curl -s -H "Authorization: Bearer $GANDI_PAT" ...

Domain

All operations target the domain arova-ai.com. The base URL is:

https://api.gandi.net/v5

Quick Reference

DNS Records

Read references/livedns-api.md for complete endpoint documentation. Here are the most common operations:

List all DNS records:

curl -s -H "Authorization: Bearer $GANDI_PAT" \
  "https://api.gandi.net/v5/livedns/domains/arova-ai.com/records" | jq .

Get a specific record (e.g., A record for @):

curl -s -H "Authorization: Bearer $GANDI_PAT" \
  "https://api.gandi.net/v5/livedns/domains/arova-ai.com/records/@/A" | jq .

Create/update a record (PUT overwrites, POST creates if not exists):

curl -s -X PUT -H "Authorization: Bearer $GANDI_PAT" \
  -H "Content-Type: application/json" \
  -d '{"rrset_values": ["192.0.2.1"], "rrset_ttl": 3600}' \
  "https://api.gandi.net/v5/livedns/domains/arova-ai.com/records/www/CNAME"

Delete a record:

curl -s -X DELETE -H "Authorization: Bearer $GANDI_PAT" \
  "https://api.gandi.net/v5/livedns/domains/arova-ai.com/records/test/A"

Common record types:

  • A — IPv4 address
  • AAAA — IPv6 address
  • CNAME — Alias to another domain (value must end with .)
  • MX — Mail exchange (value: "10 mail.example.com.")
  • TXT — Text record (value must be quoted: `""v=spf1 ...""``)
  • NS — Nameserver delegation

TTL range: 300 to 2,592,000 seconds (5 min to 30 days).

Email — Forwarding

List all forwarding addresses:

curl -s -H "Authorization: Bearer $GANDI_PAT" \
  "https://api.gandi.net/v5/email/forwards/arova-ai.com" | jq .

Create a forwarding address:

curl -s -X POST -H "Authorization: Bearer $GANDI_PAT" \
  -H "Content-Type: application/json" \
  -d '{"source": "info", "destinations": ["[email protected]"]}' \
  "https://api.gandi.net/v5/email/forwards/arova-ai.com"

Update forwarding destinations:

curl -s -X PUT -H "Authorization: Bearer $GANDI_PAT" \
  -H "Content-Type: application/json" \
  -d '{"destinations": ["[email protected]", "[email protected]"]}' \
  "https://api.gandi.net/v5/email/forwards/arova-ai.com/info"

Delete a forwarding address:

curl -s -X DELETE -H "Authorization: Bearer $GANDI_PAT" \
  "https://api.gandi.net/v5/email/forwards/arova-ai.com/info"

Email — Mailboxes

List all mailboxes:

curl -s -H "Authorization: Bearer $GANDI_PAT" \
  "https://api.gandi.net/v5/email/mailboxes/arova-ai.com" | jq .

Create a mailbox:

curl -s -X POST -H "Authorization: Bearer $GANDI_PAT" \
  -H "Content-Type: application/json" \
  -d '{"login": "support", "mailbox_type": "standard_2023", "password": "SecureP@ss123!", "aliases": ["help"], "antispam": true}' \
  "https://api.gandi.net/v5/email/mailboxes/arova-ai.com"

Password requirements: 8-200 chars, min 1 uppercase, 3 numbers, 1 special character.

Update a mailbox (aliases, password, responder):

curl -s -X PATCH -H "Authorization: Bearer $GANDI_PAT" \
  -H "Content-Type: application/json" \
  -d '{"aliases": ["help", "info"]}' \
  "https://api.gandi.net/v5/email/mailboxes/arova-ai.com/{mailbox_id}"

Email — Domain Settings

Check email offer status (antispam, DKIM):

curl -s -H "Authorization: Bearer $GANDI_PAT" \
  "https://api.gandi.net/v5/email/offers/arova-ai.com" | jq .

Enable DKIM and antispam:

curl -s -X PATCH -H "Authorization: Bearer $GANDI_PAT" \
  -H "Content-Type: application/json" \
  -d '{"antispam": "active", "dkim": "active"}' \
  "https://api.gandi.net/v5/email/offers/arova-ai.com"

Workflow Guidelines

  1. Always retrieve the PAT from 1Password first — never hardcode it or ask the user for it.

  2. Before modifying DNS, list current records — show the user what exists before making changes. This prevents accidental overwrites.

  3. Use PUT for overwrites, PATCH for additions — when adding values to an existing record (like adding an IP to an A record), use PATCH with add_rrset_values. When replacing the entire record, use PUT.

  4. Create a snapshot before bulk changes — for safety:

    curl -s -X POST -H "Authorization: Bearer $GANDI_PAT" \
      -H "Content-Type: application/json" \
      -d '{"name": "before-changes-YYYY-MM-DD"}' \
      "https://api.gandi.net/v5/livedns/domains/arova-ai.com/snapshots"
    
  5. Confirm destructive operations — always show the user what will be deleted/overwritten and ask for confirmation before executing DELETE or zone-wide PUT operations.

  6. Format output clearly — pipe responses through jq for readability. For record listings, present them in a table format.

Reference Files

For complete API endpoint documentation, read:

  • references/livedns-api.md — All LiveDNS endpoints, parameters, and response formats
  • references/email-api.md — All Email endpoints for forwards, mailboxes, offers, and slots

What ships with it: 2 files

5.3 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 325,949. 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.