{
  "schemaVersion": "1.0",
  "item": {
    "slug": "jack-cloud",
    "name": "Jack Cloud",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/hellno/jack-cloud",
    "canonicalUrl": "https://clawhub.ai/hellno/jack-cloud",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/jack-cloud",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=jack-cloud",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "reference/services-guide.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": "jack-cloud",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T11:56:56.289Z",
      "expiresAt": "2026-05-11T11:56:56.289Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=jack-cloud",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=jack-cloud",
        "contentDisposition": "attachment; filename=\"jack-cloud-0.3.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "jack-cloud"
      },
      "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/jack-cloud"
    },
    "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/jack-cloud",
    "agentPageUrl": "https://openagent3.xyz/skills/jack-cloud/agent",
    "manifestUrl": "https://openagent3.xyz/skills/jack-cloud/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/jack-cloud/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": "Jack Cloud — Deploy Anything from the Terminal",
        "body": "Jack deploys Cloudflare Workers projects in one command. Create an API, add a database, ship it live — all from the terminal."
      },
      {
        "title": "Install",
        "body": "npm i -g @getjack/jack\njack login"
      },
      {
        "title": "External Endpoints",
        "body": "EndpointData SentPurposeauth.getjack.orgOAuth tokens (GitHub/Google via WorkOS)Authenticationcontrol.getjack.orgProject metadata, source code during deployProject management and deployments"
      },
      {
        "title": "Security & Privacy",
        "body": "jack login authenticates via browser OAuth (GitHub/Google via WorkOS). Auth token stored at ~/.config/jack/auth.json\nNo environment variables required — authentication is interactive\nSource code is uploaded during jack ship and deployed to Cloudflare Workers via Jack Cloud\nProject metadata (name, slug, deploy history) is stored on Jack Cloud\nNo telemetry is sent without user consent (jack telemetry to configure)\nnpm package: @getjack/jack — open source CLI"
      },
      {
        "title": "MCP Tools",
        "body": "If your agent has mcp__jack__* tools available, prefer those over CLI commands. They return structured JSON and are tracked automatically. The CLI equivalents are noted below for agents without MCP."
      },
      {
        "title": "Create & Deploy a Project",
        "body": "jack new my-api\n\nThis creates a project from a template, deploys it, and prints the live URL.\n\nPick a template when prompted (or pass --template):\n\nTemplateWhat you getapiHono API with example routeshelloMinimal hello-world starterminiappFull-stack app with frontendai-chatAI chat app with streamingnextjsNext.js full-stack app\n\nRun jack new to see all available templates.\n\nMCP: mcp__jack__create_project with name and template params.\n\nAfter creation, your project is live at https://<slug>.runjack.xyz."
      },
      {
        "title": "Deploy Changes",
        "body": "After editing code, push changes live:\n\njack ship\n\nFor machine-readable output (useful in scripts and agents):\n\njack ship --json\n\nBuilds the project and deploys to production. Takes a few seconds.\n\nMCP: mcp__jack__deploy_project"
      },
      {
        "title": "Check Status",
        "body": "jack info\n\nShows: live URL, last deploy time, attached services (databases, storage, etc.).\n\nMCP: mcp__jack__get_project_status"
      },
      {
        "title": "Database (D1)",
        "body": "jack services db create                  # Add D1 database (auto-configures wrangler.jsonc)\njack db execute \"SELECT * FROM users\"    # Query data\njack db execute --json \"SELECT ...\"      # JSON output\njack db execute --write \"INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')\"\njack db execute --write \"CREATE TABLE posts (id INTEGER PRIMARY KEY, title TEXT, body TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP)\"\njack db execute \"SELECT name FROM sqlite_master WHERE type='table'\"   # View schema\njack db execute \"PRAGMA table_info(users)\"\n\nAfter schema changes, redeploy with jack ship.\n\nMCP: mcp__jack__create_database, mcp__jack__execute_sql (set allow_write: true for writes; DROP/TRUNCATE blocked by default)."
      },
      {
        "title": "Logs",
        "body": "Stream production logs to debug issues:\n\njack logs\n\nShows real-time request/response logs. Press Ctrl+C to stop.\n\nMCP: mcp__jack__tail_logs with duration_ms and max_events params for a bounded sample."
      },
      {
        "title": "Common Workflow: API with Database",
        "body": "# 1. Create project\njack new my-api --template api\n\n# 2. Add database\njack services db create\n\n# 3. Create tables\njack db execute --write \"CREATE TABLE items (id INTEGER PRIMARY KEY, name TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP)\"\n\n# 4. Edit src/index.ts — add routes that query the DB\n#    Access DB via: c.env.DB (the D1 binding)\n\n# 5. Deploy\njack ship\n\n# 6. Verify\ncurl https://my-api.runjack.xyz/api/items"
      },
      {
        "title": "Secrets",
        "body": "Store API keys and sensitive values:\n\n# Set a secret (prompts for value)\njack secrets set STRIPE_SECRET_KEY\n\n# Set multiple\njack secrets set API_KEY WEBHOOK_SECRET\n\n# List secrets (names only, values hidden)\njack secrets list\n\nSecrets are available in your worker as c.env.SECRET_NAME. Redeploy after adding secrets:\n\njack ship"
      },
      {
        "title": "Project Structure",
        "body": "my-project/\n├── src/\n│   └── index.ts          # Worker entry point\n├── wrangler.jsonc        # Config: bindings, routes, compatibility\n├── package.json\n└── .jack/\n    └── project.json      # Links to Jack Cloud\n\nwrangler.jsonc defines D1 bindings, environment vars, compatibility flags\n.jack/project.json links the local directory to your Jack Cloud project\nsrc/index.ts is the main entry point — typically a Hono app"
      },
      {
        "title": "Storage (R2)",
        "body": "jack services storage create          # Create R2 bucket\njack services storage list            # List buckets\njack services storage info            # Bucket details\n\nAccess in worker via c.env.BUCKET binding. Use for file uploads, images, assets.\n\nMCP: mcp__jack__create_storage_bucket, mcp__jack__list_storage_buckets, mcp__jack__get_storage_info"
      },
      {
        "title": "Vector Search (Vectorize)",
        "body": "jack services vectorize create                    # Create index (768 dims, cosine)\njack services vectorize create --dimensions 1536  # Custom dimensions\njack services vectorize list\njack services vectorize info\n\nAccess via c.env.VECTORIZE_INDEX binding. Use for semantic search, RAG, embeddings.\n\nMCP: mcp__jack__create_vectorize_index, mcp__jack__list_vectorize_indexes, mcp__jack__get_vectorize_info"
      },
      {
        "title": "Cron Scheduling",
        "body": "jack services cron create \"*/15 * * * *\"   # Every 15 minutes\njack services cron create \"0 * * * *\"      # Every hour\njack services cron list\njack services cron test \"0 9 * * MON\"      # Validate + show next runs\n\nYour worker needs a scheduled() handler or POST /__scheduled route.\n\nMCP: mcp__jack__create_cron, mcp__jack__list_crons, mcp__jack__test_cron"
      },
      {
        "title": "Custom Domains",
        "body": "jack domain connect app.example.com      # Reserve domain\njack domain assign app.example.com       # Assign to current project\njack domain unassign app.example.com     # Unassign\njack domain disconnect app.example.com   # Fully remove\n\nFollow the DNS instructions printed after assign. Typically add a CNAME record."
      },
      {
        "title": "List Projects",
        "body": "jack ls           # List all your projects\njack info my-api  # Details for a specific project\njack open my-api  # Open in browser\n\nMCP: mcp__jack__list_projects with optional filter (all, local, deployed, cloud)."
      },
      {
        "title": "Troubleshooting",
        "body": "ProblemFix\"Not authenticated\"Run jack login\"No wrangler config found\"Run from a jack project directory\"Database not found\"Run jack services db createDeploy failsCheck jack logs for errors, fix code, jack ship againNeed to start overjack new creates a fresh project"
      },
      {
        "title": "Reference",
        "body": "Services deep dive — detailed patterns for each service\nJack documentation"
      }
    ],
    "body": "Jack Cloud — Deploy Anything from the Terminal\n\nJack deploys Cloudflare Workers projects in one command. Create an API, add a database, ship it live — all from the terminal.\n\nInstall\nnpm i -g @getjack/jack\njack login\n\nExternal Endpoints\nEndpoint\tData Sent\tPurpose\nauth.getjack.org\tOAuth tokens (GitHub/Google via WorkOS)\tAuthentication\ncontrol.getjack.org\tProject metadata, source code during deploy\tProject management and deployments\nSecurity & Privacy\njack login authenticates via browser OAuth (GitHub/Google via WorkOS). Auth token stored at ~/.config/jack/auth.json\nNo environment variables required — authentication is interactive\nSource code is uploaded during jack ship and deployed to Cloudflare Workers via Jack Cloud\nProject metadata (name, slug, deploy history) is stored on Jack Cloud\nNo telemetry is sent without user consent (jack telemetry to configure)\nnpm package: @getjack/jack — open source CLI\nMCP Tools\n\nIf your agent has mcp__jack__* tools available, prefer those over CLI commands. They return structured JSON and are tracked automatically. The CLI equivalents are noted below for agents without MCP.\n\nCreate & Deploy a Project\njack new my-api\n\n\nThis creates a project from a template, deploys it, and prints the live URL.\n\nPick a template when prompted (or pass --template):\n\nTemplate\tWhat you get\napi\tHono API with example routes\nhello\tMinimal hello-world starter\nminiapp\tFull-stack app with frontend\nai-chat\tAI chat app with streaming\nnextjs\tNext.js full-stack app\n\nRun jack new to see all available templates.\n\nMCP: mcp__jack__create_project with name and template params.\n\nAfter creation, your project is live at https://<slug>.runjack.xyz.\n\nDeploy Changes\n\nAfter editing code, push changes live:\n\njack ship\n\n\nFor machine-readable output (useful in scripts and agents):\n\njack ship --json\n\n\nBuilds the project and deploys to production. Takes a few seconds.\n\nMCP: mcp__jack__deploy_project\n\nCheck Status\njack info\n\n\nShows: live URL, last deploy time, attached services (databases, storage, etc.).\n\nMCP: mcp__jack__get_project_status\n\nDatabase (D1)\njack services db create                  # Add D1 database (auto-configures wrangler.jsonc)\njack db execute \"SELECT * FROM users\"    # Query data\njack db execute --json \"SELECT ...\"      # JSON output\njack db execute --write \"INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com')\"\njack db execute --write \"CREATE TABLE posts (id INTEGER PRIMARY KEY, title TEXT, body TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP)\"\njack db execute \"SELECT name FROM sqlite_master WHERE type='table'\"   # View schema\njack db execute \"PRAGMA table_info(users)\"\n\n\nAfter schema changes, redeploy with jack ship.\n\nMCP: mcp__jack__create_database, mcp__jack__execute_sql (set allow_write: true for writes; DROP/TRUNCATE blocked by default).\n\nLogs\n\nStream production logs to debug issues:\n\njack logs\n\n\nShows real-time request/response logs. Press Ctrl+C to stop.\n\nMCP: mcp__jack__tail_logs with duration_ms and max_events params for a bounded sample.\n\nCommon Workflow: API with Database\n# 1. Create project\njack new my-api --template api\n\n# 2. Add database\njack services db create\n\n# 3. Create tables\njack db execute --write \"CREATE TABLE items (id INTEGER PRIMARY KEY, name TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP)\"\n\n# 4. Edit src/index.ts — add routes that query the DB\n#    Access DB via: c.env.DB (the D1 binding)\n\n# 5. Deploy\njack ship\n\n# 6. Verify\ncurl https://my-api.runjack.xyz/api/items\n\nSecrets\n\nStore API keys and sensitive values:\n\n# Set a secret (prompts for value)\njack secrets set STRIPE_SECRET_KEY\n\n# Set multiple\njack secrets set API_KEY WEBHOOK_SECRET\n\n# List secrets (names only, values hidden)\njack secrets list\n\n\nSecrets are available in your worker as c.env.SECRET_NAME. Redeploy after adding secrets:\n\njack ship\n\nProject Structure\nmy-project/\n├── src/\n│   └── index.ts          # Worker entry point\n├── wrangler.jsonc        # Config: bindings, routes, compatibility\n├── package.json\n└── .jack/\n    └── project.json      # Links to Jack Cloud\n\nwrangler.jsonc defines D1 bindings, environment vars, compatibility flags\n.jack/project.json links the local directory to your Jack Cloud project\nsrc/index.ts is the main entry point — typically a Hono app\nAdvanced Services\nStorage (R2)\njack services storage create          # Create R2 bucket\njack services storage list            # List buckets\njack services storage info            # Bucket details\n\n\nAccess in worker via c.env.BUCKET binding. Use for file uploads, images, assets.\n\nMCP: mcp__jack__create_storage_bucket, mcp__jack__list_storage_buckets, mcp__jack__get_storage_info\n\nVector Search (Vectorize)\njack services vectorize create                    # Create index (768 dims, cosine)\njack services vectorize create --dimensions 1536  # Custom dimensions\njack services vectorize list\njack services vectorize info\n\n\nAccess via c.env.VECTORIZE_INDEX binding. Use for semantic search, RAG, embeddings.\n\nMCP: mcp__jack__create_vectorize_index, mcp__jack__list_vectorize_indexes, mcp__jack__get_vectorize_info\n\nCron Scheduling\njack services cron create \"*/15 * * * *\"   # Every 15 minutes\njack services cron create \"0 * * * *\"      # Every hour\njack services cron list\njack services cron test \"0 9 * * MON\"      # Validate + show next runs\n\n\nYour worker needs a scheduled() handler or POST /__scheduled route.\n\nMCP: mcp__jack__create_cron, mcp__jack__list_crons, mcp__jack__test_cron\n\nCustom Domains\njack domain connect app.example.com      # Reserve domain\njack domain assign app.example.com       # Assign to current project\njack domain unassign app.example.com     # Unassign\njack domain disconnect app.example.com   # Fully remove\n\n\nFollow the DNS instructions printed after assign. Typically add a CNAME record.\n\nList Projects\njack ls           # List all your projects\njack info my-api  # Details for a specific project\njack open my-api  # Open in browser\n\n\nMCP: mcp__jack__list_projects with optional filter (all, local, deployed, cloud).\n\nTroubleshooting\nProblem\tFix\n\"Not authenticated\"\tRun jack login\n\"No wrangler config found\"\tRun from a jack project directory\n\"Database not found\"\tRun jack services db create\nDeploy fails\tCheck jack logs for errors, fix code, jack ship again\nNeed to start over\tjack new creates a fresh project\nReference\nServices deep dive — detailed patterns for each service\nJack documentation"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/hellno/jack-cloud",
    "publisherUrl": "https://clawhub.ai/hellno/jack-cloud",
    "owner": "hellno",
    "version": "0.3.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/jack-cloud",
    "downloadUrl": "https://openagent3.xyz/downloads/jack-cloud",
    "agentUrl": "https://openagent3.xyz/skills/jack-cloud/agent",
    "manifestUrl": "https://openagent3.xyz/skills/jack-cloud/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/jack-cloud/agent.md"
  }
}