Awesome-openclaw-skills digital-ocean
Manage Digital Ocean droplets, domains, and infrastructure via DO API.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/digital-ocean" ~/.claude/skills/sundial-org-awesome-openclaw-skills-digital-ocean && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/digital-ocean" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-digital-ocean && rm -rf "$T"
manifest:
skills/digital-ocean/SKILL.mdsource content
Digital Ocean Management
Control DO droplets, domains, and infrastructure.
Setup
Set environment variable:
: Your Digital Ocean API token (create at cloud.digitalocean.com/account/api/tokens)DO_API_TOKEN
CLI Commands
# Account info uv run {baseDir}/scripts/do.py account # List all droplets uv run {baseDir}/scripts/do.py droplets # Get droplet details uv run {baseDir}/scripts/do.py droplet <droplet_id> # List domains uv run {baseDir}/scripts/do.py domains # List domain records uv run {baseDir}/scripts/do.py records <domain> # Droplet actions uv run {baseDir}/scripts/do.py power-off <droplet_id> uv run {baseDir}/scripts/do.py power-on <droplet_id> uv run {baseDir}/scripts/do.py reboot <droplet_id>
Direct API (curl)
List Droplets
curl -s -H "Authorization: Bearer $DO_API_TOKEN" \ "https://api.digitalocean.com/v2/droplets" | jq '.droplets[] | {id, name, status, ip: .networks.v4[0].ip_address}'
Get Account Info
curl -s -H "Authorization: Bearer $DO_API_TOKEN" \ "https://api.digitalocean.com/v2/account" | jq '.account'
List Domains
curl -s -H "Authorization: Bearer $DO_API_TOKEN" \ "https://api.digitalocean.com/v2/domains" | jq '.domains[].name'
Create Droplet
curl -s -X POST -H "Authorization: Bearer $DO_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "my-droplet", "region": "nyc1", "size": "s-1vcpu-1gb", "image": "ubuntu-22-04-x64" }' \ "https://api.digitalocean.com/v2/droplets"
Reboot Droplet
curl -s -X POST -H "Authorization: Bearer $DO_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{"type":"reboot"}' \ "https://api.digitalocean.com/v2/droplets/<DROPLET_ID>/actions"
Add Domain
curl -s -X POST -H "Authorization: Bearer $DO_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "example.com"}' \ "https://api.digitalocean.com/v2/domains"
Notes
- Always confirm before destructive actions (power-off, destroy)
- Token requires read/write scope for management actions
- API docs: https://docs.digitalocean.com/reference/api/api-reference/