hetzner-update

hetzner-update is a skill for Claude Code, Codex from IsaiaScope/ai. It costs 151 tokens per session (2,159 once invoked), scanned A, original, MIT.

A version-alignment tool for an open-source app running both on your Mac and on a Hetzner VPS, a rented virtual server. It compares the two installations and checks the releases between them.

In plain words
What is it for?
It helps check version drift, upgrade either side to a chosen version, classify intervening releases as safe or breaking, and update production after confirmation.
Why use it?
It prevents the local and server copies from drifting apart and pauses before applying a release that may break compatibility. It also backs up the running service before changing it.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: reads .claude/ paths.

Good fit It helps check version drift, upgrade either side to a chosen version, classify intervening releases as safe or breaking, and update production after confirmation.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/isaiascope/ai/hetzner-update
Install

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.

Any agent
npx skills add IsaiaScope/ai --skill hetzner-update
Clone the repo
git clone --depth 1 https://github.com/IsaiaScope/ai

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for hetzner-update

README.md
[![agentmods](https://agentmods.dev/badge/skills/isaiascope/ai/hetzner-update.svg)](https://agentmods.dev/skills/isaiascope/ai/hetzner-update)
Your own site
<a href="https://agentmods.dev/skills/isaiascope/ai/hetzner-update"><img src="https://agentmods.dev/badge/skills/isaiascope/ai/hetzner-update.svg" alt="Measured on agentmods" height="20"></a>
Per session 151 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,159 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00151 $0.02159
Opus 5 $0.00076 $0.01079
Sonnet 5 $0.00030 $0.00432
Haiku 4.5 $0.00015 $0.00216

Measured 7d ago against content hash 941dd480ff99, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

hetzner-update scanned grade A with 0 findings 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 7d ago.

The scan reads SKILL.md. This mod also ships 4 executable files (scripts/dokploy-set-compose.py, scripts/dokploy-set-env.py, scripts/plan-upgrade.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/hetzner-update/SKILL.md · 210 lines

How it starts

The opening of the file, as written. The whole thing — 210 lines — stays where its author put it; the contents beside it link to each section on GitHub.

hetzner-update

Keep a self-hosted app and its local half on the same version, and refuse to cross a breaking change without asking.

Invocation: /hetzner-update [app] [--to <version>] [--check] app is a key under software in the registry. Omit it to do every entry. --check reports drift and stops, changing nothing.

Sibling skills: /hetzner-ssh (connect) · /hetzner-create · /hetzner-delete. Server connection details come from the fleet roster those skills own; this skill only names a server, never redefines one.

This changes a running production service. Step 5 always confirms before applying, and Step 4 always takes a backup first. Never skip either, and never infer approval from the invocation.


The model

Two halves that must agree, and a third thing that pretends to be one of them.

local the client on your Mac. Often a desktop app that self-updates and cannot be pinned
remote the service on the VPS. Pinned to a tag, and the half you can actually set
companions other binaries of the same name that speak to nothing. They may lag harmlessly, but they answer --version first and will lie to you about whether the halves agree

Companions exist because a Homebrew CLI and a bundled daemon can share a name and a $PATH. Read versions with the exact commands in the registry, never a bare binary name.


Step 0 — Load the registry

cat ~/.config/hetzner/hetzner.json
Condition Action
File missing First run on this machine. Create it from the schema in README.md. Do not invent entries for apps the user has not mentioned
Invalid JSON Report the parse error and the offending line. Do not rewrite the file. Stop
Requested app not in software Print the available keys and stop. Never guess a neighbouring name

Each entry names a server key. That key must exist in fleet.servers of ~/.config/hetzner/hetzner.json; if it does not, stop and say so rather than guessing an ssh alias.

Read the full file on GitHub · 210 lines

Files

What ships with it

5 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.

Changes

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.

  1. 7d ago First seen · 210 lines · 151 tokens per session scan A 941dd480ff99

Subscribe to this mod's changes

hetzner-update is a skill published in the GitHub repository IsaiaScope/ai (2 stars, last pushed 4d ago), licensed MIT. It adds 151 tokens to every session and 2,159 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

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.

Benknightdark/neo-skills · 66 tokens

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"…

pivoshenko/pivoshenko.ai · 162 tokens

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…

pivoshenko/pivoshenko.ai · 220 tokens

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...

majiayu000/claude-skill-registry · 48 tokens

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…

majiayu000/claude-skill-registry · 79 tokens

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…

majiayu000/claude-skill-registry · 79 tokens