cloudflare-workers
Build, configure and test a Cloudflare Worker locally with cf (cloudflare.config.ts, typed bindings, static assets, cf dev, vitest).
Skill by codewhale-hq
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/codewhale-hq-cloudflare-workers
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, devops, cloud
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/cloudflare-workers
What's inside
- Skill name
cloudflare-workers- Description
- Build, configure and test a Cloudflare Worker locally with cf (cloudflare.config.ts, typed bindings, static assets, cf dev, vitest). Use when creating or changing Worker code or configuration. Does not deploy; use cloudflare-deploy for that.
- License
- MIT
- Instructions
- 122 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Cloudflare Workers: build and test locally
This skill covers everything up to, but not including, a deploy. Anything that
changes the user's Cloudflare account goes through `cloudflare-deploy`.
Cloudflare's platform moves quickly. Before relying on a limit, a flag name or a
config key from memory, check it with the `cloudflare-docs` plugin (its
`search_cloudflare_documentation` tool) if it is enabled, or the docs at
https://developers.cloudflare.com/workers/. The examples here were checked
against those docs when this plugin was written.
## Start or inspect a project
Use Cloudflare's `cf` CLI (or its `cloudflare` alias if `cf` names another tool).
Pin it in the project; typed config needs Node22.18+ and is not supported on Bun.
Read `cloudflare.config.ts`, the Worker entry, framework adapter and package
scripts before running commands: the config is executable TypeScript.
- Existing legacy config: `cf migrate --dry-run` previews the conversion;
`cf migrate` writes local files. Review its diff and unresolved items before
running a project command. Preserve account, binding IDs, domains, schedules
and existing Durable Object storage. Do not run `cf init .` over it.
- New project: `cf init <directory>` creates local files and installs packages.
Do not accept an offer to deploy.
- `/cloudflare-preflight` inspects legacy JSON/TOML only. With typed config it
reports that validation is unavailable; continue with reviewed config,
project tests, `cf build` and `cf deploy --dry-run`, rather than treating a
stale legacy file as the active configuration.
## Typed configuration
```ts
import { defineConfig } from "cf/config";
export default defineConfig({
worker: {
name: "my-worker",
entrypoint: "src/index.ts",
compatibilityDate: "2026-10-01", // choose deliberately, never a future date
compatibilityFlags: ["nodejs_compat"],
observability: { enabled: true },
},
});
```
Use `worker.env` with the `bindings` helpers from `cf/config` for KV, R2, D1,
assets and other Workers. Confirm each helper and option against the current
configuration reference. Keep the project's generated binding types current;
`cf init` produces `.cloudflare/types/index.d.ts`. Compatibility dates pin
runtime behavior; move an existing date forward only with tests. The CLI may
use a framework adapter or its official Wrangler compatibility delegate
internally; authored development and deployment commands remain `cf`.
## Module Worker shape
```ts
export interface Env {
// Use the project's generated binding types; keep them current.
MY_KV: KVNamespace;
API_TOKEN: string; // a secret: never in `vars`
}
export default {
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
const url = new URL(request.url);
if (url.pathname === "/health") return new Response("ok");
ctx.waitUntil(logHit(env, url.pathname)); // work after the response
return Response.json({ path: url.pathname });
},
} satisfies ExportedHandler<Env>;
async function logHit(env: Env, path: string): Promise<void> {
await env.MY_KV.put(`hit:${path}`, String(Date.now()), { expirationTtl: 3600 });
}
```
Rules that prevent most Worker bugs:
- No mutable per-request state in module scope; isolates serve many requests.
- Do not `await` slow work you can push to `ctx.waitUntil`; stream large bodies
instead of buffering them.
- Secrets stay out of literal config values and chat. Keep local secret files
gitignored; approved remote secret updates follow `cloudflare-deploy`.
- Regenerate the project's binding types after binding changes and run its
type check so `Env` stays correct.
- Handlers beyond `fetch` (`scheduled`, `queue`, `email`) need a matching
trigger or binding in the config.
## Bindings and assets
Use KV for read-heavy cache/config, R2 for blobs, D1 for relational records and
Durable Objects for coordinated state. Their binding declarations belong in
`worker.env`; the storage and Durable Object skills cover runtime use.
Use the adapter's documented static-asset setup and `bindings.assets()` when
Worker code needs an ASSETS binding. Check the generated build output: files
such as `_worker.js`, `.git`, local credentials and `node_modules` must never
be public assets. A `.assetsignore` file excludes unwanted assets. Check SPA
fallback, missing-file behavior, and routes that invoke Worker code first.
## Run and test locally
- `cf dev` uses the project adapter. Check its local storage location; Vite
development and `cf` API commands with `--local` use different stores. Do
not assume a value written by one is visible in the other.
- A binding configured for remote development talks to real
resources, and Workers AI bills even in local mode. Treat those as
account-affecting: ask first.
- Unit and integration tests: `@cloudflare/vitest-pool-workers` runs Vitest
inside the Workers runtime with real bindings simulated. Add a test for each
route you change, then run only that test file.
- `cf deploy --dry-run` bundles and validates without uploading. It is
safe to run without approval; report the bundle size and any warnings.
## Done means
You ran `cf dev` or the tests and report what you observed (status codes,
test counts). Say plainly if you could not run them. Do not claim the Worker
works in production; that needs a deploy the user approved.From codewhale-hq/codewhale-plugin-marketplace, MIT.
More from codewhale-hq/codewhale-plugin-marketplace
- 0.621score
computer-use
codewhale-hq
Operate desktop apps and isolated browsers on registered computers.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
status-update
codewhale-hq
Write an evidence-based status update from Linear data - summarize what shipped, what is in progress, what is blocked or stale for a project, cycle, or a…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
issue-triage
codewhale-hq
Triage and draft GitHub issues with the GitHub MCP tools - search for duplicates, classify and prioritize, and draft a well-formed new issue for the user to…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
cloudflare-pages-to-workers
codewhale-hq
Migrate a Cloudflare Pages project to Workers with static assets.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
issue-triage
codewhale-hq
Triage Linear issues and claim work with the Linear MCP tools - find the triage queue or your assigned work, check for duplicates and existing owners, set…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
cloudflare-storage
codewhale-hq
Use Cloudflare KV, R2 and D1 from a Worker.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
review-panel
codewhale-hq
Fan six specialist reviewers (general correctness, silent failures, type design, test gaps, comment accuracy, simplification) out over the current diff, a…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
ui-critique
codewhale-hq
Critique a user interface (screenshot, running page, HTML/CSS, mockup or description) and return severity-ranked findings with evidence and a concrete fix for…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
iterate-until-done
codewhale-hq
Set up a bounded iterate-until-done run with the loop plugin's /loop command.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
chromewhale
codewhale-hq
Read and act on selected Chrome tabs and frames — their real browser, their logged-in sessions.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
cloudflare-deploy
codewhale-hq
Deploy or change a Cloudflare Worker with cf.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
cloudflare-durable-objects
codewhale-hq
Design and write Cloudflare Durable Objects.
SkillAFreshness: A★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 2
- Open issues
- 0
- Last commit (this folder)
- Oct 6, 2026 (22 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- codewhale.net
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from codewhale-hq
- 0.724score
AGENTS.md · codewhale-hq/Codewhale
codewhale-hq
AGENTS.md from codewhale-hq/Codewhale: 266 lines covering The ponytail method, Working rules, Landing other people's work, Merging under a gate and more.
TemplateAFreshness: A★ 41.1KCodex +5 - 0.724score
Codewhale
codewhale-hq
Open-source Rust coding agent for the terminal that works with more than 40 model providers or local models
AgentAFreshness: A★ 41.1K - 0.621score
computer-use
codewhale-hq
Operate desktop apps and isolated browsers on registered computers.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
ui-critique
codewhale-hq
Critique a user interface (screenshot, running page, HTML/CSS, mockup or description) and return severity-ranked findings with evidence and a concrete fix for…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
cloudflare-pages-to-workers
codewhale-hq
Migrate a Cloudflare Pages project to Workers with static assets.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
cloudflare-storage
codewhale-hq
Use Cloudflare KV, R2 and D1 from a Worker.
SkillAFreshness: A★ 5Claude Code +9
Cite this page
cloudflare-workers skill. Agent Mart. https://agentmart.dev/skills/codewhale-hq-cloudflare-workers (last updated 2026-10-24)