{
  "schemaVersion": "1.0",
  "item": {
    "slug": "hcloud",
    "name": "Hetzner Cloud CLI",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/jpj069/hcloud",
    "canonicalUrl": "https://clawhub.ai/jpj069/hcloud",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/hcloud",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hcloud",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "hcloud",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T02:59:05.492Z",
      "expiresAt": "2026-05-11T02:59:05.492Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hcloud",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hcloud",
        "contentDisposition": "attachment; filename=\"hcloud-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "hcloud"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/hcloud"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/hcloud",
    "agentPageUrl": "https://openagent3.xyz/skills/hcloud/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hcloud/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hcloud/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Hetzner Cloud CLI (hcloud)",
        "body": "Manage Hetzner Cloud infrastructure with the official CLI tool."
      },
      {
        "title": "Prerequisites",
        "body": "Installation (if not already installed):\n\n# Detect architecture\nARCH=$(uname -m)\nif [ \"$ARCH\" = \"aarch64\" ] || [ \"$ARCH\" = \"arm64\" ]; then\n  URL=\"https://github.com/hetznercloud/cli/releases/latest/download/hcloud-linux-arm64.tar.gz\"\nelse\n  URL=\"https://github.com/hetznercloud/cli/releases/latest/download/hcloud-linux-amd64.tar.gz\"\nfi\n\n# Install\ncd /tmp\nwget -q \"$URL\"\ntar xzf hcloud-linux-*.tar.gz\nsudo mv hcloud /usr/local/bin/\nchmod +x /usr/local/bin/hcloud\n\nConfiguration (first time):\n\nmkdir -p ~/.config/hcloud\ncat > ~/.config/hcloud/cli.toml <<EOF\nactive_context = \"default\"\n\n[[contexts]]\nname = \"default\"\ntoken = \"YOUR_HETZNER_API_TOKEN\"\nEOF\nchmod 600 ~/.config/hcloud/cli.toml\n\nVerify:\n\nhcloud version\nhcloud server list"
      },
      {
        "title": "Servers",
        "body": "# List servers\nhcloud server list\n\n# Get server details\nhcloud server describe <name-or-id>\n\n# Create server\nhcloud server create \\\n  --name my-server \\\n  --type cx11 \\\n  --image ubuntu-24.04 \\\n  --ssh-key <key-id-or-name> \\\n  --location nbg1\n\n# Start/stop/reboot\nhcloud server start <name-or-id>\nhcloud server stop <name-or-id>\nhcloud server reboot <name-or-id>\n\n# Delete server\nhcloud server delete <name-or-id>\n\n# SSH into server\nhcloud server ssh <name-or-id>\n\n# Run command on server\nhcloud server ssh <name-or-id> -- 'uname -a'"
      },
      {
        "title": "Firewalls",
        "body": "# List firewalls\nhcloud firewall list\n\n# Get firewall details\nhcloud firewall describe <name-or-id>\n\n# Create firewall\nhcloud firewall create \\\n  --name my-firewall \\\n  --rules-file rules.json\n\n# Add rule to firewall\nhcloud firewall add-rule <name-or-id> \\\n  --direction in \\\n  --port 22 \\\n  --protocol tcp \\\n  --source-ips 0.0.0.0/0 \\\n  --source-ips ::/0 \\\n  --description \"SSH\"\n\n# Apply firewall to server\nhcloud firewall apply-to-resource <firewall-name> \\\n  --type server \\\n  --server <server-name-or-id>\n\n# Remove firewall from server\nhcloud firewall remove-from-resource <firewall-name> \\\n  --type server \\\n  --server <server-name-or-id>\n\n# Delete firewall\nhcloud firewall delete <name-or-id>"
      },
      {
        "title": "SSH Keys",
        "body": "# List SSH keys\nhcloud ssh-key list\n\n# Add SSH key\nhcloud ssh-key create \\\n  --name my-key \\\n  --public-key-from-file ~/.ssh/id_ed25519.pub\n\n# Delete SSH key\nhcloud ssh-key delete <name-or-id>"
      },
      {
        "title": "Server Types & Images",
        "body": "# List available server types\nhcloud server-type list\n\n# List available images\nhcloud image list\nhcloud image list --type system  # Only system images\n\n# List locations\nhcloud location list"
      },
      {
        "title": "Volumes",
        "body": "# List volumes\nhcloud volume list\n\n# Create volume\nhcloud volume create \\\n  --name my-volume \\\n  --size 10 \\\n  --location nbg1\n\n# Attach volume to server\nhcloud volume attach <volume-name> <server-name>\n\n# Detach volume\nhcloud volume detach <volume-name>\n\n# Delete volume\nhcloud volume delete <volume-name>"
      },
      {
        "title": "Networks",
        "body": "# List networks\nhcloud network list\n\n# Create network\nhcloud network create \\\n  --name my-network \\\n  --ip-range 10.0.0.0/16\n\n# Add subnet\nhcloud network add-subnet <network-name> \\\n  --type cloud \\\n  --network-zone eu-central \\\n  --ip-range 10.0.1.0/24\n\n# Attach server to network\nhcloud server attach-to-network <server-name> \\\n  --network <network-name>"
      },
      {
        "title": "Load Balancers",
        "body": "# List load balancers\nhcloud load-balancer list\n\n# Create load balancer\nhcloud load-balancer create \\\n  --name my-lb \\\n  --type lb11 \\\n  --location nbg1\n\n# Add target (server)\nhcloud load-balancer add-target <lb-name> \\\n  --server <server-name>\n\n# Add service\nhcloud load-balancer add-service <lb-name> \\\n  --protocol http \\\n  --listen-port 80 \\\n  --destination-port 80"
      },
      {
        "title": "Firewall Rules Format",
        "body": "For complex firewall rules, use JSON:\n\n[\n  {\n    \"direction\": \"in\",\n    \"port\": \"22\",\n    \"protocol\": \"tcp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"SSH\"\n  },\n  {\n    \"direction\": \"in\",\n    \"port\": \"80\",\n    \"protocol\": \"tcp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"HTTP\"\n  },\n  {\n    \"direction\": \"in\",\n    \"port\": \"443\",\n    \"protocol\": \"tcp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"HTTPS\"\n  },\n  {\n    \"direction\": \"in\",\n    \"protocol\": \"icmp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"ICMP (ping)\"\n  }\n]"
      },
      {
        "title": "Common Server Types",
        "body": "TypevCPURAMDiskPrice/mo (approx)cx1112 GB20 GB€4cx2124 GB40 GB€6cx2224 GB40 GB€6 (deprecated)cx2324 GB40 GB€3cx3128 GB80 GB€10cx3348 GB80 GB€5cpx1122 GB40 GB€5cpx2134 GB80 GB€10cpx3148 GB160 GB€18\n\ncx series: Shared vCPU (cost-optimized)\ncpx series: Dedicated vCPU (performance-optimized)"
      },
      {
        "title": "Tips",
        "body": "Use --output json for parsing: hcloud server list --output json | jq\nContext switching: Create multiple contexts in ~/.config/hcloud/cli.toml for different projects/accounts\nServer labels: Use labels for organization: --labels environment=production,project=web\nDefault location: Set default location to avoid specifying: hcloud context config default-location nbg1\nDry run: Many commands support --dry-run or --validate flags"
      },
      {
        "title": "Documentation",
        "body": "Official docs: https://docs.hetzner.cloud/\nGitHub: https://github.com/hetznercloud/cli"
      }
    ],
    "body": "Hetzner Cloud CLI (hcloud)\n\nManage Hetzner Cloud infrastructure with the official CLI tool.\n\nPrerequisites\n\nInstallation (if not already installed):\n\n# Detect architecture\nARCH=$(uname -m)\nif [ \"$ARCH\" = \"aarch64\" ] || [ \"$ARCH\" = \"arm64\" ]; then\n  URL=\"https://github.com/hetznercloud/cli/releases/latest/download/hcloud-linux-arm64.tar.gz\"\nelse\n  URL=\"https://github.com/hetznercloud/cli/releases/latest/download/hcloud-linux-amd64.tar.gz\"\nfi\n\n# Install\ncd /tmp\nwget -q \"$URL\"\ntar xzf hcloud-linux-*.tar.gz\nsudo mv hcloud /usr/local/bin/\nchmod +x /usr/local/bin/hcloud\n\n\nConfiguration (first time):\n\nmkdir -p ~/.config/hcloud\ncat > ~/.config/hcloud/cli.toml <<EOF\nactive_context = \"default\"\n\n[[contexts]]\nname = \"default\"\ntoken = \"YOUR_HETZNER_API_TOKEN\"\nEOF\nchmod 600 ~/.config/hcloud/cli.toml\n\n\nVerify:\n\nhcloud version\nhcloud server list\n\nCommon Commands\nServers\n# List servers\nhcloud server list\n\n# Get server details\nhcloud server describe <name-or-id>\n\n# Create server\nhcloud server create \\\n  --name my-server \\\n  --type cx11 \\\n  --image ubuntu-24.04 \\\n  --ssh-key <key-id-or-name> \\\n  --location nbg1\n\n# Start/stop/reboot\nhcloud server start <name-or-id>\nhcloud server stop <name-or-id>\nhcloud server reboot <name-or-id>\n\n# Delete server\nhcloud server delete <name-or-id>\n\n# SSH into server\nhcloud server ssh <name-or-id>\n\n# Run command on server\nhcloud server ssh <name-or-id> -- 'uname -a'\n\nFirewalls\n# List firewalls\nhcloud firewall list\n\n# Get firewall details\nhcloud firewall describe <name-or-id>\n\n# Create firewall\nhcloud firewall create \\\n  --name my-firewall \\\n  --rules-file rules.json\n\n# Add rule to firewall\nhcloud firewall add-rule <name-or-id> \\\n  --direction in \\\n  --port 22 \\\n  --protocol tcp \\\n  --source-ips 0.0.0.0/0 \\\n  --source-ips ::/0 \\\n  --description \"SSH\"\n\n# Apply firewall to server\nhcloud firewall apply-to-resource <firewall-name> \\\n  --type server \\\n  --server <server-name-or-id>\n\n# Remove firewall from server\nhcloud firewall remove-from-resource <firewall-name> \\\n  --type server \\\n  --server <server-name-or-id>\n\n# Delete firewall\nhcloud firewall delete <name-or-id>\n\nSSH Keys\n# List SSH keys\nhcloud ssh-key list\n\n# Add SSH key\nhcloud ssh-key create \\\n  --name my-key \\\n  --public-key-from-file ~/.ssh/id_ed25519.pub\n\n# Delete SSH key\nhcloud ssh-key delete <name-or-id>\n\nServer Types & Images\n# List available server types\nhcloud server-type list\n\n# List available images\nhcloud image list\nhcloud image list --type system  # Only system images\n\n# List locations\nhcloud location list\n\nVolumes\n# List volumes\nhcloud volume list\n\n# Create volume\nhcloud volume create \\\n  --name my-volume \\\n  --size 10 \\\n  --location nbg1\n\n# Attach volume to server\nhcloud volume attach <volume-name> <server-name>\n\n# Detach volume\nhcloud volume detach <volume-name>\n\n# Delete volume\nhcloud volume delete <volume-name>\n\nNetworks\n# List networks\nhcloud network list\n\n# Create network\nhcloud network create \\\n  --name my-network \\\n  --ip-range 10.0.0.0/16\n\n# Add subnet\nhcloud network add-subnet <network-name> \\\n  --type cloud \\\n  --network-zone eu-central \\\n  --ip-range 10.0.1.0/24\n\n# Attach server to network\nhcloud server attach-to-network <server-name> \\\n  --network <network-name>\n\nLoad Balancers\n# List load balancers\nhcloud load-balancer list\n\n# Create load balancer\nhcloud load-balancer create \\\n  --name my-lb \\\n  --type lb11 \\\n  --location nbg1\n\n# Add target (server)\nhcloud load-balancer add-target <lb-name> \\\n  --server <server-name>\n\n# Add service\nhcloud load-balancer add-service <lb-name> \\\n  --protocol http \\\n  --listen-port 80 \\\n  --destination-port 80\n\nFirewall Rules Format\n\nFor complex firewall rules, use JSON:\n\n[\n  {\n    \"direction\": \"in\",\n    \"port\": \"22\",\n    \"protocol\": \"tcp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"SSH\"\n  },\n  {\n    \"direction\": \"in\",\n    \"port\": \"80\",\n    \"protocol\": \"tcp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"HTTP\"\n  },\n  {\n    \"direction\": \"in\",\n    \"port\": \"443\",\n    \"protocol\": \"tcp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"HTTPS\"\n  },\n  {\n    \"direction\": \"in\",\n    \"protocol\": \"icmp\",\n    \"source_ips\": [\"0.0.0.0/0\", \"::/0\"],\n    \"description\": \"ICMP (ping)\"\n  }\n]\n\nCommon Server Types\nType\tvCPU\tRAM\tDisk\tPrice/mo (approx)\ncx11\t1\t2 GB\t20 GB\t€4\ncx21\t2\t4 GB\t40 GB\t€6\ncx22\t2\t4 GB\t40 GB\t€6 (deprecated)\ncx23\t2\t4 GB\t40 GB\t€3\ncx31\t2\t8 GB\t80 GB\t€10\ncx33\t4\t8 GB\t80 GB\t€5\ncpx11\t2\t2 GB\t40 GB\t€5\ncpx21\t3\t4 GB\t80 GB\t€10\ncpx31\t4\t8 GB\t160 GB\t€18\n\ncx series: Shared vCPU (cost-optimized)\ncpx series: Dedicated vCPU (performance-optimized)\n\nTips\nUse --output json for parsing: hcloud server list --output json | jq\nContext switching: Create multiple contexts in ~/.config/hcloud/cli.toml for different projects/accounts\nServer labels: Use labels for organization: --labels environment=production,project=web\nDefault location: Set default location to avoid specifying: hcloud context config default-location nbg1\nDry run: Many commands support --dry-run or --validate flags\nDocumentation\n\nOfficial docs: https://docs.hetzner.cloud/ GitHub: https://github.com/hetznercloud/cli"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/jpj069/hcloud",
    "publisherUrl": "https://clawhub.ai/jpj069/hcloud",
    "owner": "jpj069",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/hcloud",
    "downloadUrl": "https://openagent3.xyz/downloads/hcloud",
    "agentUrl": "https://openagent3.xyz/skills/hcloud/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hcloud/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hcloud/agent.md"
  }
}