Skip to main content

cloudflare-deploy

Deploy or change a Cloudflare Worker with cf. Review config, preflight, build and dry-run; show the target and change, obtain explicit approval, deploy and verify. Covers versions, secrets, rollback and named modes.

Source facts

Repository
codewhale-hq/codewhale-plugin-marketplace
Last source activity
October 6, 2026 at 23:05
Detected SKILL.md language
English
Stars
5
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cloudflare-deploy
description
Deploy or change a Cloudflare Worker with cf. Review config, preflight, build and dry-run; show the target and change, obtain explicit approval, deploy and verify. Covers versions, secrets, rollback and named modes.
# Cloudflare: deploy with approval **Hard rule.** Never run a command from the "needs approval" list unless the user has approved that account, target and change after seeing a concrete plan. Respect approval already granted for that same scope; a different target, data change or traffic change needs its own approval. A push to a branch that Workers Builds deploys is a deploy too. ## Commands by risk Safe without approval (local or read-only): - `cf --version`, `cf auth whoami` - `cf dev`, `cf build`, `cf deploy --dry-run`, `cf migrate --dry-run` - reading deployments: `cf workers deployments list` - listing secret names: `cf workers secrets list` (never secret values) - supported resource simulations with explicit `--local` - `/cloudflare-preflight` (legacy JSON/TOML; typed config is not evaluated) Needs approval (changes the account, data, money or traffic): - `cf deploy`, `cf workers versions create` (upload), `cf workers deployments create`, `cf workers triggers deploy`, rollback, or deletion of a Worker/version/deployment - `cf workers secrets update` or `cf workers secrets delete` - remote D1 queries or migrations that write, KV/R2 writes or deletes, and creating/deleting resources; cf API commands are remote unless their documented `--local` mode was explicitly selected - `cf auth login`: the user completes the authentication flow - reading production traffic/logs: explain the scope and bound its duration Use anonymous `cf cli search "<action and resource type>"` queries to discover resource commands, then inspect the returned command with `--help` and its `cf schema` entry. Never put names, domains, IDs, email addresses or credentials in command-search queries. Search can return an upload command for a local build request: that is still a mutation, not a substitute for `cf build`. Never ask for an API token in chat or print one. Authentication stays in the user's terminal through `cf auth login` or their environment. Secret updates must use a documented input mechanism that keeps values out of command arguments, logs and transcripts; if unavailable, let the user enter them outside the agent session. Never invent a `cf secret put` compatibility alias. ## Workflow 1. Read `cloudflare.config.ts` and source before executing it. For a legacy project, preview `cf migrate --dry-run`, review the local conversion, and preserve existing resource IDs, domains, schedules and storage. 2. Run `/cloudflare-preflight` if applicable. Typed TypeScript is executable; the static checker reports it as unvalidated and never imports it. 3. Identify the exact Worker, account and named mode. Read `cf auth whoami` and configuration; `CLOUDFLARE_ACCOUNT_ID` can override `accountId`. Resolve an ambiguous account before any mutation. Pass `--mode <name>` consistently when configuration depends on it. 4. Run project tests, `cf build`, then `cf deploy --dry-run [--mode <name>]`. Inspect the actual entry, assets, bindings, lifecycle changes and warnings. A dry run uploads nothing; it does not prove production will work. 5. Present the exact deployment command, account/Worker/mode, code and traffic changes, any new resources or migrations, verification and rollback plan. Obtain explicit yes for any scope not already approved. 6. Run only the approved deployment. Request the changed routes and inspect `cf workers deployments list`; record version/deployment IDs and URL. If it fails, retain the error and actual state before planning a retry. ## Versions, rollback, secrets and data Uploading a version (`cf workers versions create`) and assigning traffic (`cf workers deployments create`) are separate mutations. Discover exact flags and schema for the installed cf version; do not translate Wrangler flags by renaming the executable. A rollback assigns an older version to traffic and never restores storage. It needs approval and a state check. Durable Object creation/rename/delete/transfer can be irreversible. Review the lifecycle diff and deploy it separately with approval; do not assume a gradual rollout or rollback can undo it. See `cloudflare-durable-objects`. Use named `--mode` values or a separate staging Worker. Do not test by deploying over production. Container config can roll running instances. Keep required secret names declared with the project's current typed configuration API; values never belong in source or chat. Remote database migrations require reviewed SQL, backup/restore planning and approval. References: [cf sign-in/account selection](https://developers.cloudflare.com/cf/get-started/), [migration reference](https://developers.cloudflare.com/cf/wrangler/reference/), [projects and deployment](https://developers.cloudflare.com/cf/projects/).
View on GitHub