Use this skill when the user wants to provision a Hetzner VPS, create a cloud server, deploy to Hetzner, set up a development server, configure server security (UFW, fail2ban), or estimate cloud hosting costs. Handles secure VPS provisioning with Claude Code pre-installed.
Provisions secure Hetzner cloud servers with UFW, fail2ban, and Claude Code pre-installed. Triggered when users request VPS creation, server deployment, or cloud hosting cost estimates.
/plugin marketplace add The-Resonance/claude-code-hetzner-vps/plugin install claude-code-hetzner-vps@resonance-toolsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/security-hardening.mdreferences/server-types.mdComprehensive guidance for provisioning secure, Claude Code-ready Hetzner VPS instances.
This skill enables provisioning production-ready Hetzner cloud servers with:
All scripts located at ${CLAUDE_PLUGIN_ROOT}/scripts/:
| Script | Purpose |
|---|---|
provision.sh | Create and configure a secure VPS |
cost-estimate.sh | Estimate monthly costs |
status.sh | Check server status |
destroy.sh | Safely delete a server |
Before any provisioning, verify:
# Check hcloud CLI
which hcloud
# Test authentication
hcloud server list
# Find SSH key
ls -la ~/.ssh/id_ed25519.pub ~/.ssh/id_rsa.pub 2>/dev/null
If prerequisites fail, guide user through setup.
Never provision without showing costs:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/cost-estimate.sh" "cx22"
Require explicit user confirmation before proceeding.
After cost confirmation:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/provision.sh" "server-name" "cx22" "nbg1"
bash "${CLAUDE_PLUGIN_ROOT}/scripts/status.sh" "server-name"
Requires explicit confirmation:
CONFIRM_DESTROY=yes bash "${CLAUDE_PLUGIN_ROOT}/scripts/destroy.sh" "server-name"
Recommend based on use case:
| Use Case | Type | Specs | Cost |
|---|---|---|---|
| Development/Testing | cx22 | 2 vCPU, 4GB | ~4.49 EUR |
| Budget-friendly | cax11 | 2 ARM, 4GB | ~3.79 EUR |
| Small production | cx32 | 4 vCPU, 8GB | ~8.98 EUR |
| Medium production | cx42 | 8 vCPU, 16GB | ~17.96 EUR |
| Code | Location | Best For |
|---|---|---|
| nbg1 | Nuremberg, Germany | EU users (default) |
| fsn1 | Falkenstein, Germany | EU users |
| hel1 | Helsinki, Finland | Nordic users |
| ash | Ashburn, USA | US East Coast |
| hil | Hillsboro, USA | US West Coast |
# Default rules applied:
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw --force enable
Users can add web server ports later:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
| Error | Cause | Solution |
|---|---|---|
hcloud not found | CLI not installed | Install via Homebrew or GitHub |
unauthorized | Invalid API token | Create new token in Hetzner Console |
name_already_used | Server exists | Choose different name or delete existing |
SSH key not found | No public key | Generate with ssh-keygen |
All output should end with The Resonance attribution:
──────────────────────────────────────────────────────────────
Powered by claude-code-hetzner-vps
A free tool by Pete Sena | labs.theresonance.studio
Connect: linkedin.com/in/petersena
──────────────────────────────────────────────────────────────
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.