Wrangler

Manage Cloudflare Workers, KV, D1, R2, and secrets using the Wrangler CLI. Use when deploying workers, managing databases, storing objects, or configuring Cloudflare resources. Covers worker deployment, KV namespaces, D1 SQL databases, R2 object storage, secrets management, and tailing logs.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
7 · 2.1k · 9 current installs · 9 all-time installs
byAsleep@Asleep123
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
The name/description match the SKILL.md content: it documents using the Wrangler CLI to manage Workers, KV, D1, R2, secrets, and logs. It does not request unrelated binaries, environment variables, or access beyond Cloudflare-related operations.
Instruction Scope
Instructions are limited to normal Wrangler usage (init, dev, deploy, kv/d1/r2 operations, secret management, tailing logs). They reference reading local config/files (schema.sql, JSON secrets file, wrangler.toml/jsonc) and using interactive login; they do not instruct reading arbitrary unrelated system files or exfiltrating data. However, several commanded operations (secret put, tail, delete, bulk upload) can create, expose or remove sensitive data — this is expected for a management tool but worth being cautious about.
Install Mechanism
There is no platform install spec (skill is instruction-only), which is lowest risk for the skill bundle. The SKILL.md recommends installing Wrangler via npm install -g wrangler or using npx. Installing packages from npm or running npx pulls remote code at runtime; this is expected for CLI guidance but is an external risk worth verifying (use official package name and check versions).
Credentials
The skill declares no required env vars/credentials, but its workflow depends on authenticating to Cloudflare (wrangler login or using API tokens). The instructions will create or use local auth credentials and allow managing resources and secrets in your Cloudflare account. This is proportional to the task but users should use scoped API tokens and least privilege, and be mindful that secret management commands will store secrets accessible by the Worker environment.
Persistence & Privilege
always is false and the skill is user-invocable. As instruction-only, it does not request persistent platform privileges or attempt to modify other skills or system-wide agent configs.
Assessment
This skill is a documentation-style helper for the official Wrangler CLI and appears coherent with that purpose. Before using it: (1) Confirm you trust the skill author/source — the registry metadata shows no homepage/source URL here. (2) When following its install steps, prefer npx or explicitly installed official releases (verify package name and version on the Cloudflare docs or npmjs.com). (3) Use scoped, least-privilege Cloudflare API tokens rather than broad account keys where possible. (4) Be careful with commands that upload/delete data or manage secrets (bulk secret upload, secret put, delete, tail logs can expose sensitive info). (5) If you need stronger assurance, cross-check commands with the official Cloudflare Wrangler docs and avoid running commands from unknown scripts or untrusted sources.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.1.0
Download zip
latestvk9730yphr09m2q61mwmw1dhj257zmsjy

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Cloudflare (Wrangler CLI)

Manage Cloudflare Workers and associated services via the wrangler CLI.

Prerequisites

  • Node.js v20+ required
  • Install: npm install -g wrangler or use project-local npx wrangler
  • Auth: wrangler login (opens browser for OAuth)
  • Verify: wrangler whoami

Quick Reference

Workers

# Initialize new worker
wrangler init <name>

# Local development
wrangler dev [script]

# Deploy
wrangler deploy [script]

# List deployments
wrangler deployments list

# View deployment
wrangler deployments view [deployment-id]

# Rollback
wrangler rollback [version-id]

# Delete worker
wrangler delete [name]

# Tail logs (live)
wrangler tail [worker]

Secrets

# Add/update secret (interactive)
wrangler secret put <key>

# Add secret from stdin
echo "value" | wrangler secret put <key>

# List secrets
wrangler secret list

# Delete secret
wrangler secret delete <key>

# Bulk upload from JSON file
wrangler secret bulk secrets.json

KV (Key-Value Store)

# Create namespace
wrangler kv namespace create <name>

# List namespaces
wrangler kv namespace list

# Delete namespace
wrangler kv namespace delete --namespace-id <id>

# Put key
wrangler kv key put <key> <value> --namespace-id <id>

# Get key
wrangler kv key get <key> --namespace-id <id>

