Awesome-omni-skill managing-e2b-sandboxes

Manages E2B sandbox operations including code execution, debugging, and template building. Triggers when working/asking about sandboxes, code interpreters, or secure code execution environments.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/managing-e2b-sandboxes" ~/.claude/skills/diegosouzapw-awesome-omni-skill-managing-e2b-sandboxes && rm -rf "$T"
manifest: skills/development/managing-e2b-sandboxes/SKILL.md
source content

E2B Sandbox Helper

Step 1: Analyze Codebase Context

Before providing guidance, understand the project:

# Find SDK version and sandbox usage
grep -r "e2b" package.json requirements.txt pyproject.toml 2>/dev/null
grep -r "Sandbox" --include="*.py" --include="*.ts" --include="*.js" .
grep -r "timeout" --include="*.py" --include="*.ts" --include="*.js" .

Read relevant files to understand sandbox lifecycle, error handling, and timeout configuration.

Step 2: Check Build System

# Detect legacy vs modern build system
find . -name "e2b.Dockerfile" -o -name "e2b.toml" 2>/dev/null
grep -rl "from e2b import Template\|Template()" --include="*.py" . 2>/dev/null
FoundBuild SystemAction
e2b.Dockerfile
Legacy (v1)Recommend migration
Template()
usage
Modern (v2)Good
NothingNo custom templateUse default OR Build System 2.0

IMPORTANT:

  • For legacy systems: Suggest
    e2b template migrate
  • For new custom templates: ALWAYS use Build System 2.0 with
    Template()
    . NEVER create
    e2b.Dockerfile
    or
    e2b.toml
    files.

See BUILD-SYSTEM.md for how to build custom templates.

Step 3: Fetch Documentation

1. MCP (preferred) - Check if

mcp__e2b-docs__SearchE2BDocs
is available. If yes, use it:

mcp__e2b-docs__SearchE2BDocs({ query: "auto pause sandbox" })

If MCP is NOT available, prompt the user:

"I recommend installing the E2B docs MCP for faster lookups. Run:

claude mcp add --transport http e2b-docs https://e2b.dev/mcp
"

2. WebFetch - Fetch

https://e2b.dev/docs/llms.txt
first to find the right URL, then fetch the specific page.

Step 4: Code Review

Copy this checklist:

E2B Code Review:
- [ ] Timeout configured (Python: seconds, JS: timeoutMs in ms)
- [ ] Python uses Sandbox.create(), not Sandbox()
- [ ] Exception handling around sandbox.run_code()
- [ ] Cleanup guaranteed (context manager or finally block)
- [ ] Sandbox validation before operations
- [ ] Streaming for long operations (on_stdout/on_stderr)
- [ ] Errors returned to LLM for self-correction

Report Format

## E2B Code Review Results

### Critical Issues
1. **[CRITICAL]** Issue description
   - File: `path:line`
   - Fix: `code example`

Quick Reference

SDK Differences

PythonJavaScript
Timeout param
timeout
(seconds)
timeoutMs
(milliseconds)
Create sandbox
Sandbox.create()
Sandbox.create()
5 min timeout
timeout=300
timeoutMs=300000

Common Gotchas

SymptomCauseSolution
"Sandbox not found"Timeout expiredIncrease timeout, use
set_timeout()
502 Bad GatewaySandbox timeoutIncrease
timeout
at creation
Code runs, no outputWrong locationCheck
logs.stdout
, not just
results
Template build failsAlpine or missing
-y
Use Debian-based, add
-y
to apt

Note:

set_timeout()
RESETS from now, doesn't ADD to remaining time.

Execution Result Structure

execution = sandbox.run_code(code)

if execution.error:
    execution.error.name       # Error type
    execution.error.value      # Message
    execution.error.traceback  # Full traceback

execution.results    # Jupyter-style outputs (plots, dataframes)
execution.logs.stdout  # print() output
execution.logs.stderr  # Errors, warnings
execution.text       # Main result as string

Detailed References