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/isaiascope/ai/hetzner-createnpx skills add IsaiaScope/ai --skill hetzner-creategit clone --depth 1 https://github.com/IsaiaScope/aiWrote 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/isaiascope/ai/hetzner-create)<a href="https://agentmods.dev/skills/isaiascope/ai/hetzner-create"><img src="https://agentmods.dev/badge/skills/isaiascope/ai/hetzner-create.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.1 | $0.00122 | $0.02693 |
| Opus 5 | $0.00061 | $0.01347 |
| Sonnet 5 | $0.00024 | $0.00539 |
| Haiku 4.5 | $0.00012 | $0.00269 |
Grade A, and why
hetzner-create scanned grade A 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 5d 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.
Asks for rootlowPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
user isoonfire (sudo NOPASSWD, key-only) Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.
How it starts
The opening of the file, as written. The whole thing — 258 lines — stays where its author put it; the contents beside it link to each section on GitHub.
hetzner-create
Create a Hetzner VPS that is hardened before it ever answers on port 22, then register
it so /hetzner-ssh <name> just works.
Invocation: /hetzner-create <name> [--type X] [--location Y] [--image Z]
<name> becomes the Hetzner server name, the hostname, and the roster key.
Unspecified options come from defaults in the roster.
Sibling skills: /hetzner-ssh (connect) · /hetzner-delete (destroy).
Creating a server starts a recurring charge. Step 3 always confirms with the user before anything is created. Never skip it, never infer approval from the invocation.
Step 0 — Load the roster
cat ~/.config/hetzner/hetzner.json
Missing file → this is the first server on this machine. Create it with a defaults
block (see README) rather than failing.
| Condition | Action |
|---|---|
<name> already in servers |
Refuse. Never auto-suffix — a near-miss name is how the wrong box gets touched later. Ask for a different name |
| Invalid JSON | Report the parse error and line. Do not rewrite the file. Stop |
No <name> given |
Ask. Do not invent one |
Merge defaults with any command-line overrides to get the effective settings. Show them
back in Step 3 before spending money.
Step 1 — Local preflight
Everything the create call depends on. Fix what is missing, in this order.
command -v hcloud || echo "NO-HCLOUD"
hcloud context list 2>/dev/null | grep -q . || echo "NO-CONTEXT"
ls -l <key> <key>.pub 2>/dev/null || echo "NO-KEY"
grep -q "^Include" ~/.ssh/config 2>/dev/null || echo "NO-INCLUDE"
hcloud ssh-key list -o noheader 2>/dev/null | grep -q <key_fingerprint_prefix> || echo "NO-REMOTE-KEY"
| Missing | Fix | Who acts |
|---|---|---|
hcloud |
brew install hcloud |
agent |
| context | hcloud context create <hcloud_context> — prompts for an API token |
user pastes the token. Never type it for them |
| private key | Copy from a password manager / another machine, then chmod 600 |
user. Never generate a replacement — the fleet shares one key |
<key>.pub |
ssh-keygen -y -f <key> > <key>.pub (needs the agent) |
agent |
Include line |
Add Include config.d/* as line 1 of ~/.ssh/config, above any Host *, after backing it up |
confirm with user first |
| Hetzner-side key | hcloud ssh-key create --name <label> --public-key-from-file <key>.pub |
agent |
What ships with it
3 files 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.
- 5d ago First seen · 258 lines · 122 tokens per session scan A cecb579dbdcd
hetzner-create is a skill published in the GitHub repository IsaiaScope/ai (2 stars, last pushed 2d ago), licensed MIT. It adds 122 tokens to every session and 2,693 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
neo-azure-pipelines
Use this skill when the user asks to create, review, debug, or modernize Azure Pipelines YAML for CI/CD, especially .NET builds, Azure App Service deploys, or IIS/on-premises deploys. Prefer bundled templates and verify task syntax against Microsoft docs when version-specific accuracy matters.
vercel-hygiene
Audit and harden the 4 pivoshenko brand sites on Vercel (pivoshenko.dev, pivoshenko.startpage, pivoshenko.wallpapers, pivoshenko.ai), team pivoshenko. Read-only sweep -> per-site report (ok/attention/action) -> confirmed fixes. Emphasizes security headers and analytics coverage. Use when the user says "audit vercel"…
cloudflare-hygiene
Audit + harden + optimize live Cloudflare zones/domains — read-only sweep of each zone (SSL/TLS mode, HSTS, min TLS, TLS 1.3, Always-Use-HTTPS, Brotli, HTTP/3, 0-RTT, Early Hints, caching, security level, Bot Fight Mode, WAF, DNS proxy/TTL + SPF/DKIM/DMARC hygiene, DNSSEC) -> ok/attention/action report grouped by…
agent-framework-azure-ai-py
Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code int...
agent-framework-azure-ai-py
Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code interpreter, file search, web search), integrating MCP servers, managing conversation threads, or implementing streaming…
agent-framework-azure-ai-py
Build Azure AI Foundry agents using the Microsoft Agent Framework Python SDK (agent-framework-azure-ai). Use when creating persistent agents with AzureAIAgentsProvider, using hosted tools (code interpreter, file search, web search), integrating MCP servers, managing conversation threads, or implementing streaming…