Skip to main content
skill CX Codex

cloudflare-worker-builder — Claude Code skill: how to install

Scaffolds Cloudflare Worker projects with Hono routing, Vite dev server, and Static Assets. It configures D1, R2, and KV bindings and fixes deployment routing conflicts.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jezweb/claude-skills --skill cloudflare-worker-builder -a claude-code
Open on GitHub

What cloudflare-worker-builder does

The skill sets up a Cloudflare Worker boilerplate with Hono and Vite. The agent first asks whether you build an API, a landing page, or a full SPA, then checks storage requirements. After collecting the brief, it runs npm create cloudflare@latest with TypeScript, installs hono alongside @cloudflare/vite-plugin, and populates configuration files such as wrangler.jsonc, vite.config.ts, and src/index.ts.

It enforces Cloudflare-specific architectural rules that prevent silent bugs. Omitting run_worker_first on /api/* routes makes the SPA fallback serve index.html instead of backend JSON data. The skill also enforces export default app because wrapping it in { fetch: app.fetch } triggers an undefined property error in Hono. A separate object syntax is applied only when configuring cron triggers with a scheduled handler.

Automatic provisioning of D1, R2, or KV resources requires Wrangler 4.45 or newer with explicit resource names in wrangler.jsonc. The package provides three reference guides covering ten common runtime bugs, Workers RPC, and gradual deployment setups.

What it helps with

  • Scaffold a Cloudflare Worker project using Hono and Vite
  • Configure bindings for D1 databases, R2 storage, and KV
  • Prevent SPA static asset fallbacks from intercepting API endpoints
  • Fix entry point export syntax errors in Hono applications
  • Set up scheduled cron handlers alongside the fetch listener

Example prompts for the agent

  • Create a new Cloudflare Worker project with Hono, D1 database, and Vite
  • Configure KV and R2 bindings in wrangler.jsonc with explicit resource names
  • Fix my Cloudflare Worker where API routes return index.html instead of JSON

How to install cloudflare-worker-builder

1Skills CLI (Vercel)

npx skills add jezweb/claude-skills --skill cloudflare-worker-builder -a claude-code

2Manually: put the files in place

~/.claude/skills/cloudflare-worker-builder/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/cloudflare-worker-builder/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about cloudflare-worker-builder

How to install cloudflare-worker-builder in Claude Code?

Install the skill by running npx skills add jezweb/claude-skills --skill cloudflare-worker-builder -a claude-code.

What does the cloudflare-worker-builder skill do?

It scaffolds Cloudflare Worker projects with Hono routing, Vite dev server, and Static Assets. The skill also configures D1, R2, and KV bindings while troubleshooting runtime and export syntax issues.

Why is the run_worker_first parameter required for static assets?

When serving an SPA, the asset handler intercepts unmatched routes and returns index.html. Adding run_worker_first: ["/api/*"] ensures API requests reach the Worker code and return JSON responses.

Source text

SKILL.md · MIT
---
name: cloudflare-worker-builder
description: "Scaffold and deploy Cloudflare Workers with Hono routing, Vite plugin, and Static Assets. Describe project, scaffold structure, configure bindings, deploy. Use whenever the user wants to create a Worker project, set up Hono on Cloudflare, configure D1 / R2 / KV / Queues bindings, or troubleshoot Worker export syntax, API route conflicts, HMR issues, or deployment failures."
compatibility: claude-code-only
---

# Cloudflare Worker Builder

Scaffold a working Cloudflare Worker project from a brief description. Produces a deployable project with Hono routing, Vite dev server, and Static Assets.

## Workflow

### Step 1: Understand the Project

Ask about the project to choose the right bindings and structure:

- What does the app do? (API only, SPA + API, landing page)
- What data storage? (D1 database, R2 files, KV cache, none)
- Auth needed? (Clerk, better-auth, none)
- Custom domain or workers.dev subdomain?

A brief like "todo app with database" is enough to proceed.

### Step 2: Scaffold the Project

```bash
npm create cloudflare@latest my-worker -- --type hello-world --ts --git --deploy false --framework none
cd my-worker
npm install hono
npm install -D @cloudflare/vite-plugin vite
```

Copy and customise the asset files from this skill's `assets/` directory:
- `wrangler.jsonc` — Worker configuration
- `vite.config.ts` — Vite + Cloudflare plugin
- `src/index.ts` — Hono app with Static Assets fallback
- `package.json` — Scripts and dependencies
- `tsconfig.json` — TypeScript config
- `public/index.html` — SPA entry point

### Step 3: Configure Bindings

Add bindings to `wrangler.jsonc` based on project needs. Wrangler 4.45+ auto-provisions resources on first deploy — always specify explicit names:

```jsonc
{
  "name": "my-worker",
  "main": "src/index.ts",
  "compatibility_date": "2025-11-11",
  "assets": {
    "directory": "./public/",
    "binding": "ASSETS",
    "not_found_handling": "single-page-application",
    "run_worker_first": ["/api/*"]
  },
  // Add as needed:
  "d1_databases": [{ "binding": "DB", "database_name": "my-app-db" }],
  "r2_buckets": [{ "binding": "STORAGE", "bucket_name": "my-app-files" }],
  "kv_namespaces": [{ "binding": "CACHE", "title": "my-app-cache" }]
}
```

### Step 4: Deploy

```bash
npm run dev           # Local dev at http://localhost:8787
wrangler deploy       # Production deploy
```

---

## Critical Patterns

### Export Syntax

```typescript
// CORRECT — use this pattern
export default app

// WRONG — causes "Cannot read properties of undefined"
export default { fetch: app.fetch }
```

Source: [honojs/hono #3955](https://github.com/honojs/hono/issues/3955)

### Static Assets + API Routes

Without `run_worker_first`, SPA fallback intercepts API routes and returns `index.html` instead of JSON:

```jsonc
"assets": {
  "not_found_handling": "single-page-application",
  "run_worker_first": ["/api/*"]  // CRITICAL
}
```

Source: [workers-sdk #8879](https://github.com/cloudflare/workers-sdk/issues/8879)

### Vite Config

```typescript
import { defineConfig } from 'vite'
import { cloudflare } from '@cloudflare/vite-plugin'

export default defineConfig({ plugins: [cloudflare()] })
```

Always set the `main` field in wrangler.jsonc — the Vite plugin needs it.

### Scheduled/Cron Handlers

When adding cron triggers, switch to explicit export:

```typescript
export default {
  fetch: app.fetch,
  scheduled: async (event, env, ctx) => { /* ... */ }
}
```

---

## Reference Files

Read these for detailed troubleshooting:

- `references/common-issues.md` — 10 documented issues with sources and fixes
- `references/architecture.md` — Route priority, caching, Workers RPC
- `references/deployment.md` — CI/CD, auto-provisioning, gradual rollouts

© jezweb · MIT · jezweb/claude-skills

Similar skills

All skills for Backend and APIs →

From the same set60

ai-image-generator A skill that tells your agent which Gemini or Claude model to pick and how to build prompts in five parts. Useful when a site needs hero banners, icons or OG images. CX Codex +1 1,400installs shopify-products Creates and updates Shopify products using the Admin GraphQL API or generates CSV files for bulk catalog import. CX Codex +1 1,400installs social-media-posts Creates posts for LinkedIn, Facebook, Instagram and Reddit in each platform’s format. Use it for a new announcement, existing content or a coordinated campaign. CX Codex +1 1,400installs mcp-builder A skill that takes a short brief and turns it into a deployable MCP server on Python with FastMCP, complete with local tests and a pre-deploy checklist. CX Codex +1 1,400installs design-review Reviews the visual quality of a web page or app and produces a findings report with screenshots. Use it when an interface looks off and the cause is hard to spot. CX Codex +1 1,400installs react-patterns A skill that checks React 19 components for waterfalls, bundle bloat and re-renders, and suggests composition fixes. Useful while writing or reviewing code. CX Codex +1 1,300installs react-native Performance guidelines and architecture patterns for React Native and Expo apps. Helps coding agents handle list virtualization, UI-thread animations, and navigation. CX Codex +1 1,300installs github-release Prepares a GitHub release by checking code for public publishing, creating a tag, and publishing through gh. Use it before making a repository public. CX Codex +1 1,300installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor