Skip to main content

code-execution-fallback-e81068

Fallback workflow for executing Python code when execute_code_sandbox fails repeatedly

소스 정보

저장소
HKUDS/OpenSpace
최근 소스 활동
2026년 7월 17일 03:43
감지된 SKILL.md 언어
영어
스타
7,773
포크
923

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
code-execution-fallback-e81068
description
Fallback workflow for executing Python code when execute_code_sandbox fails repeatedly
# Code Execution Fallback Workflow ## When to Use Use this skill when `execute_code_sandbox` fails repeatedly (2+ attempts) with unknown, persistent, or unexplained errors. This fallback approach uses `write_file` + `run_shell` to save Python scripts to disk and execute them via command line, which has proven more reliable in certain failure scenarios. ## Step-by-Step Instructions ### Step 1: Detect Repeated Failures Monitor `execute_code_sandbox` attempts. After 2 consecutive failures with errors like: - "Unknown error" - Timeout errors - Unexplained execution failures - Sandbox environment issues Switch to the fallback workflow immediately. ### Step 2: Write the Python Script to File Use `write_file` to save your Python code as a `.py` file in the working directory: ```python write_file( path="script.py", content=""" import sys import json # Your Python code here def main(): # Your logic result = {"status": "success", "data": "example"} print(json.dumps(result)) if __name__ == "__main__": main() """ ) ``` **Tips:** - Use clear, self-contained code that doesn't rely on sandbox-specific paths - Include error handling and informative print statements - Save output to files if needed for later retrieval ### Step 3: Execute via Shell Use `run_shell` to execute the Python script via command line: ```python run_shell( command="python3 script.py", timeout=60 # Adjust timeout as needed ) ``` **Alternative commands:** - `python script.py` - if python3 alias isn't available - `python3 -u script.py` - for unbuffered output - `python3 script.py arg1 arg2` - with arguments ### Step 4: Verify Output and Results Check the stdout/stderr from `run_shell` to: - Confirm execution succeeded (exit code 0) - Inspect printed output or results - Identify any new errors (different from sandbox errors) If the script writes output files, use `read_file` to retrieve results. ### Step 5: Clean Up (Optional) Remove temporary script files if they won't be reused: ```python run_shell(command="rm script.py") ``` ## Complete Example **Scenario:** `execute_code_sandbox` failed twice while trying to process data. **Fallback execution:** ```python # Step 1: Write the processing script write_file( path="process_data.py", content=""" import pandas as pd import json def process(): data = [1, 2, 3, 4, 5] result = {"sum": sum(data), "count": len(data)} print(json.dumps(result)) # Also save to file for reliability with open("result.json", "w") as f: json.dump(result, f) if __name__ == "__main__": process() """ ) # Step 2: Execute via shell output = run_shell(command="python3 process_data.py") # Step 3: Read results from file results = read_file(file_path="result.json", filetype="json") ``` ## Troubleshooting | Issue | Solution | |-------|----------| | `python3: command not found` | Try `python` instead, or check available interpreters with `which python` | | Permission denied | Ensure the working directory is writable; `write_file` creates files in workspace by default | | Module not found | Install dependencies via `run_shell(command="pip install package_name")` before execution | | Script hangs | Increase timeout parameter in `run_shell` | | Output too long | Redirect output to file within the script and read it separately | ## Best Practices 1. **Always include error handling** in scripts to capture failures gracefully 2. **Write results to files** in addition to printing, for reliable retrieval 3. **Use descriptive filenames** to avoid conflicts (e.g., `task_specific_script.py`) 4. **Keep scripts self-contained** - avoid dependencies on sandbox environment variables 5. **Log execution details** for debugging: `print(f"Step X complete: {value}")` ## When NOT to Use This Fallback - When sandbox isolation is required for security - When the task explicitly requires `execute_code_sandbox` - When `execute_code_sandbox` succeeds consistently (no need to add complexity) - When working with sensitive data that shouldn't persist to disk
GitHub에서 보기