{
  "schemaVersion": "1.0",
  "item": {
    "slug": "wrangler",
    "name": "Wrangler",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Asleep123/wrangler",
    "canonicalUrl": "https://clawhub.ai/Asleep123/wrangler",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/wrangler",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=wrangler",
    "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",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/wrangler"
    },
    "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/wrangler",
    "agentPageUrl": "https://openagent3.xyz/skills/wrangler/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wrangler/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wrangler/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": "Cloudflare (Wrangler CLI)",
        "body": "Manage Cloudflare Workers and associated services via the wrangler CLI."
      },
      {
        "title": "Prerequisites",
        "body": "Node.js v20+ required\nInstall: npm install -g wrangler or use project-local npx wrangler\nAuth: wrangler login (opens browser for OAuth)\nVerify: wrangler whoami"
      },
      {
        "title": "Workers",
        "body": "# Initialize new worker\nwrangler init <name>\n\n# Local development\nwrangler dev [script]\n\n# Deploy\nwrangler deploy [script]\n\n# List deployments\nwrangler deployments list\n\n# View deployment\nwrangler deployments view [deployment-id]\n\n# Rollback\nwrangler rollback [version-id]\n\n# Delete worker\nwrangler delete [name]\n\n# Tail logs (live)\nwrangler tail [worker]"
      },
      {
        "title": "Secrets",
        "body": "# Add/update secret (interactive)\nwrangler secret put <key>\n\n# Add secret from stdin\necho \"value\" | wrangler secret put <key>\n\n# List secrets\nwrangler secret list\n\n# Delete secret\nwrangler secret delete <key>\n\n# Bulk upload from JSON file\nwrangler secret bulk secrets.json"
      },
      {
        "title": "KV (Key-Value Store)",
        "body": "# Create namespace\nwrangler kv namespace create <name>\n\n# List namespaces\nwrangler kv namespace list\n\n# Delete namespace\nwrangler kv namespace delete --namespace-id <id>\n\n# Put key\nwrangler kv key put <key> <value> --namespace-id <id>\n\n# Get key\nwrangler kv key get <key> --namespace-id <id>\n\n# Delete key\nwrangler kv key delete <key> --namespace-id <id>\n\n# List keys\nwrangler kv key list --namespace-id <id>\n\n# Bulk operations (JSON file)\nwrangler kv bulk put <file> --namespace-id <id>\nwrangler kv bulk delete <file> --namespace-id <id>"
      },
      {
        "title": "D1 (SQL Database)",
        "body": "# Create database\nwrangler d1 create <name>\n\n# List databases\nwrangler d1 list\n\n# Database info\nwrangler d1 info <name>\n\n# Execute SQL\nwrangler d1 execute <database> --command \"SELECT * FROM users\"\n\n# Execute SQL file\nwrangler d1 execute <database> --file schema.sql\n\n# Local execution (for dev)\nwrangler d1 execute <database> --local --command \"...\"\n\n# Export database\nwrangler d1 export <name> --output backup.sql\n\n# Delete database\nwrangler d1 delete <name>\n\n# Migrations\nwrangler d1 migrations create <database> <name>\nwrangler d1 migrations apply <database>\nwrangler d1 migrations list <database>"
      },
      {
        "title": "R2 (Object Storage)",
        "body": "# Create bucket\nwrangler r2 bucket create <name>\n\n# List buckets\nwrangler r2 bucket list\n\n# Delete bucket\nwrangler r2 bucket delete <name>\n\n# Upload object\nwrangler r2 object put <bucket>/<key> --file <path>\n\n# Download object\nwrangler r2 object get <bucket>/<key> --file <path>\n\n# Delete object\nwrangler r2 object delete <bucket>/<key>"
      },
      {
        "title": "Queues",
        "body": "# Create queue\nwrangler queues create <name>\n\n# List queues\nwrangler queues list\n\n# Delete queue\nwrangler queues delete <name>"
      },
      {
        "title": "Configuration Files",
        "body": "Wrangler supports both TOML and JSON/JSONC config formats:\n\nwrangler.toml — traditional format\nwrangler.json or wrangler.jsonc — newer, with JSON schema support\n\n⚠️ Important: If both exist, JSON takes precedence. Pick one format to avoid confusion where edits to TOML are ignored."
      },
      {
        "title": "JSONC format (with schema autocomplete)",
        "body": "{\n  \"$schema\": \"./node_modules/wrangler/config-schema.json\",\n  \"name\": \"my-worker\",\n  \"main\": \"src/index.ts\",\n  \"compatibility_date\": \"2024-12-30\"\n}"
      },
      {
        "title": "TOML format",
        "body": "name = \"my-worker\"\nmain = \"src/index.ts\"\ncompatibility_date = \"2024-12-30\"\n\nWith bindings:\n\nname = \"my-worker\"\nmain = \"src/index.ts\"\ncompatibility_date = \"2024-12-30\"\n\n# KV binding\n[[kv_namespaces]]\nbinding = \"MY_KV\"\nid = \"xxx\"\n\n# D1 binding\n[[d1_databases]]\nbinding = \"DB\"\ndatabase_name = \"my-db\"\ndatabase_id = \"xxx\"\n\n# R2 binding\n[[r2_buckets]]\nbinding = \"BUCKET\"\nbucket_name = \"my-bucket\"\n\n# Environment variables\n[vars]\nAPI_URL = \"https://api.example.com\"\n\n# Secrets (set via `wrangler secret put`)\n# Referenced as env.SECRET_NAME in worker code\n\nStatic assets (for frameworks like Next.js):\n\nname = \"my-site\"\nmain = \".open-next/worker.js\"\ncompatibility_date = \"2024-12-30\"\ncompatibility_flags = [\"nodejs_compat\"]\n\n[assets]\ndirectory = \".open-next/assets\"\nbinding = \"ASSETS\""
      },
      {
        "title": "Deploy with environment",
        "body": "wrangler deploy -e production\nwrangler deploy -e staging"
      },
      {
        "title": "Custom domain (via dashboard or API)",
        "body": "Custom domains must be configured in the Cloudflare dashboard under Worker Settings > Domains & Routes, or via the Cloudflare API. Wrangler doesn't directly manage custom domains."
      },
      {
        "title": "Local development with bindings",
        "body": "# Creates local D1/KV/R2 for dev\nwrangler dev --local"
      },
      {
        "title": "Checking deployment status",
        "body": "wrangler deployments list\nwrangler deployments view"
      },
      {
        "title": "What Wrangler Does NOT Do",
        "body": "DNS management — Use the Cloudflare dashboard or API for DNS records\nCustom domains — Configure via dashboard (Worker Settings > Domains & Routes) or API\nSSL certificates — Managed automatically by Cloudflare when custom domains are added\nFirewall/WAF rules — Use dashboard or API\n\nFor DNS/domain management, see the cloudflare skill (uses Cloudflare API directly)."
      },
      {
        "title": "Troubleshooting",
        "body": "IssueSolution\"Not authenticated\"Run wrangler loginNode version errorRequires Node.js v20+\"No config found\"Ensure config file exists (wrangler.toml or wrangler.jsonc) or use -c path/to/configConfig changes ignoredCheck for wrangler.json/wrangler.jsonc — JSON takes precedence over TOMLBinding not foundCheck wrangler.toml bindings match code references"
      },
      {
        "title": "Resources",
        "body": "Wrangler Docs\nWorkers Docs\nD1 Docs\nR2 Docs\nKV Docs"
      }
    ],
    "body": "Cloudflare (Wrangler CLI)\n\nManage Cloudflare Workers and associated services via the wrangler CLI.\n\nPrerequisites\nNode.js v20+ required\nInstall: npm install -g wrangler or use project-local npx wrangler\nAuth: wrangler login (opens browser for OAuth)\nVerify: wrangler whoami\nQuick Reference\nWorkers\n# Initialize new worker\nwrangler init <name>\n\n# Local development\nwrangler dev [script]\n\n# Deploy\nwrangler deploy [script]\n\n# List deployments\nwrangler deployments list\n\n# View deployment\nwrangler deployments view [deployment-id]\n\n# Rollback\nwrangler rollback [version-id]\n\n# Delete worker\nwrangler delete [name]\n\n# Tail logs (live)\nwrangler tail [worker]\n\nSecrets\n# Add/update secret (interactive)\nwrangler secret put <key>\n\n# Add secret from stdin\necho \"value\" | wrangler secret put <key>\n\n# List secrets\nwrangler secret list\n\n# Delete secret\nwrangler secret delete <key>\n\n# Bulk upload from JSON file\nwrangler secret bulk secrets.json\n\nKV (Key-Value Store)\n# Create namespace\nwrangler kv namespace create <name>\n\n# List namespaces\nwrangler kv namespace list\n\n# Delete namespace\nwrangler kv namespace delete --namespace-id <id>\n\n# Put key\nwrangler kv key put <key> <value> --namespace-id <id>\n\n# Get key\nwrangler kv key get <key> --namespace-id <id>\n\n# Delete key\nwrangler kv key delete <key> --namespace-id <id>\n\n# List keys\nwrangler kv key list --namespace-id <id>\n\n# Bulk operations (JSON file)\nwrangler kv bulk put <file> --namespace-id <id>\nwrangler kv bulk delete <file> --namespace-id <id>\n\nD1 (SQL Database)\n# Create database\nwrangler d1 create <name>\n\n# List databases\nwrangler d1 list\n\n# Database info\nwrangler d1 info <name>\n\n# Execute SQL\nwrangler d1 execute <database> --command \"SELECT * FROM users\"\n\n# Execute SQL file\nwrangler d1 execute <database> --file schema.sql\n\n# Local execution (for dev)\nwrangler d1 execute <database> --local --command \"...\"\n\n# Export database\nwrangler d1 export <name> --output backup.sql\n\n# Delete database\nwrangler d1 delete <name>\n\n# Migrations\nwrangler d1 migrations create <database> <name>\nwrangler d1 migrations apply <database>\nwrangler d1 migrations list <database>\n\nR2 (Object Storage)\n# Create bucket\nwrangler r2 bucket create <name>\n\n# List buckets\nwrangler r2 bucket list\n\n# Delete bucket\nwrangler r2 bucket delete <name>\n\n# Upload object\nwrangler r2 object put <bucket>/<key> --file <path>\n\n# Download object\nwrangler r2 object get <bucket>/<key> --file <path>\n\n# Delete object\nwrangler r2 object delete <bucket>/<key>\n\nQueues\n# Create queue\nwrangler queues create <name>\n\n# List queues\nwrangler queues list\n\n# Delete queue\nwrangler queues delete <name>\n\nConfiguration Files\n\nWrangler supports both TOML and JSON/JSONC config formats:\n\nwrangler.toml — traditional format\nwrangler.json or wrangler.jsonc — newer, with JSON schema support\n\n⚠️ Important: If both exist, JSON takes precedence. Pick one format to avoid confusion where edits to TOML are ignored.\n\nJSONC format (with schema autocomplete)\n{\n  \"$schema\": \"./node_modules/wrangler/config-schema.json\",\n  \"name\": \"my-worker\",\n  \"main\": \"src/index.ts\",\n  \"compatibility_date\": \"2024-12-30\"\n}\n\nTOML format\nname = \"my-worker\"\nmain = \"src/index.ts\"\ncompatibility_date = \"2024-12-30\"\n\n\nWith bindings:\n\nname = \"my-worker\"\nmain = \"src/index.ts\"\ncompatibility_date = \"2024-12-30\"\n\n# KV binding\n[[kv_namespaces]]\nbinding = \"MY_KV\"\nid = \"xxx\"\n\n# D1 binding\n[[d1_databases]]\nbinding = \"DB\"\ndatabase_name = \"my-db\"\ndatabase_id = \"xxx\"\n\n# R2 binding\n[[r2_buckets]]\nbinding = \"BUCKET\"\nbucket_name = \"my-bucket\"\n\n# Environment variables\n[vars]\nAPI_URL = \"https://api.example.com\"\n\n# Secrets (set via `wrangler secret put`)\n# Referenced as env.SECRET_NAME in worker code\n\n\nStatic assets (for frameworks like Next.js):\n\nname = \"my-site\"\nmain = \".open-next/worker.js\"\ncompatibility_date = \"2024-12-30\"\ncompatibility_flags = [\"nodejs_compat\"]\n\n[assets]\ndirectory = \".open-next/assets\"\nbinding = \"ASSETS\"\n\nCommon Patterns\nDeploy with environment\nwrangler deploy -e production\nwrangler deploy -e staging\n\nCustom domain (via dashboard or API)\n\nCustom domains must be configured in the Cloudflare dashboard under Worker Settings > Domains & Routes, or via the Cloudflare API. Wrangler doesn't directly manage custom domains.\n\nLocal development with bindings\n# Creates local D1/KV/R2 for dev\nwrangler dev --local\n\nChecking deployment status\nwrangler deployments list\nwrangler deployments view\n\nWhat Wrangler Does NOT Do\nDNS management — Use the Cloudflare dashboard or API for DNS records\nCustom domains — Configure via dashboard (Worker Settings > Domains & Routes) or API\nSSL certificates — Managed automatically by Cloudflare when custom domains are added\nFirewall/WAF rules — Use dashboard or API\n\nFor DNS/domain management, see the cloudflare skill (uses Cloudflare API directly).\n\nTroubleshooting\nIssue\tSolution\n\"Not authenticated\"\tRun wrangler login\nNode version error\tRequires Node.js v20+\n\"No config found\"\tEnsure config file exists (wrangler.toml or wrangler.jsonc) or use -c path/to/config\nConfig changes ignored\tCheck for wrangler.json/wrangler.jsonc — JSON takes precedence over TOML\nBinding not found\tCheck wrangler.toml bindings match code references\nResources\nWrangler Docs\nWorkers Docs\nD1 Docs\nR2 Docs\nKV Docs"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Asleep123/wrangler",
    "publisherUrl": "https://clawhub.ai/Asleep123/wrangler",
    "owner": "Asleep123",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/wrangler",
    "downloadUrl": "https://openagent3.xyz/downloads/wrangler",
    "agentUrl": "https://openagent3.xyz/skills/wrangler/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wrangler/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wrangler/agent.md"
  }
}