Cloudflare Workers
einverne/dotfiles
Comprehensive guide for building serverless applications with Cloudflare Workers.
Multi-language Workers development with Rust, Python, and WebAssembly.
$ npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install secondsky/claude-skills cloudflare-workers-multi-lang --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang .claude/skills/cloudflare-workers-multi-lang && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cloudflare-workers-multi-lang" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang into .claude/skills/cloudflare-workers-multi-lang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-workers-multi-lang", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-workers/skills/cloudflare-workers-multi-langType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install secondsky/claude-skills cloudflare-workers-multi-lang --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang .agents/skills/cloudflare-workers-multi-lang && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cloudflare-workers-multi-lang" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang into .agents/skills/cloudflare-workers-multi-lang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-workers-multi-lang", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install secondsky/claude-skills cloudflare-workers-multi-lang --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang .cursor/skills/cloudflare-workers-multi-lang && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cloudflare-workers-multi-lang" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang into .cursor/skills/cloudflare-workers-multi-lang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-workers-multi-lang", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/secondsky/claude-skills.git --path plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install secondsky/claude-skills cloudflare-workers-multi-lang --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang .gemini/skills/cloudflare-workers-multi-lang && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cloudflare-workers-multi-lang" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang into .gemini/skills/cloudflare-workers-multi-lang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-workers-multi-lang", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install secondsky/claude-skills cloudflare-workers-multi-langInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang .github/skills/cloudflare-workers-multi-lang && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cloudflare-workers-multi-lang" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang into .github/skills/cloudflare-workers-multi-lang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-workers-multi-lang", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install secondsky/claude-skills cloudflare-workers-multi-lang --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang .opencode/skills/cloudflare-workers-multi-lang && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cloudflare-workers-multi-lang" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang into .opencode/skills/cloudflare-workers-multi-lang/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-workers-multi-lang", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cloudflare-workers-multi-langMulti-language Workers development with Rust, Python, and WebAssembly.
Cloudflare Workers Multi Lang is an agent skill from secondsky/claude-skills. Multi-language Workers development with Rust, Python, and WebAssembly. Use when building Workers in languages other than JavaScript/TypeScript, or when integrating WASM modules for performance-critical code.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `references/python-workers.md`, `references/rust-workers.md` and `references/wasm-integration.md`).
It works with WebAssembly, Rust, Python and Cloudflare Workers. The repository describes itself as: Production-ready skills for Claude Code CLI - Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8837836. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell, Python, Rust and TypeScript), which the agent can run.
Shell commands in SKILL.md call:
cargopythonFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cloudflare Workers Multi Lang loads about 1.3k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 59 tokens; SKILL.md has 246 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from secondsky/claude-skills at commit 8837836, republished under its MIT licence (© secondsky). 246 words, ~1,280 tokens.
.claude/skills/cloudflare-workers-multi-lang/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Build Cloudflare Workers using Rust, Python, or WebAssembly for performance-critical operations.
| Feature | JavaScript/TS | Rust | Python |
|---|---|---|---|
| Startup | Fast | Fastest (WASM) | Moderate |
| CPU Perf | Good | Excellent | Good |
| Memory | Higher | Lower | Higher |
| Bundle Size | Smaller | Medium | Larger |
| Type Safety | Optional (TS) | Strict | Optional |
| Best For | General apps | CPU-intensive | Data/ML |
Need maximum performance? → Rust/WASM
Heavy computation (crypto, image processing)? → Rust/WASM
Data processing, ML inference? → Python
General web apps? → JavaScript/TypeScript| Error | Language | Cause | Solution |
|---|---|---|---|
WebAssembly.instantiate() failed | Rust | Invalid WASM | Check wasm-pack build output |
Module parse failed: Unexpected token | Rust | ESM/CJS mismatch | Use --target bundler |
Cannot find module | Python | Missing dep | Add to pyproject.toml |
Out of memory | All | Large WASM | Enable streaming instantiation |
Exceeded CPU time limit | All | Long computation | Chunk processing |
wasm-bindgen version mismatch | Rust | Dep conflict | Align versions in Cargo.toml |
RuntimeError: unreachable | Rust | Panic in WASM | Add proper error handling |
TypeError: not a function | Rust | Missing export | Add #[wasm_bindgen] attribute |
Python worker startup timeout | Python | Slow init | Minimize imports |
SharedArrayBuffer not supported | All | Security | Add COOP/COEP headers |
# Install tools
cargo install wasm-pack
# Create project
cargo new --lib my-worker
cd my-worker
# Add to Cargo.toml
cat >> Cargo.toml << 'EOF'
[lib]
crate-type = ["cdylib"]
[dependencies]
wasm-bindgen = "0.2"
worker = "0.3"
console_error_panic_hook = "0.1"
[profile.release]
opt-level = "s"
lto = true
EOF// src/lib.rs
use worker::*;
#[event(fetch)]
async fn fetch(req: Request, env: Env, _ctx: Context) -> Result<Response> {
console_error_panic_hook::set_once();
Router::new()
.get("/", |_, _| Response::ok("Hello from Rust!"))
.get("/compute", |_, _| {
// CPU-intensive computation
let result = heavy_computation();
Response::ok(format!("Result: {}", result))
})
.run(req, env)
.await
}
fn heavy_computation() -> u64 {
(1..1_000_000).filter(|n| is_prime(*n)).count() as u64
}
fn is_prime(n: u64) -> bool {
if n < 2 { return false; }
(2..=(n as f64).sqrt() as u64).all(|i| n % i != 0)
}# pyproject.toml
[project]
name = "my-worker"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = []
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"# src/entry.py
from js import Response, Headers
async def on_fetch(request, env):
url = request.url
if "/compute" in url:
result = heavy_computation()
return Response.new(f"Result: {result}")
return Response.new("Hello from Python!")
def heavy_computation():
"""CPU-intensive computation"""
return sum(1 for n in range(2, 100000) if is_prime(n))
def is_prime(n):
if n < 2:
return False
return all(n % i != 0 for i in range(2, int(n**0.5) + 1))// Load and use WASM module in TypeScript Worker
import wasmModule from './pkg/my_lib_bg.wasm';
import { init, process_data } from './pkg/my_lib';
let wasmInstance: WebAssembly.Instance;
export default {
async fetch(request: Request, env: Env): Promise<Response> {
// Initialize WASM once
if (!wasmInstance) {
wasmInstance = await WebAssembly.instantiate(wasmModule);
init();
}
// Use WASM function
const result = process_data(inputData);
return Response.json({ result });
},
};| Reference | Load When |
|---|---|
references/rust-workers.md | Building Workers with Rust/WASM |
references/python-workers.md | Using Python on Workers for Platforms |
references/wasm-integration.md | Integrating WASM modules in any Worker |
workers-performance - General optimization techniquesworkers-testing - Testing multi-language Workerscloudflare-worker-base - Basic Workers setup© secondsky, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts, references) in plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang of secondsky/claude-skills.
Open the folder on GitHubat commit 8837836
Cloudflare Workers Multi Lang next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cloudflare Workers Multi Lang this skillsecondsky/claude-skills | 227 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Cloudflare Workerseinverne/dotfiles | 121 | — | ~8.4k | Automated safety check: Pass | MIT | |
| jscpd Code Migration Trackerkucherenko/jscpd | 6.3k | — | ~5k | Automated safety check: Pass | MIT | |
| Cross-Language Coding Standardszereight/gitlab-mcp | 2k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Crossbindcrossbind/crossbind | 148 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Language Supportlive-codes/livecodes | 1.5k | — | ~1.6k | Automated safety check: Pass | MIT |
einverne/dotfiles
Comprehensive guide for building serverless applications with Cloudflare Workers.
kucherenko/jscpd
Measures a code port between languages or frameworks with jscpd's function-level comparison, porting tests before code and tracking what is left unmatched.
zereight/gitlab-mcp
Shared reference for naming, function size, complexity and error handling rules that reviewer agents apply across TypeScript, Python, Go, Rust, Java, C# and Swift.
crossbind/crossbind
A skill your agent uses when a user wants to call C++ or Rust from JavaScript or TypeScript; add a native library such as GDAL, SQLite, OpenSSL, GEOS or PROJ to a browser, Node.js, Cloudflare Worker…
live-codes/livecodes
Work with 90+ supported languages, compilers, CSS processors, and WASM-compiled languages for markup, style, and script editors.
mastra-ai/mastra
Authoring playbook for building agents that write, edit, review, or refactor code.
secondsky/claude-skills
TanStack AI (alpha) provider-agnostic type-safe chat with streaming for OpenAI, Anthropic, Gemini, Ollama.
secondsky/claude-skills
AutoAnimate (@formkit/auto-animate) zero-config animations for React.
secondsky/claude-skills
MUI Base UI unstyled React components with Floating UI. An agent skill from secondsky/claude-skills.
secondsky/claude-skills
This skill should be used when the user asks to "upload images to Cloudflare", "implement direct creator upload", "configure image transformations", "optimize WebP/AVIF", "create image variants"…
secondsky/claude-skills
Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare).
secondsky/claude-skills
Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge.
Multi-language Workers development with Rust, Python, and WebAssembly. Cloudflare Workers Multi Lang is an agent skill from secondsky/claude-skills. Multi-language Workers development with Rust, Python, and WebAssembly.
Cloudflare Workers Multi Lang fits situations like: building Workers in languages other than JavaScript/TypeScript; integrating WASM modules for performance-critical code.
Run `npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a claude-code`. Or copy the skill folder (plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang in secondsky/claude-skills) into .claude/skills/cloudflare-workers-multi-lang in your project. Claude Code loads it when a task matches its description.
Run `npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a codex`. Or copy the skill folder (plugins/cloudflare-workers/skills/cloudflare-workers-multi-lang in secondsky/claude-skills) into .agents/skills/cloudflare-workers-multi-lang in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add secondsky/claude-skills --skill cloudflare-workers-multi-lang -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cloudflare-workers-multi-lang, .gemini/skills/cloudflare-workers-multi-lang, .github/skills/cloudflare-workers-multi-lang and .opencode/skills/cloudflare-workers-multi-lang in your project.
Going by SKILL.md and its folder, Cloudflare Workers Multi Lang needs a shell, Python, Rust and TypeScript for the scripts in its folder and the command-line tools its instructions call (cargo and python). Our summary lists: Python 3; Node.js; A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Cloudflare Workers Multi Lang is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cloudflare Workers Multi Lang: Cloudflare Workers (einverne/dotfiles, 121 stars), jscpd Code Migration Tracker (kucherenko/jscpd, 6.3k stars), Cross-Language Coding Standards (zereight/gitlab-mcp, 2k stars) and Crossbind (crossbind/crossbind, 148 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
secondsky (a GitHub user) maintains it in secondsky/claude-skills, which has 227 GitHub stars. The repository holds 169 skills in this directory. The repository was last updated on September 28, 2026.
Source: secondsky/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.