OpenSpace safe-script-execution
Fallback workflow for code execution when automated tools fail, using shell heredoc with verification
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/safe-script-execution" ~/.claude/skills/hkuds-openspace-safe-script-execution && rm -rf "$T"
manifest:
gdpval_bench/skills/safe-script-execution/SKILL.mdsource content
Safe Script Execution Fallback
When to Use This Skill
Use this pattern when
execute_code_sandbox or shell_agent repeatedly fails to produce expected outputs. This manual fallback provides explicit control over script creation and execution with built-in verification.
Step-by-Step Instructions
Step 1: Verify Working Directory
Before creating any scripts, confirm your current location and permissions:
pwd ls -la
Document the absolute path. All subsequent file operations should use explicit paths from this point.
Step 2: Create Script via Heredoc
Use shell heredoc syntax to create scripts. This avoids issues with multi-line string escaping:
cat > /full/path/to/script.py << 'HEREDOC_END' #!/usr/bin/env python3 # Your script content here # Single quotes around delimiter prevent variable expansion print("Hello from script") HEREDOC_END
Key escaping rules:
- Use single quotes around heredoc delimiter (
) to prevent shell variable expansion'EOF' - If script contains the delimiter string, choose a different unique delimiter
- For bash scripts containing special characters, escape
, backticks, and$!
Step 3: Make Executable and Run with Explicit Path
chmod +x /full/path/to/script.py /full/path/to/script.py
Always use the full absolute path, never rely on
. or relative paths.
Step 4: Verify Output
Confirm files were created and inspect their properties:
# Check file exists with size ls -lh /full/path/to/output.file # For PDFs, inspect metadata pdfinfo /full/path/to/output.pdf 2>/dev/null || file /full/path/to/output.pdf # For Word docs, check file type file /full/path/to/output.docx
Step 5: Error Handling
If execution fails:
- Check script syntax:
python3 -m py_compile /path/to/script.py - Check permissions:
ls -l /path/to/script.py - Check available disk space:
df -h . - Review stderr output carefully
Example: PDF Generation Fallback
# Step 1: Verify directory pwd ls -la # Step 2: Create Python script cat > /workspace/generate_pdf.py << 'SCRIPT_END' from reportlab.lib.pagesizes import letter from reportlab.pdfgen import canvas c = canvas.Canvas("/workspace/output.pdf", pagesize=letter) c.drawString(100, 750, "Generated PDF") c.save() SCRIPT_END # Step 3: Execute chmod +x /workspace/generate_pdf.py python3 /workspace/generate_pdf.py # Step 4: Verify ls -lh /workspace/output.pdf pdfinfo /workspace/output.pdf 2>/dev/null || echo "PDF created, pdfinfo unavailable"
Anti-Patterns to Avoid
- ❌ Don't use relative paths like
- always use absolute paths./script.py - ❌ Don't rely on unquoted heredoc delimiters if script contains variables
- ❌ Don't skip verification steps - always confirm output exists and has expected size
- ❌ Don't assume working directory - always
firstpwd
Troubleshooting Checklist
- Working directory confirmed with
pwd - Script file exists after heredoc creation (
)ls -l - Script has execute permissions (
)chmod +x - Output file exists with non-zero size (
)ls -lh - File type verified (
command or type-specific inspection)file