Deploy Native Skill
jiushiwon/wg-skills
用于按 deploy-profile.md 生成原生(非 Docker)部署脚本,覆盖 git 拉取、依赖安装、构建、优雅停止老进程、后台启动新进程、日志定向、健康检查等步骤,按 OS 输出 .sh 或 .ps1。支持 systemd / pm2 / supervisor / nohup 等进程管理方式。当用户说「原生部署」「deploy native」「生成部署脚本」「一键部署脚本」时触发。
Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge.
$ npx skills add secondsky/claude-skills --skill cloudflare-sandbox -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install secondsky/claude-skills cloudflare-sandbox --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-sandbox/skills/cloudflare-sandbox .claude/skills/cloudflare-sandbox && 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-sandbox" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-sandbox/skills/cloudflare-sandbox into .claude/skills/cloudflare-sandbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-sandbox", 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-sandbox/skills/cloudflare-sandboxType 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-sandbox -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install secondsky/claude-skills cloudflare-sandbox --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-sandbox/skills/cloudflare-sandbox .agents/skills/cloudflare-sandbox && 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-sandbox" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-sandbox/skills/cloudflare-sandbox into .agents/skills/cloudflare-sandbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-sandbox", 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-sandbox -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install secondsky/claude-skills cloudflare-sandbox --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-sandbox/skills/cloudflare-sandbox .cursor/skills/cloudflare-sandbox && 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-sandbox" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-sandbox/skills/cloudflare-sandbox into .cursor/skills/cloudflare-sandbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-sandbox", 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-sandbox/skills/cloudflare-sandbox--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-sandbox -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install secondsky/claude-skills cloudflare-sandbox --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-sandbox/skills/cloudflare-sandbox .gemini/skills/cloudflare-sandbox && 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-sandbox" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-sandbox/skills/cloudflare-sandbox into .gemini/skills/cloudflare-sandbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-sandbox", 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-sandboxInstalls 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-sandbox -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-sandbox/skills/cloudflare-sandbox .github/skills/cloudflare-sandbox && 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-sandbox" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-sandbox/skills/cloudflare-sandbox into .github/skills/cloudflare-sandbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-sandbox", 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-sandbox -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-sandbox --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-sandbox/skills/cloudflare-sandbox .opencode/skills/cloudflare-sandbox && 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-sandbox" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/cloudflare-sandbox/skills/cloudflare-sandbox into .opencode/skills/cloudflare-sandbox/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cloudflare-sandbox", 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-sandboxCloudflare Sandboxes SDK for secure code execution in Linux containers at edge.
Cloudflare Sandbox is an agent skill from secondsky/claude-skills. Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge. Use for untrusted code, Python/Node.js scripts, AI code interpreters, git operations.
Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 20 other files, including scripts, reference files and assets (for example `references/advanced.md`, `references/api-reference.md` and `references/common-errors.md`).
It sits in DevOps & Cloud. It works with Cloudflare, Python, Node.js and Git. The repository describes itself as: Production-ready skills for Claude Code CLI - Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.
3 steps, taken from the step headings 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 3 files in scripts/ (TypeScript and Shell), which the agent can run.
Shell commands in SKILL.md call:
npmbuncurlbunxFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
developers.cloudflare.comgithub.comFrom 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 Sandbox loads about 4.5k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 1,214 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). 1,214 words, ~4,462 tokens.
.claude/skills/cloudflare-sandbox/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.Status: Production Ready (Open Beta)
Last Updated: 2025-12-10
Dependencies: cloudflare-worker-base, cloudflare-durable-objects (recommended for understanding)
Latest Versions: @cloudflare/sandbox@0.6.3, Docker image: cloudflare/sandbox:0.6.3-python
⚠️ BREAKING CHANGE (v0.6.0): Python is no longer included in the default image. Use cloudflare/sandbox:<version>-python for Python support (~1.3GB with data science packages). The lean variant (~600-800MB) excludes Python.
bun add @cloudflare/sandbox@latest # preferred
# or: bun add @cloudflare/sandbox@latestwrangler.jsonc:
{
"name": "my-sandbox-worker",
"main": "src/index.ts",
"compatibility_flags": ["nodejs_compat"],
"containers": [{
"class_name": "Sandbox",
"image": "cloudflare/sandbox:0.6.3-python",
"instance_type": "lite"
}],
"durable_objects": {
"bindings": [{
"class_name": "Sandbox",
"name": "Sandbox"
}]
},
"migrations": [{
"tag": "v1",
"new_sqlite_classes": ["Sandbox"]
}]
}Why this matters:
nodejs_compat enables Node.js APIs required by SDKcontainers defines the Ubuntu container imagedurable_objects binding enables persistent routingmigrations registers the Sandbox classimport { getSandbox, type Sandbox } from '@cloudflare/sandbox';
export { Sandbox } from '@cloudflare/sandbox';
type Env = {
Sandbox: DurableObjectNamespace<Sandbox>;
};
export default {
async fetch(request: Request, env: Env): Promise<Response> {
// Get sandbox instance (creates if doesn't exist)
const sandbox = getSandbox(env.Sandbox, 'my-first-sandbox');
// Execute Python code
const result = await sandbox.exec('python3 -c "print(2 + 2)"');
return Response.json({
output: result.stdout,
success: result.success,
exitCode: result.exitCode
});
}
};CRITICAL:
{ Sandbox } from @cloudflare/sandbox in your Workernpm run deploy
curl https://your-worker.workers.devExpected output:
{
"output": "4\n",
"success": true,
"exitCode": 0
}Sandbox SDK packages grant container access — verify before installing to prevent unauthorized code execution. Follow supply chain security best practices:
npm config set ignore-scripts true (or Bun: disabled by default)socket package score npm <pkg> or use socket npm install <pkg> to check packagesLoad the dependency-upgrade skill for full security configuration including Socket CLI integration, cooldown setup, lockfile validation, and CI enforcement.
┌─────────────────────────────────────────┐
│ Your Worker (Layer 1) │
│ - Handles HTTP requests │
│ - Calls getSandbox() │
│ - Uses sandbox.exec(), writeFile(), etc│
└──────────────┬──────────────────────────┘
│ RPC via Durable Object
┌──────────────▼──────────────────────────┐
│ Durable Object (Layer 2) │
│ - Routes by sandbox ID │
│ - Maintains persistent identity │
│ - Geographic stickiness │
└──────────────┬──────────────────────────┘
│ Container API
┌──────────────▼──────────────────────────┐
│ Ubuntu Container (Layer 3) │
│ - Full Linux environment │
│ - Python 3.11, Node 20, Git, etc. │
│ - Filesystem: /workspace, /tmp, /home │
│ - Process isolation (VM-based) │
└─────────────────────────────────────────┘Key Insight: Workers handle API logic (fast), Durable Objects route requests (persistent identity), Containers execute code (full capabilities).
┌─────────┐ First request ┌────────┐ ~10 min idle ┌──────┐
│ Not │ ───────────────>│ Active │ ─────────────> │ Idle │
│ Created │ │ │ │ │
└─────────┘ └───┬────┘ └──┬───┘
│ ^ │
│ │ New request │
│ └──────────────────────┘
│ │
▼ ▼
Files persist ALL FILES DELETED
Processes run ALL PROCESSES KILLED
State maintained ALL STATE RESETWhile Container is Active (~10 min after last request):
/workspace, /tmp, /home persistWhen Container Goes Idle (after inactivity):
This is NOT like a traditional server. Sandboxes are ephemeral by design.
For Important Data: Use external storage
// Save to R2 before container goes idle
await sandbox.writeFile('/workspace/data.txt', content);
const fileData = await sandbox.readFile('/workspace/data.txt');
await env.R2.put('backup/data.txt', fileData);
// Restore on next request
const restored = await env.R2.get('backup/data.txt');
if (restored) {
await sandbox.writeFile('/workspace/data.txt', await restored.text());
}For Build Artifacts: Accept ephemerality or use caching
// Check if setup needed (handles cold starts)
const exists = await sandbox.readdir('/workspace/project').catch(() => null);
if (!exists) {
await sandbox.gitCheckout(repoUrl, '/workspace/project');
await sandbox.exec('npm install', { cwd: '/workspace/project' });
}
// Now safe to run build
await sandbox.exec('npm run build', { cwd: '/workspace/project' });Sessions are bash shell contexts within one sandbox. Think terminal tabs.
Key Properties:
type ConversationState = {
sandboxId: string;
sessionId: string;
};
// First message: Create sandbox and session
const sandboxId = `user-${userId}`;
const sandbox = getSandbox(env.Sandbox, sandboxId);
const sessionId = await sandbox.createSession();
// Store in conversation state (database, KV, etc.)
await env.KV.put(`conversation:${conversationId}`, JSON.stringify({
sandboxId,
sessionId
}));
// Later messages: Reuse same session
const state = await env.KV.get(`conversation:${conversationId}`);
const { sandboxId, sessionId } = JSON.parse(state);
const sandbox = getSandbox(env.Sandbox, sandboxId);
// Commands run in same context
await sandbox.exec('cd /workspace/project', { session: sessionId });
await sandbox.exec('ls -la', { session: sessionId }); // Still in /workspace/project
await sandbox.exec('git status', { session: sessionId }); // Still in /workspace/project// ❌ WRONG: Each command runs in separate session
await sandbox.exec('cd /workspace/project');
await sandbox.exec('ls'); // NOT in /workspace/project (different session)const session1 = await sandbox.createSession();
const session2 = await sandbox.createSession();
// Run different tasks simultaneously
await Promise.all([
sandbox.exec('python train_model.py', { session: session1 }),
sandbox.exec('node generate_reports.js', { session: session2 })
]);const sandbox = getSandbox(env.Sandbox, `user-${userId}`);Pros: User's work persists while actively using (10 min idle time) Cons: Geographic lock-in (first request determines location) Use Cases: Interactive notebooks, IDEs, persistent workspaces
const sandboxId = `session-${Date.now()}-${crypto.randomUUID()}`;
const sandbox = getSandbox(env.Sandbox, sandboxId);
// Always destroy after use
await sandbox.destroy();Pros: Clean environment, no state pollution Cons: No persistence between requests Use Cases: One-shot code execution, CI/CD, testing
const sandbox = getSandbox(env.Sandbox, `build-${repoName}-${commitSha}`);Pros: Reproducible, debuggable, cacheable Cons: Need explicit cleanup strategy Use Cases: Build systems, data pipelines, automated workflows
The Sandbox SDK provides methods for command execution, file operations, Git operations, code interpretation (Jupyter-like), background processes, and cleanup.
📖 Load references/api-reference.md when you need detailed API method signatures, parameter options, or implementation examples for:
✅ Check exit codes - if (!result.success) { handle error }
✅ Use sessions for multi-step workflows - Preserve working directory
✅ Handle cold starts - Check if files exist before assuming they're there
✅ Set timeouts - Prevent hanging on long operations
✅ Destroy ephemeral sandboxes - Cleanup temp/session-based sandboxes
✅ Use external storage for persistence - R2/KV/D1 for important data
✅ Validate user input - Sanitize before exec() to prevent command injection
✅ Export Sandbox class - export { Sandbox } from '@cloudflare/sandbox'
❌ Assume files persist after idle - Container resets after ~10 min
❌ Ignore exit codes - Always check result.success or result.exitCode
❌ Chain commands without sessions - cd /dir then ls won't work
❌ Execute unsanitized user input - Use code interpreter or validate thoroughly
❌ Forget nodejs_compat flag - Required in wrangler.jsonc
❌ Skip migrations - Durable Objects need migration entries
❌ Use .workers.dev for preview URLs - Need custom domain
❌ Create unlimited sandboxes - Destroy ephemeral ones to avoid leaks
This skill prevents 10 documented issues:
Error: ReferenceError: fetch is not defined or Buffer is not defined
Source: https://developers.cloudflare.com/sandbox/get-started/
Why It Happens: SDK requires Node.js APIs not available in standard Workers
Prevention: Add "compatibility_flags": ["nodejs_compat"] to wrangler.jsonc
Error: Error: Class 'Sandbox' not found
Source: https://developers.cloudflare.com/durable-objects/
Why It Happens: Durable Objects must be registered via migrations
Prevention: Include migrations array in wrangler.jsonc
Error: Files disappear after inactivity Source: https://developers.cloudflare.com/sandbox/concepts/sandboxes/ Why It Happens: Containers go idle after ~10 min, all state reset Prevention: Use external storage (R2/KV) or check existence on each request
Error: Commands execute in wrong directory
Source: https://developers.cloudflare.com/sandbox/concepts/sessions/
Why It Happens: Each exec() uses new session unless explicitly specified
Prevention: Create session with createSession(), pass to all related commands
Error: Assuming command succeeded when it failed
Source: Shell best practices
Why It Happens: Not checking result.success or result.exitCode
Prevention: Always check: if (!result.success) throw new Error(result.stderr)
Error: Commands fail because dependencies aren't installed Source: https://developers.cloudflare.com/sandbox/concepts/sandboxes/ Why It Happens: Container resets after idle period Prevention: Check if setup needed before running commands
Error: Failed to build container during local development
Source: https://developers.cloudflare.com/sandbox/get-started/
Why It Happens: Local dev requires Docker daemon
Prevention: Ensure Docker Desktop is running before npm run dev
Error: API methods not available or behaving unexpectedly
Source: GitHub issues
Why It Happens: npm package version doesn't match Docker image version
Prevention: Keep @cloudflare/sandbox package and cloudflare/sandbox image in sync
Error: Resource exhaustion, unexpected costs
Source: Resource management best practices
Why It Happens: Creating sandboxes without destroying them
Prevention: await sandbox.destroy() in finally block for temp sandboxes
Error: Security breach from unsanitized user input
Source: Security best practices
Why It Happens: Passing user input directly to exec()
Prevention: Use code interpreter API or validate/sanitize input thoroughly
{
"name": "my-sandbox-app",
"main": "src/index.ts",
"compatibility_date": "2025-10-29",
"compatibility_flags": ["nodejs_compat"], // ← REQUIRED
"containers": [{
"class_name": "Sandbox",
"image": "cloudflare/sandbox:0.6.3-python", // ← Use -python for Python support
"instance_type": "lite"
}],
"durable_objects": {
"bindings": [{"class_name": "Sandbox", "name": "Sandbox"}]
},
"migrations": [{
"tag": "v1",
"new_sqlite_classes": ["Sandbox"]
}]
}Four production-ready patterns for building with Cloudflare Sandboxes: one-shot code execution, persistent user workspaces, CI/CD pipelines, and AI agent integration.
📖 Load references/patterns.md when you need complete implementation examples for:
setup-sandbox-binding.sh - Interactive wrangler.jsonc configurationtest-sandbox.ts - Validation script to test sandbox setupExample Usage:
# Setup wrangler config
./scripts/setup-sandbox-binding.sh
# Test sandbox
bunx tsx scripts/test-sandbox.tsreferences/persistence-guide.md - Deep dive on container lifecycle and persistencereferences/session-management.md - Advanced session patterns and best practicesreferences/common-errors.md - Complete list of errors with solutionsreferences/naming-strategies.md - Choosing sandbox IDs for different use casesWhen Claude should load these:
persistence-guide.md when debugging state issues or cold startssession-management.md when building multi-step workflows or chat agentscommon-errors.md when encountering specific errorsnaming-strategies.md when designing sandbox architecture📖 Load references/advanced.md for production patterns:
Package: @cloudflare/sandbox@0.6.3 | Docker: cloudflare/sandbox:0.6.3-python
Docs: Cloudflare Sandboxes | API Reference | GitHub SDK
© 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 16 other files (scripts, references, assets) in plugins/cloudflare-sandbox/skills/cloudflare-sandbox of secondsky/claude-skills.
Open the folder on GitHubat commit 8837836
Cloudflare Sandbox 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 Sandbox this skillsecondsky/claude-skills | 227 | — | ~4.5k | Automated safety check: Pass | MIT | |
| Deploy Native Skilljiushiwon/wg-skills | 110 | — | ~1.6k | Automated safety check: Notes | Apache-2.0 | |
| Cloudflare Email Servicehodgef/apiker | 127 | 3 repos | ~2k | Automated safety check: Pass | MIT | |
| Workers Best Practiceshodgef/apiker | 127 | 6 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Sandbox SDKhodgef/apiker | 127 | 2 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Small Server FitFAIRY123456789/human-edge-agent-skills | 103 | — | ~1k | Automated safety check: Pass | MIT |
jiushiwon/wg-skills
用于按 deploy-profile.md 生成原生(非 Docker)部署脚本,覆盖 git 拉取、依赖安装、构建、优雅停止老进程、后台启动新进程、日志定向、健康检查等步骤,按 OS 输出 .sh 或 .ps1。支持 systemd / pm2 / supervisor / nohup 等进程管理方式。当用户说「原生部署」「deploy native」「生成部署脚本」「一键部署脚本」时触发。
hodgef/apiker
Send and receive transactional emails with Cloudflare Email Service (Email Sending + Email Routing).
hodgef/apiker
Reviews and authors Cloudflare Workers code against production best practices.
hodgef/apiker
Build sandboxed applications for secure code execution. An agent skill from hodgef/apiker.
FAIRY123456789/human-edge-agent-skills
Assess whether a web application and its build and runtime plan fit a low-cost Linux VPS or Alibaba Cloud ECS before purchase, implementation, or deployment.
gotempsh/temps
Deploy applications to the Temps platform with automatic framework detection, Dockerfile generation, and container orchestration.
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
GitHub repository automation (CI/CD, issue templates, Dependabot, CodeQL).
Categories
Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge. Cloudflare Sandbox is an agent skill from secondsky/claude-skills. Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge.
Cloudflare Sandbox fits situations like: Python/Node.js scripts; AI code interpreters.
Run `npx skills add secondsky/claude-skills --skill cloudflare-sandbox -a claude-code`. Or copy the skill folder (plugins/cloudflare-sandbox/skills/cloudflare-sandbox in secondsky/claude-skills) into .claude/skills/cloudflare-sandbox in your project. Claude Code loads it when a task matches its description.
Run `npx skills add secondsky/claude-skills --skill cloudflare-sandbox -a codex`. Or copy the skill folder (plugins/cloudflare-sandbox/skills/cloudflare-sandbox in secondsky/claude-skills) into .agents/skills/cloudflare-sandbox 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-sandbox -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-sandbox, .gemini/skills/cloudflare-sandbox, .github/skills/cloudflare-sandbox and .opencode/skills/cloudflare-sandbox in your project.
Going by SKILL.md and its folder, Cloudflare Sandbox needs TypeScript and a shell for the scripts in its folder and the command-line tools its instructions call (npm, bun, curl and bunx). Our summary lists: Python 3; Node.js; A Bash shell; Docker.
SKILL.md names 2 domains. As links in the text: developers.cloudflare.com and github.com. 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 Sandbox is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.5k tokens (SKILL.md is roughly 18k 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 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cloudflare Sandbox: Deploy Native Skill (jiushiwon/wg-skills, 110 stars), Cloudflare Email Service (hodgef/apiker, 127 stars), Workers Best Practices (hodgef/apiker, 127 stars) and Sandbox SDK (hodgef/apiker, 127 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.