Skip to content
Back to skills

Digital Ocean

ASecurity

Manage Digital Ocean droplets, domains, and infrastructure via DO API.

  • 665 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 7, 2026
toolsbashgitapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add openclaw/skills --skill digital-ocean --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Digital Ocean?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Digital Ocean
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/openclaw-digital-ocean/badge)](https://www.skillsdirectory.com/skills/openclaw-digital-ocean)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: digital-ocean
description: Manage Digital Ocean droplets, domains, and infrastructure via DO API.
homepage: https://docs.digitalocean.com/reference/api/
metadata: {"clawdis":{"emoji":"🌊","requires":{"bins":["uv","curl"],"env":["DO_API_TOKEN"]},"primaryEnv":"DO_API_TOKEN"}}
---

# Digital Ocean Management

Control DO droplets, domains, and infrastructure.

## Setup

Set environment variable:
- `DO_API_TOKEN`: Your Digital Ocean API token (create at cloud.digitalocean.com/account/api/tokens)

## CLI Commands

```bash
# 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
```bash
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
```bash
curl -s -H "Authorization: Bearer $DO_API_TOKEN" \
  "https://api.digitalocean.com/v2/account" | jq '.account'
```

### List Domains
```bash
curl -s -H "Authorization: Bearer $DO_API_TOKEN" \
  "https://api.digitalocean.com/v2/domains" | jq '.domains[].name'
```

### Create Droplet
```bash
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
```bash
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
```bash
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/

Files in this skill

  • SKILL.md2.4 KB
  • _meta.json280 B
  • scripts/do.py6.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…