# Send C.R.A.B Deploy Agent to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- 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.
## Suggested prompts
### New install

```text
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.
```
### Upgrade existing

```text
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.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "deploy-agent",
    "name": "C.R.A.B Deploy Agent",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/sherajdev/deploy-agent",
    "canonicalUrl": "https://clawhub.ai/sherajdev/deploy-agent",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/deploy-agent",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=deploy-agent",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/deploy-agent.sh"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "deploy-agent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T04:10:53.694Z",
      "expiresAt": "2026-05-08T04:10:53.694Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=deploy-agent",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=deploy-agent",
        "contentDisposition": "attachment; filename=\"deploy-agent-1.1.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "deploy-agent"
      },
      "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/deploy-agent"
    },
    "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."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/deploy-agent",
    "downloadUrl": "https://openagent3.xyz/downloads/deploy-agent",
    "agentUrl": "https://openagent3.xyz/skills/deploy-agent/agent",
    "manifestUrl": "https://openagent3.xyz/skills/deploy-agent/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/deploy-agent/agent.md"
  }
}
```
## Documentation

### deploy-agent

Deploy full-stack applications via a multi-step workflow with human approval at each stage.

### Quick Start

# Install via ClawdHub
clawdhub install deploy-agent

# Initialize a new deployment
deploy-agent init my-app

# Check status
deploy-agent status my-app

# Continue through steps
deploy-agent continue my-app

### Workflow Steps

StepCommandDescriptionRequires Approval1deploy-agent init <name>Start deployment✅ Design phase2deploy-agent build <name>Build app✅ Before testing3deploy-agent test <name>Test locally✅ Before GitHub4deploy-agent push <name>Push to GitHub✅ Before Cloudflare5deploy-agent deploy <name>Deploy to Cloudflare✅ Final

### Initialize Deployment

deploy-agent init my-app

Creates a new deployment state and waits for design input.

### Check Status

deploy-agent status my-app

Shows current step, approvals, and deployment info.

### Continue

deploy-agent continue my-app

Get guidance on what to do next in the current step.

### Build (Step 2)

deploy-agent build my-app

After designing with C.R.A.B, run this to build the app.

### Test (Step 3)

deploy-agent test my-app

Verify the app is running locally before pushing.

### Push to GitHub (Step 4)

deploy-agent push my-app [repo-name]

Creates GitHub repo and pushes code. Default repo name = app name.

### Deploy to Cloudflare (Step 5)

deploy-agent deploy my-app [custom-domain]

Deploys to Cloudflare Pages. Default domain: {name}.sheraj.org

### Cancel

deploy-agent cancel my-app

Aborts and cleans up the deployment.

### List

deploy-agent list

Shows all active deployments.

### Example Session

# Start new deployment
$ deploy-agent init my-blog
🚀 Deployment initialized: my-blog
Step 1: Design your app with C.R.A.B

# ... design phase with C.R.A.B ...

$ deploy-agent build my-blog
🚀 Build complete! Step 2: Local Testing
Start dev server: cd my-blog && npm run dev

# ... test locally ...

$ deploy-agent push my-blog
🚀 GitHub repository ready!
Say 'deploy-agent deploy my-blog' to deploy to Cloudflare

$ deploy-agent deploy my-blog my-blog.sheraj.org
🎉 Deployment complete!
App live at: https://my-blog.sheraj.org

### State Management

State stored in: ~/.clawdbot/skills/deploy-agent/state/{deployment-name}.json

{
  "name": "my-blog",
  "step": 5,
  "status": "deployed",
  "created_at": "2026-01-18T08:00:00Z",
  "repo_url": "https://github.com/user/my-blog",
  "domain": "https://my-blog.sheraj.org"
}

### Requirements

ToolPurposeghGitHub repo creation and managementwranglerCloudflare Pages deploymentgitVersion controljqJSON parsing (for state management)

### Configuration

Cloudflare token should be configured in ~/.wrangler.toml:

[account]
api_token = "your-cloudflare-token"

### Notes

Each deployment is independent
State persists across sessions
Human approval required at each major step
Use "cancel" to abort anytime

### Next.js + Cloudflare D1 Deployment Guide

This section covers common pitfalls and fixes for deploying Next.js apps with D1 on Cloudflare Pages.

### Pre-Deployment Checklist

CheckCommandFix if FailedNext.js versionnpm list nextnpm install next@15.5.2Package lock syncrm -rf node_modules package-lock.json && npm installCommit lock fileCloudflare adapternpm list @cloudflare/next-on-pagesnpm install -D @cloudflare/next-on-pageswrangler installednpm list wranglernpm install -D wrangler

### Required Configuration

1. package.json

{
  "dependencies": {
    "next": "15.5.2",
    "react": "^18.3.1",
    "react-dom": "^18.3.1"
  },
  "devDependencies": {
    "@cloudflare/next-on-pages": "^1.13.16",
    "wrangler": "^4.x"
  }
}

2. wrangler.toml

name = "my-app"
compatibility_date = "2026-01-18"
compatibility_flags = ["nodejs_compat"]

[[d1_databases]]
binding = "DB"
database_name = "my-db"
database_id = "your-db-id"

3. API Routes (each file)

import { getRequestContext } from '@cloudflare/next-on-pages';

export const runtime = 'edge';

export async function GET() {
  const { env } = getRequestContext();
  const { results } = await env.DB.prepare("SELECT * FROM tasks").all();
  return Response.json({ data: results });
}

### Cloudflare Pages Build Settings

SettingValueBuild commandnpx @cloudflare/next-on-pagesOutput directory.vercel/output/staticFunctionsEnable (for D1 API routes)

### Common Issues & Fixes

IssueErrorFixLock file mismatchnpm ci can only install packages when your package.json and package-lock.json are in syncrm -rf node_modules package-lock.json && npm install && git add package-lock.jsonNext.js versionpeer next@">=14.3.0 && <=15.5.2" from @cloudflare/next-on-pagesDowngrade to next: "15.5.2"API routes not edgeThe following routes were not configured to run with the Edge RuntimeAdd export const runtime = 'edge';D1 access patternUsing context.env.DBUse getRequestContext().env.DBMissing typesTypeScript errors for D1 bindingsCreate env.d.ts with CloudflareEnv interface

### CSS Fix (Scrollbar Flicker)

html {
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
body {
  overflow-x: hidden;
}

### Post-Deployment

Cloudflare Dashboard → Settings → Functions
Add D1 binding: Variable name DB → Select your database

### Reference Documents

Full guide: docs/issues/nextjs-cloudflare-d1-deployment.md
Cloudflare docs: https://developers.cloudflare.com/pages/framework-guides/nextjs/
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: sherajdev
- Version: 1.1.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T04:10:53.694Z
- Expires at: 2026-05-08T04:10:53.694Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/deploy-agent)
- [Send to Agent page](https://openagent3.xyz/skills/deploy-agent/agent)
- [JSON manifest](https://openagent3.xyz/skills/deploy-agent/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/deploy-agent/agent.md)
- [Download page](https://openagent3.xyz/downloads/deploy-agent)