npm package: @sigma-synapses/digitalocean-skills
Description: Claude Code skills plugin for DigitalOcean infrastructure management
Author: Nolan Hu
Latest version: 1.0.0

<p align="center">
  <img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_icon_blue.svg" width="100" alt="DigitalOcean Logo">
</p>

<h1 align="center">DigitalOcean Skills</h1>

<p align="center">
  <strong>Claude Code skills for DigitalOcean infrastructure management</strong>
</p>

<p align="center">
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
  <a href="https://claude.ai"><img src="https://img.shields.io/badge/Claude%20Code-Plugin-blueviolet" alt="Claude Code Plugin"></a>
  <a href="https://www.digitalocean.com"><img src="https://img.shields.io/badge/DigitalOcean-0080FF?logo=digitalocean&logoColor=white" alt="DigitalOcean"></a>
  <img src="https://img.shields.io/badge/version-1.0.0-blue" alt="Version 1.0.0">
</p>

---

## What Are Skills?

Skills are workflow-oriented guides that help Claude Code accomplish complex infrastructure tasks. Unlike raw API wrappers, skills encode **best practices, security patterns, and operational knowledge** specific to DigitalOcean.

Each skill is a focused playbook that:

- Makes opinionated decisions (VPC by default, defense-in-depth security)
- Generates production-ready configurations
- Guides multi-step workflows (audit → remediate → verify)

## Prerequisites

