OpenSpace sandbox-execution-fallback-238489

Fallback pattern for when execute_code_sandbox fails - write script to file and execute directly with run_shell

install
source · Clone the upstream repo
git clone https://github.com/HKUDS/OpenSpace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/HKUDS/OpenSpace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/gdpval_bench/skills/sandbox-execution-fallback-238489" ~/.claude/skills/hkuds-openspace-sandbox-execution-fallback-238489 && rm -rf "$T"
manifest: gdpval_bench/skills/sandbox-execution-fallback-238489/SKILL.md
source content

Sandbox Execution Fallback

This skill provides a reliable fallback pattern when

execute_code_sandbox
fails for code execution tasks (especially PDF generation, complex file operations, or library-dependent tasks).

When to Use

Use this fallback pattern when:

  • execute_code_sandbox
    returns errors or fails to produce expected output
  • The task requires specific Python libraries not available in the sandbox
  • File I/O operations (especially PDF, docx, xlsx) fail in the sandbox environment
  • You need more control over the execution environment

Step-by-Step Instructions

Step 1: Write the Python Script to a File

Instead of executing code directly in the sandbox, use

write_file
to create a standalone Python script:

Use write_file to create a script (e.g., script.py) with your complete Python code.

Step 2: Execute the Script Directly

Run the script using

run_shell
with Python:

Use run_shell with command: python3 script.py

Step 3: Verify Output

Check that the script executed successfully and produced the expected files or output.

Example Pattern

Instead of this (sandbox execution):

execute_code_sandbox with code using libraries like reportlab, fpdf, etc.

Do this (fallback pattern):

# Step 1: Create the script
write_file:
  path: generate_pdf.py
  content: |
    from reportlab.lib.pagesizes import letter
    from reportlab.pdfgen import canvas
    
    def create_pdf(filename):
        c = canvas.Canvas(filename, pagesize=letter)
        c.drawString(100, 750, "Hello World")
        c.save()
    
    create_pdf("output.pdf")

# Step 2: Execute directly
run_shell:
  command: python3 generate_pdf.py

Best Practices

  1. Include all dependencies in the script - Make the script self-contained
  2. Add error handling - Include try/except blocks to catch and report errors
  3. Use absolute or clear relative paths - Ensure file paths work in the execution context
  4. Verify prerequisites - Check that required Python packages are available
  5. Clean up temporary files - Remove intermediate scripts after successful execution if needed

Troubleshooting

If

run_shell
also fails:

  • Check if Python 3 is available:
    run_shell command: python3 --version
  • Install missing packages:
    run_shell command: pip3 install package_name
  • Check file permissions and paths
  • Review error output from the shell execution for specific issues

Why This Works

This pattern bypasses sandbox limitations by:

  • Running code in the actual execution environment with full library access
  • Avoiding sandbox timeout or resource constraints
  • Enabling direct file system access for I/O operations
  • Providing better error messages from the native Python interpreter

Self-Assessment

This skill captures a genuinely reusable pattern that:

  • Is generalizable beyond just PDF generation to any execute_code_sandbox failure
  • Provides clear, actionable steps
  • Includes example code and troubleshooting guidance
  • Would benefit future executions facing similar sandbox limitations