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 skills add laguagu/claude-code-nextjs-skills --skill hetzner-cloudgit clone --depth 1 https://github.com/laguagu/claude-code-nextjs-skillsWrote 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/laguagu/claude-code-nextjs-skills/hetzner-cloud)<a href="https://agentmods.dev/skills/laguagu/claude-code-nextjs-skills/hetzner-cloud"><img src="https://agentmods.dev/badge/skills/laguagu/claude-code-nextjs-skills/hetzner-cloud/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/laguagu/claude-code-nextjs-skills/hetzner-cloud"><img src="https://agentmods.dev/badge/skills/laguagu/claude-code-nextjs-skills/hetzner-cloud.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00123 | $0.01687 |
| Opus 5 | $0.00062 | $0.00843 |
| Sonnet 5 | $0.00025 | $0.00337 |
| Haiku 4.5 | $0.00012 | $0.00169 |
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 6d 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.
Reaches for credential fileshighPrivilege escalation
SSH keys, cloud credentials, git-credentials, .npmrc, /etc/shadow: reading these is how a config file becomes a credential leak.
hcloud ssh-key create --name <key> --public-key-from-file ~/.ssh/id_ed25519.pub How it starts
The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hetzner Cloud
Operate Hetzner Cloud through the hcloud CLI. When in doubt about server types, prices, locations, images, or flag syntax, run the discovery command rather than rely on this file or pretraining — the CLI is current.
Authenticate
Generate a token in Hetzner Console → project → Security → API Tokens, then either:
hcloud context create <name> # interactive: stored in cli.toml, persists across shells
export HCLOUD_TOKEN="…" # CI/scripts: most commands read this automatically
hcloud context create is the one common case that still prompts even with the env var set — pass --token-from-env to skip the prompt in non-interactive sessions.
Health check: hcloud datacenter list.
Mental model
hcloud manages everything inside Hetzner Cloud: servers, networks, firewalls, load balancers, volumes, DNS zones, SSH keys, primary/floating IPs, snapshots, certificates, placement groups, storage boxes.
It does not manage:
- Hetzner Robot — dedicated/auction servers, separate product and API.
- Project creation, billing, team membership, API token issuing — web console only.
Discovery beats memorization. Pretraining ages; the CLI is current.
| Question | Command |
|---|---|
| Server types and prices | hcloud server-type list |
| Locations and datacenters | hcloud location list |
| OS images | hcloud image list --type system (add --architecture arm for ARM) |
| Command/flag details | hcloud <resource> <verb> --help |
| Everything in this project at a glance | hcloud all list |
| Is a server actually reachable? | hcloud server describe <srv> -o json → public_net.ipv4.blocked (see gotcha 9) |
Structured output for scripts: --output json | jq …, --output columns=id,name,status, --output format='{{.PublicNet.IPv4.IP}}'.
Workflows where order matters
Single commands are well-covered by --help. The chains worth pinning down:
Server with SSH key + firewall, ready to log in — key and firewall must exist before server create references them:
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.
- 6d ago Changed · +21 lines 6a0bf05a5130
- 10d ago First seen · 86 lines · 123 tokens per session scan C 8f616ba4e7ec
hetzner-cloud is a skill published in the GitHub repository laguagu/claude-code-nextjs-skills (62 stars, last pushed 7d ago), licensed MIT. It adds 123 tokens to every session and 1,687 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it C with 1 finding (reaches for credential files). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
adapter-aws-lambda
Deploy tRPC on AWS Lambda with awsLambdaRequestHandler() from @trpc/server/adapters/aws-lambda for API Gateway v1 (REST, APIGatewayProxyEvent) and v2 (HTTP, APIGatewayProxyEventV2), and Lambda Function URLs. Enable response streaming with awsLambdaStreamingRequestHandler() wrapped in awslambda.streamifyResponse().…
adapter-fetch
Deploy tRPC on WinterCG-compliant edge runtimes with fetchRequestHandler() from @trpc/server/adapters/fetch. Supports Cloudflare Workers, Deno Deploy, Vercel Edge Runtime, Astro, Remix, SolidStart. FetchCreateContextFnOptions provides req (Request) and resHeaders (Headers) for context creation. The endpoint option…
trigger-cost-savings
Analyze Trigger.dev tasks, schedules, and runs for cost optimization opportunities. Use when asked to reduce spend, optimize costs, audit usage, right-size machines, or review task efficiency. Combines static source analysis with live run analysis via the Trigger.dev MCP tools (listruns, getrundetails…
portaljs-deploy
Deploy a PortalJS portal to PortalJS Arc — Datopian-managed static hosting on Cloudflare. Builds a static export, uploads it, and returns a live SLUG.arc.portaljs.com URL. One command, one target. Use when a portal is ready to publish or redeploy to a live URL.
prepare-cloudflare-production-deployment
Source-of-truth runbook for preparing this Vinext Cloudflare Workers SaaS template for production deployment. Use when setting up or auditing Cloudflare MCP resources, wrangler.jsonc bindings, Worker secrets, Turnstile, Email Sending, GitHub Actions secrets/variables, or GitHub CLI deployment wiring for this…
deploy-release
Prepare and verify a staged or production deployment with rollback and smoke checks.