| name | digitalocean |
| description | DigitalOcean infrastructure — Droplets, managed databases, Spaces, load balancers, firewalls, DNS management |
| version | 1.0.0 |
| author | veekunth217 |
| tags | ["digitalocean","droplet","spaces","managed-database","load-balancer","firewall","dns","doctl"] |
| platforms | ["claude-code","cursor","codex"] |
DigitalOcean Skill
Full DigitalOcean infrastructure management — from Droplet provisioning to managed databases, Spaces, and DNS.
RULE: Show plan (resources to be created, estimated cost) before provisioning. Wait for GO.
🚧 Status: Stub — implementation pending
This reference skill has the structure but the snippet content is still being filled in
(you'll see <!-- TODO --> placeholders below). It activates and tells Claude the topic
exists, but won't yield deep snippets yet.
Want to help? Pick any TODO, write the snippet, open a PR. See CONTRIBUTING.md.
Each contribution moves the skill closer to "Ready" status.
Capabilities
Droplet Provisioning
Managed Databases
Spaces (S3-Compatible)
Load Balancers
Firewalls
DNS Management
doctl Quick Reference
doctl auth init
doctl compute droplet list
doctl compute droplet create [name] \
--size s-2vcpu-4gb \
--image ubuntu-24-04-x64 \
--region blr1 \
--ssh-keys [key-fingerprint] \
--user-data-file cloud-init.yml
doctl databases list
doctl databases connection [db-id] --user doadmin
doctl compute cdn list
aws s3 ls s3://[bucket] \
--endpoint=https://[region].digitaloceanspaces.com
doctl compute domain list
doctl compute domain records list [domain]
doctl compute domain records create [domain] \
--record-type A --record-name @ --record-data [ip] --record-ttl 300
Terraform for DigitalOcean
terraform {
required_providers {
digitalocean = {
source = "digitalocean/digitalocean"
version = "~> 2.0"
}
}
}
provider "digitalocean" {
token = var.do_token
}
resource "digitalocean_droplet" "web" {
name = "[app]-web"
size = "s-2vcpu-4gb"
image = "ubuntu-24-04-x64"
region = "blr1"
ssh_keys = [data.digitalocean_ssh_key.default.id]
tags = ["web", "[app]"]
}
resource "digitalocean_firewall" "web" {
name = "[app]-firewall"
droplet_ids = [digitalocean_droplet.web.id]
inbound_rule {
protocol = "tcp"; port_range = "22"
source_addresses = ["0.0.0.0/0"]
}
inbound_rule {
protocol = "tcp"; port_range = "80"
source_addresses = ["0.0.0.0/0"]
}
inbound_rule {
protocol = "tcp"; port_range = "443"
source_addresses = ["0.0.0.0/0"]
}
outbound_rule {
protocol = "tcp"; port_range = "all"
destination_addresses = ["0.0.0.0/0"]
}
}