AGENT SKILL

sandbox-fallback-execution-5eda7b

Fallback pattern for executing Python code when sandbox execution fails by writing scripts to disk and running via shell

License 许可
MIT
所属仓库
HKUDS/AgentPilot
最近更新
2026-11-12
Stars
★ 8.0k
Forks
941

01 前言 Front Matter

name
sandbox-fallback-execution-5eda7b
description
Fallback pattern for executing Python code when sandbox execution fails by writing scripts to disk and running via shell

02 资源文件 1

03 SKILL.md 正文

Sandbox Fallback Execution

Overview

When execute_code_sandbox fails due to e2b initialization errors or sandbox unavailability, use this fallback pattern to execute Python code by writing it to disk and running it via run_shell. This approach is particularly useful for PDF generation, data processing, and other Python-intensive tasks.

When to Use

Use this skill when you encounter errors like:

  • e2b initialization error
  • sandbox not available
  • execute_code_sandbox timeout or connection failures
  • Any sandbox execution that consistently fails

Step-by-Step Instructions

Step 1: Attempt Sandbox Execution First

Always try execute_code_sandbox first, as it provides isolation and artifact handling:

execute_code_sandbox(code="your_python_code_here")

Step 2: Detect Failure and Switch to Fallback

When sandbox execution fails with initialization errors, switch to the fallback pattern:

  1. Write the Python script to disk using write_file:

    • Choose a descriptive filename (e.g., generate_pdf.py, process_data.py)
    • Include the complete Python code with all necessary imports
  2. Execute via shell using run_shell:

    • Run the script with python or python3
    • Capture stdout/stderr for verification

Step 3: Example Implementation

# Write the script to disk
write_file(
    path="generate_pdf.py",
    content="""
from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

def create_pdf(filename, content):
    c = canvas.Canvas(filename, pagesize=letter)
    c.drawString(100, 750, content)
    c.save()

create_pdf('output.pdf', 'Hello World')
"""
)

# Execute the script via shell
run_shell(command="python generate_pdf.py")

Step 4: Handle Dependencies

If the script requires external packages:

# Install dependencies first
run_shell(command="pip install reportlab pillow")

# Then execute the script
run_shell(command="python generate_pdf.py")

Step 5: Verify Output

After execution, verify the output was created:

# Check if file was created
run_shell(command="ls -la output.pdf")

# Optionally read the file to confirm
read_file(file_path="output.pdf", filetype="pdf")

Best Practices

  1. Keep scripts self-contained: Include all imports and logic in the written file
  2. Use descriptive filenames: Make it clear what each script does
  3. Clean up when done: Remove temporary scripts if not needed for debugging
  4. Capture errors: Always check stdout/stderr from run_shell for debugging
  5. Handle paths carefully: Use relative paths or absolute paths consistently

Complete Example Pattern

# Primary: Try sandbox execution
try:
    result = execute_code_sandbox(code=python_code)
except Exception as e:
    if "e2b" in str(e).lower() or "sandbox" in str(e).lower():
        # Fallback: Write to disk and execute via shell
        script_path = "task_script.py"
        
        write_file(
            path=script_path,
            content=python_code
        )
        
        # Install any required dependencies
        run_shell(command="pip install -q reportlab")
        
        # Execute the script
        result = run_shell(command=f"python {script_path}")
        
        # Verify output
        run_shell(command="ls -la")

Applicable Use Cases

  • PDF generation (reportlab, fpdf, etc.)
  • Image processing (PIL, OpenCV)
  • Data analysis (pandas, numpy)
  • File manipulation tasks
  • Any Python script that doesn't require special sandbox features

04 同仓库更多 Skills

HKUDS
HKUDS/AgentPilot

agentpilot

Set up AgentPilot and use its single entry to prepare missing inputs and run configured RSI experiments. Use when the user requests AgentPilot installation or work with AgentPilot.

★ 8.0k
HKUDS
HKUDS/AgentPilot

remember

Review auto-memory entries and propose promotions to OPENSPACE.md, OPENSPACE.local.md, or retained auto-memory topics; detect duplicates, stale facts, conflicts, and ambiguous entries before making changes.

★ 8.0k
HKUDS
HKUDS/AgentPilot

skill-discovery

Search reusable OpenSpace skills locally, and browse cloud packages step by step when a cloud skill may help. Reusing proven skills saves tokens, improves reliability, and extends your capabilities beyond built-in tools.

Skill与智能体开发
★ 8.0k
HKUDS
HKUDS/AgentPilot

delegate-task

Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.

Skill与智能体开发
★ 8.0k
HKUDS
HKUDS/AgentPilot

write-special-chars-ts-check

Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, plus a reliable TypeScript type-checking step that filters output to only the newly-written files to avoid being misled by pre-existing errors.

★ 8.0k
HKUDS
HKUDS/AgentPilot

write-special-chars-readback

Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, with mandatory post-write verification via read_file and cleanup of /tmp helper scripts.

★ 8.0k