| Requirement                                                                            | Purpose                                  |
| -------------------------------------------------------------------------------------- | ---------------------------------------- |
| [Claude Code](https://claude.ai/download)                                              | AI-powered development environment       |
| [DigitalOcean Account](https://cloud.digitalocean.com/registrations/new)               | Infrastructure provider                  |
| [DigitalOcean API Token](https://cloud.digitalocean.com/account/api/tokens)            | Authentication for API calls             |
| [DigitalOcean MCP](https://github.com/digitalocean-labs/mcp-digitalocean) _(optional)_ | Recommended for cleaner tool integration |

## Quick Setup

### 1. Install the Plugin

```bash
# From GitHub
claude plugin add github:iamnolanhu/digitalocean-skills
```

### 2. Configure Your API Token

```bash
# Set your DigitalOcean API token
export DIGITALOCEAN_API_TOKEN=your-token-here
```

Or copy `.env.example` to `.env` and add your token there.

### 3. Verify Installation

```bash
# Check that skills are available
/do-status
```

## Example Prompts

| What You Want                | Example Prompt                                                  |
| ---------------------------- | --------------------------------------------------------------- |
| **Create a Droplet**         | "Create a production-ready Droplet in NYC1 with firewall rules" |
| **Set up VPC**               | "Design a VPC for staging and production environments"          |
| **Security audit**           | "Audit my DigitalOcean infrastructure for security issues"      |
| **Configure firewall**       | "Set up defense-in-depth firewall rules for my web servers"     |
| **SSH access**               | "Configure SSH keys for my new Droplet"                         |
| **Cost tracking**            | "Show me my current DigitalOcean costs and resource usage"      |
| **Infrastructure dashboard** | "Give me a full overview of my DigitalOcean resources"          |

## Available Skills

| Skill                                                                    | Description                                                               |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| [`provisioning-droplets`](skills/provisioning-droplets/SKILL.md)         | Secure Droplet creation with sizing, networking, and backup configuration |
| [`configuring-firewalls`](skills/configuring-firewalls/SKILL.md)         | Defense-in-depth firewall patterns and security rules                     |
| [`managing-load-balancers`](skills/managing-load-balancers/SKILL.md)     | HA setup, SSL termination, and health checks                              |
| [`designing-vpcs`](skills/designing-vpcs/SKILL.md)                       | Network architecture, CIDR planning, and VPC peering                      |
| [`managing-dns`](skills/managing-dns/SKILL.md)                           | Domain configuration, DNS records, and email setup                        |
| [`managing-ssh-keys`](skills/managing-ssh-keys/SKILL.md)                 | SSH key setup, troubleshooting, and key rotation                          |
| [`hardening-infrastructure`](skills/hardening-infrastructure/SKILL.md)   | Security audits, compliance checklists, and best practices                |
| [`tracking-resources`](skills/tracking-resources/SKILL.md)               | Monitor infrastructure costs and resource usage                           |
| [`using-digitalocean-skills`](skills/using-digitalocean-skills/SKILL.md) | Plugin overview and getting started guide                                 |

Skills are automatically invoked based on context, or explicitly:

```
Use the provisioning-droplets skill to create a new server
```

## Commands

| Command         | Description                         |
| --------------- | ----------------------------------- |
| `/do-dashboard` | Full infrastructure view with costs |
| `/do-costs`     | Quick cost breakdown                |
| `/do-status`    | Infrastructure overview             |
| `/do-provision` | Interactive guided provisioning     |
| `/do-firewall`  | Firewall rule management            |
| `/do-ssh-setup` | SSH key configuration               |

### Command Examples

```bash
/do-dashboard              # Full infrastructure overview with costs
/do-costs                  # Quick cost breakdown
/do-status                 # Infrastructure summary
/do-status nyc1            # Filter by region
/do-firewall list          # List all firewalls
/do-firewall show fw-prod  # Show firewall details
/do-ssh-setup              # Configure SSH keys
```

## Agents

| Agent                    | Description                                                                  |
| ------------------------ | ---------------------------------------------------------------------------- |
| `infrastructure-auditor` | Systematic security audit with categorized findings and remediation guidance |
| `network-architect`      | VPC design, CIDR planning, and architecture diagrams                         |
| `cost-optimizer`         | Right-size Droplets, identify waste, and recommend cost savings              |

```
Use the infrastructure-auditor agent to audit my DigitalOcean setup
Use the network-architect agent to design a multi-region architecture
Use the cost-optimizer agent to reduce my DigitalOcean costs
```

## Skill Structure

```
digitalocean-skills/
├── skills/
│   ├── provisioning-droplets/       # Secure Droplet creation
│   ├── configuring-firewalls/       # Defense-in-depth patterns
│   ├── managing-load-balancers/     # HA and SSL termination
│   ├── designing-vpcs/              # Network architecture
│   ├── managing-dns/                # Domain and records
│   ├── managing-ssh-keys/           # SSH key setup & rotation
│   ├── hardening-infrastructure/    # Security best practices
│   ├── tracking-resources/          # Cost and usage monitoring
│   └── using-digitalocean-skills/   # Plugin overview & getting started
├── agents/
│   ├── infrastructure-auditor       # Security assessments
│   ├── network-architect            # VPC topology design
│   └── cost-optimizer               # Cost reduction & right-sizing
├── commands/
│   ├── /do-dashboard                # Full infrastructure view
│   ├── /do-costs                    # Quick cost breakdown
│   ├── /do-status                   # Infrastructure overview
│   ├── /do-provision                # Guided provisioning
│   ├── /do-firewall                 # Firewall management
│   └── /do-ssh-setup                # SSH key configuration
└── hooks/
    └── session-start                # Auto-init on startup
```

## Skill Dependency Graph

```
┌─────────────────────────────────────────────────────────────┐
│                    User Request                              │
└─────────────────────────────────────────────────────────────┘
                              │
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
     ┌────────────┐   ┌────────────┐   ┌────────────┐
     │ Provision  │   │  Network   │   │  Security  │
     │  Droplets  │   │ Architect  │   │  Auditor   │
     └────────────┘   └────────────┘   └────────────┘
              │               │               │
              ▼               ▼               ▼
     ┌────────────────────────────────────────────────┐
     │              Core Skills Layer                  │
     │  ┌──────────┐ ┌──────────┐ ┌──────────────┐   │
     │  │   VPC    │ │ Firewall │ │ SSH Keys     │   │
     │  └──────────┘ └──────────┘ └──────────────┘   │
     │  ┌──────────┐ ┌──────────┐ ┌──────────────┐   │
     │  │   DNS    │ │ Load Bal │ │ Hardening    │   │
     │  └──────────┘ └──────────┘ └──────────────┘   │
     └────────────────────────────────────────────────┘
                              │
                              ▼
     ┌────────────────────────────────────────────────┐
     │           DigitalOcean MCP Tools               │
     └────────────────────────────────────────────────┘
```

## Using With or Without MCP

This plugin works in two modes:

### With MCP (Recommended)

Install the official DigitalOcean MCP server for the cleanest experience:

```bash
claude mcp add digitalocean-mcp \
  -e DIGITALOCEAN_API_TOKEN=$DIGITALOCEAN_API_TOKEN \
  -- npx @digitalocean/mcp --services droplets,vpcs,firewalls,domains
```

Skills will use MCP tools like `droplet-create`, `firewall-list`, etc.

### Without MCP

If you prefer not to install MCP, skills use direct API calls via curl. Just set your API token:

```bash
export DIGITALOCEAN_API_TOKEN=your-token-here
```

Each skill includes both MCP commands and API fallback examples.

## Philosophy

These skills are **opinionated playbooks**, not documentation replicas:

- **They make decisions** — VPC by default, defense-in-depth security patterns
- **They generate configurations** — Firewall rules, load balancer specs, CIDR blocks
- **They guide workflows** — Audit → Remediate → Verify cycles
- **They never handle credentials directly** — Environment variables only

**Key principle**: Skills contain DigitalOcean-specific knowledge that complements MCP tools, turning API calls into production-ready infrastructure.

## Credential Safety

All skills follow this priority for credentials:

1. **Environment Variables** — `DIGITALOCEAN_API_TOKEN` from `.env` or shell
2. **Claude Code Settings** — Configured via Claude Code MCP settings
3. **Never hardcoded** — Skills never store, log, or expose credentials

See [.env.example](.env.example) for configuration guidance.

<details>
<summary><strong>Covered MCP Tools</strong></summary>

### Droplets

- `droplet-create`, `droplet-delete`, `droplet-get`, `droplet-list`
- `droplet-reboot`, `droplet-rename`, `droplet-resize`
- `droplet-power-on`, `droplet-power-off`, `droplet-shutdown`
- `droplet-snapshot`, `droplet-enable-backups`, `droplet-disable-backups`

### Firewalls

- `firewall-create`, `firewall-delete`, `firewall-get`, `firewall-list`
- `firewall-add-rules`, `firewall-remove-rules`
- `firewall-add-droplets`, `firewall-remove-droplets`

### Load Balancers

- `load-balancer-create`, `load-balancer-delete`, `load-balancer-get`, `load-balancer-list`
- `load-balancer-update`, `load-balancer-add-droplets`, `load-balancer-remove-droplets`

### VPCs

- `vpc-create`, `vpc-delete`, `vpc-get`, `vpc-list`
- `vpc-peering-create`, `vpc-peering-delete`, `vpc-peering-list`

### DNS

- `domain-create`, `domain-delete`, `domain-get`, `domain-list`
- `domain-record-create`, `domain-record-delete`, `domain-record-edit`, `domain-record-list`

### Certificates

- `certificate-lets-encrypt-create`, `certificate-custom-create`
- `certificate-delete`, `certificate-list`

### SSH Keys

- `ssh-key-create`, `ssh-key-delete`, `ssh-key-get`, `ssh-key-list`

</details>

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on:

- Adding new skills
- Improving existing workflows
- Reporting issues
- Submitting pull requests

## Roadmap

- **v1.1**: App Platform and Managed Databases skills
- **v1.2**: Kubernetes (DOKS) cluster management
- **v1.3**: Monitoring and automation skills

## Resources

- [DigitalOcean API Documentation](https://docs.digitalocean.com/reference/api/)
- [DigitalOcean MCP Server](https://github.com/digitalocean-labs/mcp-digitalocean)
- [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
- [DigitalOcean Size Slugs](https://slugs.do-api.dev/)

## License

MIT License - see [LICENSE](LICENSE) for details.

## Author

Nolan Hu ([@iamnolanhu](https://github.com/iamnolanhu))