Recover from execute_code_sandbox failures by writing code to file and executing via run_shell
59
67%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./benchmarks/gdpval/skills/sandbox-failure-recovery/SKILL.mdWhen execute_code_sandbox fails (often due to infrastructure issues, timeouts, or complex dependencies), use this recovery pattern to achieve identical results by writing the code to a file and executing it directly.
execute_code_sandbox returns an error or times outWhen execute_code_sandbox fails, capture the Python code that was attempted. If the code was generated but not saved, reconstruct it from the execution attempt.
Use write_file to save the Python script to a .py file:
write_file with:
- path: "script_name.py" (e.g., "generate_report.py", "process_data.py")
- content: <the full Python code>Example:
# Content for write_file
import pandas as pd
from openpyxl import Workbook
# Your spreadsheet generation logic here
df = pd.DataFrame({'Revenue': [100, 200, 300]})
df.to_excel('output.xlsx', index=False)Run the saved script using run_shell with Python 3:
run_shell with:
- command: "python3 script_name.py"
- timeout: 60 (or higher for complex operations)Check that the expected output files were created:
list_dir with:
- path: "."Or read the generated file to confirm correctness:
read_file with:
- file_path: "output.xlsx"
- filetype: "xlsx"Scenario: Generate an Excel P&L report after sandbox failure.
# Step 1: Write the Python script
write_file:
path: "generate_pnl_report.py"
content: |
import pandas as pd
from openpyxl import Workbook
# Create revenue data
data = {
'Tour Stop': ['London', 'Paris', 'Berlin'],
'Revenue': [50000, 45000, 38000],
'Withholding Tax': [5000, 4500, 3800],
'Expenses': [12000, 11000, 9500]
}
df = pd.DataFrame(data)
df['Net Income'] = df['Revenue'] - df['Withholding Tax'] - df['Expenses']
# Export to Excel
df.to_excel('pnl_report.xlsx', index=False)
print("Report generated successfully")
# Step 2: Execute the script
run_shell:
command: "python3 generate_pnl_report.py"
timeout: 60
# Step 3: Verify
list_dir:
path: "."Use descriptive filenames - Name files after their purpose (e.g., generate_report.py, process_spreadsheet.py)
Set appropriate timeouts - Complex operations may need 60+ seconds
Include error handling in your Python code - Add try/except blocks to capture and report issues:
try:
# Your code here
except Exception as e:
print(f"Error: {e}")
raiseClean up temporary files - After successful execution, you may remove the .py file if not needed
Check dependencies - Ensure required packages (pandas, openpyxl, etc.) are available in the shell environment
run_shell executes in a more stable environment than the sandbox<THIS_SKILL_EVOLVED>
c5a9c4b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.