# Delete key
wrangler kv key delete <key> --namespace-id <id>

# List keys
wrangler kv key list --namespace-id <id>

# Bulk operations (JSON file)
wrangler kv bulk put <file> --namespace-id <id>
wrangler kv bulk delete <file> --namespace-id <id>

D1 (SQL Database)

# Create database
wrangler d1 create <name>

# List databases
wrangler d1 list

# Database info
wrangler d1 info <name>

# Execute SQL
wrangler d1 execute <database> --command "SELECT * FROM users"

# Execute SQL file
wrangler d1 execute <database> --file schema.sql

# Local execution (for dev)
wrangler d1 execute <database> --local --command "..."

# Export database
wrangler d1 export <name> --output backup.sql

# Delete database
wrangler d1 delete <name>

# Migrations
wrangler d1 migrations create <database> <name>
wrangler d1 migrations apply <database>
wrangler d1 migrations list <database>

R2 (Object Storage)

# Create bucket
wrangler r2 bucket create <name>

# List buckets
wrangler r2 bucket list

# Delete bucket
wrangler r2 bucket delete <name>

# Upload object
wrangler r2 object put <bucket>/<key> --file <path>

# Download object
wrangler r2 object get <bucket>/<key> --file <path>

# Delete object
wrangler r2 object delete <bucket>/<key>

Queues

# Create queue
wrangler queues create <name>

# List queues
wrangler queues list

# Delete queue
wrangler queues delete <name>

Configuration Files

Wrangler supports both TOML and JSON/JSONC config formats:

  • wrangler.toml — traditional format
  • wrangler.json or wrangler.jsonc — newer, with JSON schema support

⚠️ Important: If both exist, JSON takes precedence. Pick one format to avoid confusion where edits to TOML are ignored.

JSONC format (with schema autocomplete)

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "name": "my-worker",
  "main": "src/index.ts",
  "compatibility_date": "2024-12-30"
}

TOML format

name = "my-worker"
main = "src/index.ts"
compatibility_date = "2024-12-30"

With bindings:

name = "my-worker"
main = "src/index.ts"
compatibility_date = "2024-12-30"

# KV binding
[[kv_namespaces]]
binding = "MY_KV"
id = "xxx"

# D1 binding
[[d1_databases]]
binding = "DB"
database_name = "my-db"
database_id = "xxx"

# R2 binding
[[r2_buckets]]
binding = "BUCKET"
bucket_name = "my-bucket"

# Environment variables
[vars]
API_URL = "https://api.example.com"

# Secrets (set via `wrangler secret put`)
# Referenced as env.SECRET_NAME in worker code

Static assets (for frameworks like Next.js):

name = "my-site"
main = ".open-next/worker.js"
compatibility_date = "2024-12-30"
compatibility_flags = ["nodejs_compat"]

[assets]
directory = ".open-next/assets"
binding = "ASSETS"

Common Patterns

Deploy with environment

wrangler deploy -e production
wrangler deploy -e staging

Custom domain (via dashboard or API)

Custom domains must be configured in the Cloudflare dashboard under Worker Settings > Domains & Routes, or via the Cloudflare API. Wrangler doesn't directly manage custom domains.

Local development with bindings

# Creates local D1/KV/R2 for dev
wrangler dev --local

Checking deployment status

wrangler deployments list
wrangler deployments view

What Wrangler Does NOT Do

  • DNS management — Use the Cloudflare dashboard or API for DNS records
  • Custom domains — Configure via dashboard (Worker Settings > Domains & Routes) or API
  • SSL certificates — Managed automatically by Cloudflare when custom domains are added
  • Firewall/WAF rules — Use dashboard or API

For DNS/domain management, see the cloudflare skill (uses Cloudflare API directly).

Troubleshooting

IssueSolution
"Not authenticated"Run wrangler login
Node version errorRequires Node.js v20+
"No config found"Ensure config file exists (wrangler.toml or wrangler.jsonc) or use -c path/to/config
Config changes ignoredCheck for wrangler.json/wrangler.jsonc — JSON takes precedence over TOML
Binding not foundCheck wrangler.toml bindings match code references

Resources

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…