Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/monkilabs/opencastle/hetznernpx skills add monkilabs/opencastle --skill hetznergit clone --depth 1 https://github.com/monkilabs/opencastleWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/monkilabs/opencastle/hetzner)<a href="https://agentmods.dev/skills/monkilabs/opencastle/hetzner"><img src="https://agentmods.dev/badge/skills/monkilabs/opencastle/hetzner.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00094 | $0.01876 |
| Opus 5 | $0.00047 | $0.00938 |
| Sonnet 5 | $0.00019 | $0.00375 |
| Haiku 4.5 | $0.00009 | $0.00188 |
Grade C, and why
hetzner-cloud scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Cloud metadata endpointhighServer-side request forgery
One request to 169.254.169.254 can return temporary IAM credentials.
- Metadata endpoint: `http://169.254.169.254/hetzner/v1/metadata` (useful in cloud-init to self-discover private IP). How it starts
The opening of the file, as written. The whole thing — 97 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hetzner Cloud
Facts that drift (prices, SKUs, locations, limits) go stale — prefer retrieval over pre-training: hcloud server-type list -o json, hcloud location list, docs.hetzner.com. Everything below is behavior, not price sheets. If the project documents a topology (e.g. docs/architecture/), read it before provisioning anything.
Provisioning Workflow
- Pick type + location together — CAX (Ampere arm64, best RAM/€) exists only in EU DCs (fsn1/nbg1/hel1); verify with
hcloud server-type list. arm64 requires multi-arch container images end-to-end.- Checkpoint:
hcloud server-type describe <type>shows the target location.
- Checkpoint:
- Create network + firewall before servers — attach at create time; firewall via label selector (
role=web) scales better than per-server IDs.- Checkpoint: firewall rules list SSH restricted to admin IPs, never
0.0.0.0/0.
- Checkpoint: firewall rules list SSH restricted to admin IPs, never
- Create server with cloud-init user-data — runs once at first boot only.
- Recovery: broken cloud-init → don't patch by hand; fix the template,
server rebuild(keeps IPs) or replace via IaC.
- Recovery: broken cloud-init → don't patch by hand; fix the template,
- Attach volumes, then mount explicitly — see Volumes below.
- Checkpoint: mount survives reboot (
fstabentry, not justautomount).
- Checkpoint: mount survives reboot (
- Enable protection on stateful resources —
hcloud server enable-protection <s> delete rebuild+ same for volumes.- Gate: protection verified via
hcloud server describebefore real data lands.
- Gate: protection verified via
Non-Obvious Behaviors
Networking
- Cloud Firewalls filter ONLY the public interface. Private-network traffic is never touched by them — segment the private net with host firewalls (
ufw) or not at all. This is the most common Hetzner security misconception. - Private network MTU is 1450, not 1500 — override in Docker (
daemon.json"mtu": 1450) and any overlay/VPN on top, or suffer silent large-packet stalls. - Private networks are not encrypted — treat as shared fabric, keep TLS for sensitive cross-node traffic.
- Network zones (e.g.
eu-central= fsn1/nbg1/hel1) span DCs — cross-DC private traffic works and is free. - Floating IPs need manual OS config (netplan alias); primary IPs configure themselves. Floating IP ≠ instant failover without host-side automation.
- IPv4 primary IPs bill separately and survive server deletion unless
auto_deleteis set — orphaned IPs keep billing.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 97 lines · 94 tokens per session scan C e4ad8ae6865d
hetzner-cloud is a skill published in the GitHub repository monkilabs/opencastle (61 stars, last pushed 5d ago), licensed MIT. It adds 94 tokens to every session and 1,876 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 1 finding (cloud metadata endpoint). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
deploying-scalable-agents
Take a working agent prototype to a scalable, observable production deployment on Microsoft Foundry. Covers deployment patterns (client-hosted, hosted agents, agent workflows), the agent lifecycle, model routing, response caching, evaluation gates, human-in-the-loop approval, observability with OpenTelemetry, cost…
k8s-cost-visibility
Estimate Kubernetes infrastructure costs by querying cluster node, pod, PVC/PV, and LoadBalancer data, applying cloud pricing models, and producing cost attribution reports with storage and LoadBalancer cost tracking, grouped by namespace, workload, node, label, or annotation.
product-architect
Complete product development system with 64 agents and 35 frameworks. Use when the user wants to build a product, write a PRD, plan an MVP or roadmap, design an app, research a market or check whether a feature already exists or is novel, do competitive analysis, run a security audit, build a financial model, plan…
codex-delegation
Use when a coding task would benefit from delegating work to Codex in the background — a deep independent second opinion, security or architecture analysis, or a parallel implementation running while the session continues. Lets Claude drive the codex companion itself (task, review, status --wait, result) without the…
cursor-delegation
Use when a coding task would benefit from delegating work to Cursor in the background — fast parallel implementation, scaffolding, or an everyday review running while the session continues. Lets Claude drive the cursor companion itself (task, review, status --wait, result) without the user typing /cursor: commands.
alibaba-live-ack-rollout-guard
Gate ACK deployment mutations, node pool scaling, and cluster version upgrades against rollback posture and workload disruption budget. Prevents irreversible cluster version upgrades from proceeding without PodDisruptionBudget verification, node drain confirmation, and explicit operator approval.