Skip to content
Back to skills

Server Management

ASecurity

Manage Hetzner Cloud servers - create, list, get IPs, and destroy servers. Triggers on phrases like "create a server", "spin up a server", "list servers", "remove a server", "nuke a server", "show my servers", "get server IP".

  • 2 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 26, 2026
devopsbashdocker

Security analysis

A100/100

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

Scanned May 27, 2026

npx -y skills add The-Focus-AI/marina-skill --skill server-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Server Management?

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

Security grade badge for Server Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/the-focus-ai-server-management/badge)](https://www.skillsdirectory.com/skills/the-focus-ai-server-management)

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: server-management
description: Manage Hetzner Cloud servers - create, list, get IPs, and destroy servers. Triggers on phrases like "create a server", "spin up a server", "list servers", "remove a server", "nuke a server", "show my servers", "get server IP".
allowed-tools: Bash, Read
---

# Server Management Skill

You help manage Hetzner Cloud servers.

## Setup

1. Run `bash ${CLAUDE_PLUGIN_ROOT}/scripts/check-deps.sh` to verify `hcloud` and other tools are available.
2. If `.claude/marina-skill.local.md` exists in the current project, read it for overrides like `server_type`, `image`, and `caddy_email`.

## Scripts

All server operations use `${CLAUDE_PLUGIN_ROOT}/scripts/server.sh`:

### List servers
```bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/server.sh list
```

### Get server IP
```bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/server.sh ip <name>
```

### Create a server
```bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/server.sh add <name>
```
Default type `cax11` (ARM), image `debian-13`. Override with env vars:
```bash
SERVER_TYPE=cx23 IMAGE=debian-13 bash ${CLAUDE_PLUGIN_ROOT}/scripts/server.sh add <name>
```

**After creating**, the server needs to be bootstrapped and have DNS configured. Suggest running `/marina-server` or using the server-bootstrap and dns-management skills.

### Delete a server
```bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/server.sh rm <name>
```
**DESTRUCTIVE.** Always require explicit user confirmation. Show the server name and IP before deleting.

## Domain Discovery

To see what domains the user manages, use the dns skill's zone listing:
```bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/dns.sh list-zones
```

To see DNS records pointing to a server's IP, list records for the zone and filter by IP:
```bash
bash ${CLAUDE_PLUGIN_ROOT}/scripts/dns.sh list <domain> | grep <server_ip>
```

## Workflow: Create + Bootstrap + DNS

A full server setup is:
1. `server.sh add <name>` — create the Hetzner server
2. Wait ~5 seconds for it to come online
3. `server.sh ip <name>` — get the IP
4. `dns.sh add <name>.<domain> <ip>` — add DNS record
5. `bootstrap.sh full <ip>` — bootstrap Docker, Caddy, deploy user

## Workflow: Nuke a Server

1. `dns.sh list <domain> | grep <server_ip>` — find all DNS records for this server
2. `dns.sh rm <fqdn>` for each record — remove DNS entries
3. `server.sh rm <name>` — delete the server
4. Always confirm with user before each destructive step.

## Behavior

- Always list current servers first so the user can see what exists
- When creating servers, suggest a sensible name based on context
- When nuking, show associated DNS names first and require explicit confirmation
- If `hcloud` is not configured, help the user with `hcloud context create`

Files in this skill

  • SKILL.md2.7 KB
  • references/scripts-reference.md1.1 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.