一键导入
hetzner-storage-box
Read and operate Hetzner Storage Boxes through Hetzner API management calls and WebDAV file requests with gateway-injected credentials.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Read and operate Hetzner Storage Boxes through Hetzner API management calls and WebDAV file requests with gateway-injected credentials.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Assess a codebase or app for ISO/IEC 27001:2022 readiness — detect technical security evidence, map it to Annex A controls, status each control (implemented/partial/missing/N-A), and produce an SoA-style gap report grounded in the standard's structure. Covers the ISMS clauses (4–10), the 93 Annex A controls in 4 themes, the 11 new 2022 controls, certification & the Statement of Applicability, risk assessment/treatment, and the 2024 climate amendment. A readiness aide, not a certification or legal/audit advice. Grounding pack current to 22 June 2026.
Assess whether a codebase or app complies with the EU AI Act (Regulation (EU) 2024/1689) — detect AI usage, classify the risk tier, determine provider/deployer role, map obligations, and produce a grounded, citation-backed gap report. Grounding pack current to 22 June 2026.
Apply the EU GDPR (Regulation (EU) 2016/679) and the German DSGVO/BDSG + TTDSG/TDDDG to real compliance work, grounded in the regulation rather than memory. Covers data-subject rights (Art. 12–22), records of processing/ROPA (Art. 30), data protection impact assessments/DPIA (Art. 35), processors and DPA/AVV (Art. 28), international transfers and SCCs (Art. 44–49), consent and cookie/ePrivacy rules (Art. 6/7 + TTDSG/TDDDG §25), personal-data breach notification (Art. 33/34), and security of processing (Art. 32). Cite the article, run the deadline-bound workflows, and draft ROPA/DPIA/DPA/privacy-notice/consent records from bundled templates. A structured compliance aide, not legal advice.
Use Langfuse for LLM observability and evaluation and look up Langfuse documentation. In HybridClaw, data access (traces, observations, sessions, scores, prompts, datasets, metrics) goes through the gateway-proxied langfuse.cjs helper with SecretRef auth — reads are green, writes are grant-gated. Documentation retrieval uses langfuse.com llms.txt, markdown pages, and search-docs. Covers instrumentation, prompt migration, error analysis, and LLM-as-a-judge calibration.
Read and operate Hetzner Cloud servers, server types, locations, networks, volumes, snapshots, and cost estimates through gateway-proxied API requests.
Read and manage Hetzner DNS zones and records through gateway-proxied DNS API requests with guarded A, AAAA, CNAME, and TXT changes.
| name | hetzner-storage-box |
| description | Read and operate Hetzner Storage Boxes through Hetzner API management calls and WebDAV file requests with gateway-injected credentials. |
| user-invocable | true |
| requires | {"bins":["node"]} |
| credentials | [{"id":"hetzner-api-token","kind":"bearer","required":true,"secret_ref":{"source":"store","id":"HETZNER_API_TOKEN"},"scope":"api.hetzner.com/v1/storage_boxes","how_to_obtain":"Create a Hetzner Console API token for the project containing the Storage Box. Use read-only scope for inventory and read-write scope only for approved Storage Box management changes."},{"id":"hetzner-storage-box-basic-auth","kind":"header","required":false,"secret_ref":{"source":"store","id":"HETZNER_STORAGE_BOX_BASIC_AUTH"},"scope":"*.your-storagebox.de WebDAV Authorization header","how_to_obtain":"Base64-encode '<storage-box-username>:<password>' and store only that encoded value. The helper injects it as 'Authorization: Basic <secret>' for WebDAV file operations."}] |
| metadata | {"hybridclaw":{"category":"infrastructure","short_description":"Hetzner Storage Box inventory, snapshots, and guarded WebDAV file operations.","tags":["hetzner","storage-box","webdav","archive","infrastructure"],"stakes_tiers":{"green":["list-storage-boxes","get-storage-box","list-snapshots","list-files","download-file","public-url"],"amber":["share-public-link","create-storage-box","update-storage-box","create-snapshot","upload-text","create-directory","archive-text"],"red":["delete-storage-box","delete-snapshot","delete-path"]},"escalation":{"writes":"confirm-each","route":"f14"},"cost_measurement":{"system":"UsageTotals","sub_limit_key":"hetzner-storage-box"}}} |
Use this skill for Storage Box inventory, lifecycle and snapshot management, plus WebDAV file reads and guarded uploads/archives.
list-storage-boxes, get-storage-box) for inventory
and metadata.list-files, download-file) for file inspection.plan before any management, file write, or public-link request.hetzner_storage_box.cjs as the API/WebDAV wrapper. Do not handcraft
Hetzner Storage Box API URLs, WebDAV URLs, JSON bodies, tiers, or secret refs
from memory.plan or after helper payload
generation. Do not call the built-in http_request tool.httpRequest object unchanged to http_request. The
bearerSecretName or secretHeaders field is the secret reference; do not
rewrite it, preflight it, inspect it, or ask the model for the secret.http_request call returns 401 or 403, stop after that first
failure. Do not retry, do not fan out to more endpoints or paths, and ask the
operator to set or verify the relevant secret.HETZNER_API_TOKEN or Storage Box passwords.
The gateway injects API bearer tokens and WebDAV Basic auth server-side.API management calls use HETZNER_API_TOKEN:
hybridclaw secret set HETZNER_API_TOKEN "<hetzner-console-api-token>"
HETZNER_API_TOKEN is the Hetzner Console token for Cloud and Storage Box
management APIs. DNS uses its own HETZNER_DNS_API_TOKEN because Hetzner DNS is
served by a separate DNS API and Auth-API-Token header.
WebDAV file operations use a Basic-auth secret containing only the base64
encoded username:password payload:
printf '%s' 'u00000:storage-box-password' | base64
hybridclaw secret set HETZNER_STORAGE_BOX_BASIC_AUTH "<base64-username-password>"
See references/operator-setup.md for operator setup, scope, and autonomy defaults.
node skills/hetzner-storage-box/hetzner_storage_box.cjs --help
Build management API requests:
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json http-request list-storage-boxes
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json http-request get-storage-box --box-id 123456
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json http-request create-snapshot --box-id 123456 --description "pre-archive" --operator-grant
Build WebDAV file requests:
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json webdav-request list-files \
--host u00000.your-storagebox.de --path /archives
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json webdav-request upload-text \
--host u00000.your-storagebox.de --path /archives/q4-invoices/manifest.txt \
--body "Archived Q4 invoices" --operator-grant
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json public-url \
--host u00000.your-storagebox.de --path /archives/q4-invoices.zip
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json share-public-link \
--host u00000.your-storagebox.de --path /archives/q4-invoices.zip \
--expires-at 2026-06-30 --operator-grant
delete-storage-box, delete-snapshot, and delete-path as red-risk
actions requiring exact target confirmation.public-url only constructs the URL for a path that is already public.
share-public-link is the guarded operator handoff for publishing a path and
recording its intended expiration. Storage Box file access is credentialed by
default, so do not present a path as public until the operator confirms the
serving configuration.UsageTotals; helper output
includes costMeasurement.system = "UsageTotals" for eval verification.node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json eval-scenarios
The fixture at evals/scenarios.json contains 10 scenarios covering inventory,
snapshots, WebDAV list/download/upload/archive, public links, and deletes.
python3 skills/skill-creator/scripts/quick_validate.py skills/hetzner-storage-box
node skills/hetzner-storage-box/hetzner_storage_box.cjs --help
node skills/hetzner-storage-box/hetzner_storage_box.cjs --format json eval-scenarios