Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Expert patterns for building Cloudflare Workers applications including Durable Objects for stateful coordination, KV/R2/D1 storage tiers, Workers AI inference, and AI Gateway for LLM routing.
# Development
wrangler dev # Local dev server
wrangler dev --remote # Dev against production bindings# Deployment
wrangler deploy # Deploy to production
wrangler deploy --env staging # Deploy to staging environment# Type generation (ALWAYS run after editing wrangler.toml/wrangler.jsonc)
wrangler types # Generates worker-configuration.d.ts — never hand-write Env interface# Storage management
wrangler kv:key put --binding MY_KV "key""value"
wrangler kv:key get --binding MY_KV "key"
wrangler r2 object put my-bucket/path/file.txt --file ./local-file.txt
wrangler d1 execute my-db --file ./migrations/001.sql
wrangler d1 execute my-db --command"SELECT * FROM users LIMIT 5"# Secrets
wrangler secret put OPENAI_API_KEY # Prompts for value
wrangler secret list
# Durable Objects
wrangler durable-objects migrate apply # Apply pending migrations# Logs and observability
wrangler tail# Stream live logs from production
wrangler tail --format pretty
wrangler tail --json # Structured JSON log stream for analysis
Performance Patterns
// Use ctx.waitUntil() for non-blocking background workexportdefault {
asyncfetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> {
const response = awaithandleRequest(request, env);
// Fire-and-forget: analytics, cache warm, audit logging
ctx.waitUntil(logAnalytics(request, response, env));
return response;
},
};
// Stream large bodies — never buffer fully into memoryasyncfunctionstreamBody(request: Request, env: Env): Promise<Response> {
const { readable, writable } = newTransformStream();
// Pipe without buffering — stays within 128MB Worker limit
request.body?.pipeTo(writable);
returnnewResponse(readable);
}
Durable Objects with SQLite (2025 default):
New Durable Objects should use the SQL API for storage — SQLite-backed DOs provide relational queries, indexes, and transactions:
exportclassRoomDOimplementsDurableObject {
privatesql: SqlStorage;
constructor(state: DurableObjectState, env: Env) {
this.state = state;
this.sql = state.storage.sql;
// Create tables on first initializationthis.sql.exec(
`CREATE TABLE IF NOT EXISTS messages (id INTEGER PRIMARY KEY, ts INTEGER, body TEXT)`
);
}
asyncaddMessage(body: string): Promise<void> {
this.sql.exec('INSERT INTO messages (ts, body) VALUES (?, ?)', Date.now(), body);
}
asyncgetMessages(): Promise<{ id: number; ts: number; body: string }[]> {
return [...this.sql.exec('SELECT * FROM messages ORDER BY ts DESC LIMIT 50')];
}
}
Observability
Enable Workers Logs and Traces before any production deployment:
# Run tests
pnpm vitest run
# Run with Cloudflare runtime (recommended)
pnpm vitest run --pool @cloudflare/vitest-pool-workers
Related Skills
devops — CI/CD pipeline configuration for Cloudflare deployments
terraform-infra — Cloudflare Terraform provider for infrastructure-as-code
database-expert — D1 schema design and query optimization
container-expert — Cloudflare Containers (complementary to Workers)
Search Protocol
Before starting any Cloudflare Workers task, search for existing wrangler configs and worker scripts:
pnpm search:code "wrangler OR DurableObject OR KVNamespace OR R2Bucket"
pnpm search:code "cloudflare workers"
Use Skill({ skill: 'ripgrep' }) for fast search across .toml and .ts files. Use Skill({ skill: 'code-semantic-search' }) to find similar edge function patterns.
Memory Protocol (MANDATORY)
Before starting any task, you must query semantic memory and read recent static memory: