{
  "schemaVersion": "1.0",
  "item": {
    "slug": "digitalocean",
    "name": "DigitalOcean",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/rexlunae/digitalocean",
    "canonicalUrl": "https://clawhub.ai/rexlunae/digitalocean",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/digitalocean",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=digitalocean",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/digitalocean.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/digitalocean"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/digitalocean",
    "agentPageUrl": "https://openagent3.xyz/skills/digitalocean/agent",
    "manifestUrl": "https://openagent3.xyz/skills/digitalocean/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/digitalocean/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "DigitalOcean API Skill",
        "body": "Control DigitalOcean infrastructure programmatically: droplets, DNS, databases, storage, networking."
      },
      {
        "title": "Authentication",
        "body": "API token required. Get one from: https://cloud.digitalocean.com/account/api/tokens\n\nStore in ~/.config/digitalocean/token (just the token, no newline):\n\nmkdir -p ~/.config/digitalocean\necho -n \"YOUR_API_TOKEN\" > ~/.config/digitalocean/token\nchmod 600 ~/.config/digitalocean/token"
      },
      {
        "title": "Droplets (VMs)",
        "body": "# List all droplets\npython3 scripts/digitalocean.py droplets list\n\n# Get droplet details\npython3 scripts/digitalocean.py droplets get <droplet_id>\n\n# Create droplet\npython3 scripts/digitalocean.py droplets create <name> --region nyc1 --size s-1vcpu-1gb --image ubuntu-24-04-x64\n\n# Power actions\npython3 scripts/digitalocean.py droplets power-on <droplet_id>\npython3 scripts/digitalocean.py droplets power-off <droplet_id>\npython3 scripts/digitalocean.py droplets reboot <droplet_id>\n\n# Resize droplet\npython3 scripts/digitalocean.py droplets resize <droplet_id> --size s-2vcpu-4gb\n\n# Snapshot\npython3 scripts/digitalocean.py droplets snapshot <droplet_id> --name \"backup-2024\"\n\n# Destroy droplet\npython3 scripts/digitalocean.py droplets destroy <droplet_id>"
      },
      {
        "title": "DNS Management",
        "body": "# List domains\npython3 scripts/digitalocean.py dns list\n\n# Get domain records\npython3 scripts/digitalocean.py dns records <domain>\n\n# Add record\npython3 scripts/digitalocean.py dns add <domain> --type A --name www --data 1.2.3.4 --ttl 300\n\n# Update record\npython3 scripts/digitalocean.py dns update <domain> <record_id> --data 5.6.7.8\n\n# Delete record\npython3 scripts/digitalocean.py dns delete <domain> <record_id>\n\n# Add domain\npython3 scripts/digitalocean.py dns create <domain>"
      },
      {
        "title": "Firewalls",
        "body": "# List firewalls\npython3 scripts/digitalocean.py firewalls list\n\n# Create firewall\npython3 scripts/digitalocean.py firewalls create <name> --inbound tcp:22:0.0.0.0/0 --inbound tcp:80:0.0.0.0/0 --inbound tcp:443:0.0.0.0/0\n\n# Add droplet to firewall\npython3 scripts/digitalocean.py firewalls add-droplet <firewall_id> <droplet_id>"
      },
      {
        "title": "Spaces (Object Storage)",
        "body": "# List spaces (requires spaces key)\npython3 scripts/digitalocean.py spaces list\n\n# Create space\npython3 scripts/digitalocean.py spaces create <name> --region nyc3"
      },
      {
        "title": "Databases",
        "body": "# List database clusters\npython3 scripts/digitalocean.py databases list\n\n# Get database details\npython3 scripts/digitalocean.py databases get <db_id>"
      },
      {
        "title": "Account & Billing",
        "body": "# Account info\npython3 scripts/digitalocean.py account\n\n# Balance\npython3 scripts/digitalocean.py billing balance\n\n# Billing history\npython3 scripts/digitalocean.py billing history"
      },
      {
        "title": "SSH Keys",
        "body": "# List SSH keys\npython3 scripts/digitalocean.py ssh-keys list\n\n# Add SSH key\npython3 scripts/digitalocean.py ssh-keys add <name> --key \"ssh-ed25519 AAAA...\""
      },
      {
        "title": "Images & Snapshots",
        "body": "# List available images\npython3 scripts/digitalocean.py images list\n\n# List your snapshots\npython3 scripts/digitalocean.py images snapshots\n\n# Delete snapshot\npython3 scripts/digitalocean.py images delete <image_id>"
      },
      {
        "title": "Regions & Sizes",
        "body": "# List regions\npython3 scripts/digitalocean.py regions\n\n# List droplet sizes\npython3 scripts/digitalocean.py sizes"
      },
      {
        "title": "DNS Record Types",
        "body": "Supported record types:\n\nA — IPv4 address\nAAAA — IPv6 address\nCNAME — Canonical name (alias)\nMX — Mail exchange (requires priority)\nTXT — Text record\nNS — Nameserver\nSRV — Service record\nCAA — Certificate Authority Authorization"
      },
      {
        "title": "Deploy a New Server",
        "body": "# 1. Create droplet\npython3 scripts/digitalocean.py droplets create myserver --region nyc1 --size s-1vcpu-2gb --image ubuntu-24-04-x64 --ssh-keys <key_id>\n\n# 2. Get IP address\npython3 scripts/digitalocean.py droplets get <droplet_id>\n\n# 3. Add DNS record\npython3 scripts/digitalocean.py dns add mydomain.com --type A --name @ --data <ip>\n\n# 4. Set up firewall\npython3 scripts/digitalocean.py firewalls create web-server --inbound tcp:22:0.0.0.0/0 --inbound tcp:80:0.0.0.0/0 --inbound tcp:443:0.0.0.0/0\npython3 scripts/digitalocean.py firewalls add-droplet <fw_id> <droplet_id>"
      },
      {
        "title": "Migrate DNS to DigitalOcean",
        "body": "# 1. Add domain\npython3 scripts/digitalocean.py dns create example.com\n\n# 2. Add records\npython3 scripts/digitalocean.py dns add example.com --type A --name @ --data 1.2.3.4\npython3 scripts/digitalocean.py dns add example.com --type CNAME --name www --data example.com.\n\n# 3. Update nameservers at registrar to:\n#    ns1.digitalocean.com\n#    ns2.digitalocean.com\n#    ns3.digitalocean.com"
      },
      {
        "title": "Direct API Access",
        "body": "For operations not covered by the script:\n\nTOKEN=$(cat ~/.config/digitalocean/token)\ncurl -H \"Authorization: Bearer $TOKEN\" \\\n     -H \"Content-Type: application/json\" \\\n     https://api.digitalocean.com/v2/droplets"
      },
      {
        "title": "API Documentation",
        "body": "Full API reference: https://docs.digitalocean.com/reference/api/\nAPI v2 base URL: https://api.digitalocean.com/v2/"
      },
      {
        "title": "Common Droplet Sizes",
        "body": "SlugvCPUsRAMDiskPrice/mos-1vcpu-512mb-10gb1512MB10GB$4s-1vcpu-1gb11GB25GB$6s-1vcpu-2gb12GB50GB$12s-2vcpu-2gb22GB60GB$18s-2vcpu-4gb24GB80GB$24s-4vcpu-8gb48GB160GB$48"
      },
      {
        "title": "Common Regions",
        "body": "SlugLocationnyc1, nyc3New Yorksfo3San Franciscoams3Amsterdamsgp1Singaporelon1Londonfra1Frankfurttor1Torontoblr1Bangaloresyd1Sydney"
      }
    ],
    "body": "DigitalOcean API Skill\n\nControl DigitalOcean infrastructure programmatically: droplets, DNS, databases, storage, networking.\n\nAuthentication\n\nAPI token required. Get one from: https://cloud.digitalocean.com/account/api/tokens\n\nStore in ~/.config/digitalocean/token (just the token, no newline):\n\nmkdir -p ~/.config/digitalocean\necho -n \"YOUR_API_TOKEN\" > ~/.config/digitalocean/token\nchmod 600 ~/.config/digitalocean/token\n\nQuick Reference\nDroplets (VMs)\n# List all droplets\npython3 scripts/digitalocean.py droplets list\n\n# Get droplet details\npython3 scripts/digitalocean.py droplets get <droplet_id>\n\n# Create droplet\npython3 scripts/digitalocean.py droplets create <name> --region nyc1 --size s-1vcpu-1gb --image ubuntu-24-04-x64\n\n# Power actions\npython3 scripts/digitalocean.py droplets power-on <droplet_id>\npython3 scripts/digitalocean.py droplets power-off <droplet_id>\npython3 scripts/digitalocean.py droplets reboot <droplet_id>\n\n# Resize droplet\npython3 scripts/digitalocean.py droplets resize <droplet_id> --size s-2vcpu-4gb\n\n# Snapshot\npython3 scripts/digitalocean.py droplets snapshot <droplet_id> --name \"backup-2024\"\n\n# Destroy droplet\npython3 scripts/digitalocean.py droplets destroy <droplet_id>\n\nDNS Management\n# List domains\npython3 scripts/digitalocean.py dns list\n\n# Get domain records\npython3 scripts/digitalocean.py dns records <domain>\n\n# Add record\npython3 scripts/digitalocean.py dns add <domain> --type A --name www --data 1.2.3.4 --ttl 300\n\n# Update record\npython3 scripts/digitalocean.py dns update <domain> <record_id> --data 5.6.7.8\n\n# Delete record\npython3 scripts/digitalocean.py dns delete <domain> <record_id>\n\n# Add domain\npython3 scripts/digitalocean.py dns create <domain>\n\nFirewalls\n# List firewalls\npython3 scripts/digitalocean.py firewalls list\n\n# Create firewall\npython3 scripts/digitalocean.py firewalls create <name> --inbound tcp:22:0.0.0.0/0 --inbound tcp:80:0.0.0.0/0 --inbound tcp:443:0.0.0.0/0\n\n# Add droplet to firewall\npython3 scripts/digitalocean.py firewalls add-droplet <firewall_id> <droplet_id>\n\nSpaces (Object Storage)\n# List spaces (requires spaces key)\npython3 scripts/digitalocean.py spaces list\n\n# Create space\npython3 scripts/digitalocean.py spaces create <name> --region nyc3\n\nDatabases\n# List database clusters\npython3 scripts/digitalocean.py databases list\n\n# Get database details\npython3 scripts/digitalocean.py databases get <db_id>\n\nAccount & Billing\n# Account info\npython3 scripts/digitalocean.py account\n\n# Balance\npython3 scripts/digitalocean.py billing balance\n\n# Billing history\npython3 scripts/digitalocean.py billing history\n\nSSH Keys\n# List SSH keys\npython3 scripts/digitalocean.py ssh-keys list\n\n# Add SSH key\npython3 scripts/digitalocean.py ssh-keys add <name> --key \"ssh-ed25519 AAAA...\"\n\nImages & Snapshots\n# List available images\npython3 scripts/digitalocean.py images list\n\n# List your snapshots\npython3 scripts/digitalocean.py images snapshots\n\n# Delete snapshot\npython3 scripts/digitalocean.py images delete <image_id>\n\nRegions & Sizes\n# List regions\npython3 scripts/digitalocean.py regions\n\n# List droplet sizes\npython3 scripts/digitalocean.py sizes\n\nDNS Record Types\n\nSupported record types:\n\nA — IPv4 address\nAAAA — IPv6 address\nCNAME — Canonical name (alias)\nMX — Mail exchange (requires priority)\nTXT — Text record\nNS — Nameserver\nSRV — Service record\nCAA — Certificate Authority Authorization\nCommon Workflows\nDeploy a New Server\n# 1. Create droplet\npython3 scripts/digitalocean.py droplets create myserver --region nyc1 --size s-1vcpu-2gb --image ubuntu-24-04-x64 --ssh-keys <key_id>\n\n# 2. Get IP address\npython3 scripts/digitalocean.py droplets get <droplet_id>\n\n# 3. Add DNS record\npython3 scripts/digitalocean.py dns add mydomain.com --type A --name @ --data <ip>\n\n# 4. Set up firewall\npython3 scripts/digitalocean.py firewalls create web-server --inbound tcp:22:0.0.0.0/0 --inbound tcp:80:0.0.0.0/0 --inbound tcp:443:0.0.0.0/0\npython3 scripts/digitalocean.py firewalls add-droplet <fw_id> <droplet_id>\n\nMigrate DNS to DigitalOcean\n# 1. Add domain\npython3 scripts/digitalocean.py dns create example.com\n\n# 2. Add records\npython3 scripts/digitalocean.py dns add example.com --type A --name @ --data 1.2.3.4\npython3 scripts/digitalocean.py dns add example.com --type CNAME --name www --data example.com.\n\n# 3. Update nameservers at registrar to:\n#    ns1.digitalocean.com\n#    ns2.digitalocean.com\n#    ns3.digitalocean.com\n\nDirect API Access\n\nFor operations not covered by the script:\n\nTOKEN=$(cat ~/.config/digitalocean/token)\ncurl -H \"Authorization: Bearer $TOKEN\" \\\n     -H \"Content-Type: application/json\" \\\n     https://api.digitalocean.com/v2/droplets\n\nAPI Documentation\nFull API reference: https://docs.digitalocean.com/reference/api/\nAPI v2 base URL: https://api.digitalocean.com/v2/\nCommon Droplet Sizes\nSlug\tvCPUs\tRAM\tDisk\tPrice/mo\ns-1vcpu-512mb-10gb\t1\t512MB\t10GB\t$4\ns-1vcpu-1gb\t1\t1GB\t25GB\t$6\ns-1vcpu-2gb\t1\t2GB\t50GB\t$12\ns-2vcpu-2gb\t2\t2GB\t60GB\t$18\ns-2vcpu-4gb\t2\t4GB\t80GB\t$24\ns-4vcpu-8gb\t4\t8GB\t160GB\t$48\nCommon Regions\nSlug\tLocation\nnyc1, nyc3\tNew York\nsfo3\tSan Francisco\nams3\tAmsterdam\nsgp1\tSingapore\nlon1\tLondon\nfra1\tFrankfurt\ntor1\tToronto\nblr1\tBangalore\nsyd1\tSydney"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/rexlunae/digitalocean",
    "publisherUrl": "https://clawhub.ai/rexlunae/digitalocean",
    "owner": "rexlunae",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/digitalocean",
    "downloadUrl": "https://openagent3.xyz/downloads/digitalocean",
    "agentUrl": "https://openagent3.xyz/skills/digitalocean/agent",
    "manifestUrl": "https://openagent3.xyz/skills/digitalocean/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/digitalocean/agent.md"
  }
}