Robust Error Handling In Scripts
aiming-lab/MetaClaw
A skill your agent uses when writing shell scripts, Python automation, or any unattended batch job.
A recovery routine for agents whose sandboxed code runner keeps failing: save the Python script to disk, then run it through the shell and read the output.
$ npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HKUDS/OpenSpace code-exec-fallback-266cba --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/gdpval/skills/code-exec-fallback-266cba .claude/skills/code-exec-fallback-266cba && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "code-exec-fallback-266cba" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/code-exec-fallback-266cba into .claude/skills/code-exec-fallback-266cba/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-exec-fallback-266cba", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/code-exec-fallback-266cbaType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HKUDS/OpenSpace code-exec-fallback-266cba --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/benchmarks/gdpval/skills/code-exec-fallback-266cba .agents/skills/code-exec-fallback-266cba && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "code-exec-fallback-266cba" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/code-exec-fallback-266cba into .agents/skills/code-exec-fallback-266cba/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-exec-fallback-266cba", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HKUDS/OpenSpace code-exec-fallback-266cba --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/benchmarks/gdpval/skills/code-exec-fallback-266cba .cursor/skills/code-exec-fallback-266cba && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "code-exec-fallback-266cba" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/code-exec-fallback-266cba into .cursor/skills/code-exec-fallback-266cba/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-exec-fallback-266cba", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/HKUDS/OpenSpace.git --path benchmarks/gdpval/skills/code-exec-fallback-266cba--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HKUDS/OpenSpace code-exec-fallback-266cba --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/benchmarks/gdpval/skills/code-exec-fallback-266cba .gemini/skills/code-exec-fallback-266cba && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "code-exec-fallback-266cba" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/code-exec-fallback-266cba into .gemini/skills/code-exec-fallback-266cba/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-exec-fallback-266cba", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install HKUDS/OpenSpace code-exec-fallback-266cbaInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .github/skills && cp -r skills-src/benchmarks/gdpval/skills/code-exec-fallback-266cba .github/skills/code-exec-fallback-266cba && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "code-exec-fallback-266cba" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/code-exec-fallback-266cba into .github/skills/code-exec-fallback-266cba/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-exec-fallback-266cba", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HKUDS/OpenSpace code-exec-fallback-266cba --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/benchmarks/gdpval/skills/code-exec-fallback-266cba .opencode/skills/code-exec-fallback-266cba && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "code-exec-fallback-266cba" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/code-exec-fallback-266cba into .opencode/skills/code-exec-fallback-266cba/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-exec-fallback-266cba", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
code-exec-fallback-266cbaA recovery routine for agents whose sandboxed code runner keeps failing: save the Python script to disk, then run it through the shell and read the output.
After two failures in a row from the execute_code_sandbox tool, with errors that give no clue or timeouts that persist across retries, the agent stops retrying the sandbox. It saves the Python script with write_file, runs it with run_shell using an explicit timeout such as 300 seconds, and reads stdout and stderr to see whether it worked.
The skill recommends try/except blocks that exit with a status code, longer timeouts for heavy jobs because run_shell defaults to 30 seconds, cleaning up temporary files, and noting why the switch was made. It tells the agent not to use the pattern on a first failure, for one-line snippets, for plain code bugs, or for work that needs sandbox isolation.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3827781. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Code Execution Fallback loads about 652 tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 227 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from HKUDS/OpenSpace at commit 3827781, republished under its MIT licence (© HKUDS). 227 words, ~652 tokens.
.claude/skills/code-exec-fallback-266cba/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Apply this pattern when you encounter repeated failures with execute_code_sandbox:
Track execution failures. After 2 consecutive failures with execute_code_sandbox, switch to the fallback approach.
Use write_file to save your Python script:
write_file(
path="/workspace/script_name.py",
content="# Your Python code here\nimport sys\n..."
)Use run_shell to run the script:
run_shell(
command="python /workspace/script_name.py",
timeout=300
)Parse stdout/stderr from run_shell output to verify success or diagnose issues.
# Instead of this (which may fail):
result = execute_code_sandbox(code="import pandas as pd\n...")
# Use this fallback pattern:
script_content = """
import pandas as pd
import sys
try:
# Your logic here
df = pd.DataFrame({'col': [1, 2, 3]})
print(df.to_csv())
sys.exit(0)
except Exception as e:
print(f"ERROR: {e}", file=sys.stderr)
sys.exit(1)
"""
# Write the script
write_file(path="/workspace/my_script.py", content=script_content)
# Execute via shell
result = run_shell(command="python /workspace/my_script.py", timeout=300)sys.exit() codesrun_shell default is 30s, increase for heavy operationswrite_file is more reliable for file I/O operationsrun_shell gives you direct control over execution environment© HKUDS, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in benchmarks/gdpval/skills/code-exec-fallback-266cba of HKUDS/OpenSpace.
Open the folder on GitHubat commit 3827781
Code Execution Fallback next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Code Execution Fallback this skillHKUDS/OpenSpace | 7.7k | — | ~652 | Automated safety check: Pass | MIT | |
| Robust Error Handling In Scriptsaiming-lab/MetaClaw | 3.5k | — | ~225 | Automated safety check: Pass | MIT | |
| Hns Moaiadk Dev Referencemodu-ai/moai-adk | 1.2k | — | ~937 | Automated safety check: Pass | Apache-2.0 | |
| Mole Bug Patternstw93/Mole | 69k | — | ~2k | Automated safety check: Pass | GPL-3.0 | |
| CLI DeveloperJeffallan/claude-skills | 12k | 1 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Hugging Face API Tool Builderhuggingface/skills | 11k | 5 repos | ~1.5k | Automated safety check: Pass | Apache-2.0 |
aiming-lab/MetaClaw
A skill your agent uses when writing shell scripts, Python automation, or any unattended batch job.
modu-ai/moai-adk
moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10).
tw93/Mole
A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.
Jeffallan/claude-skills
Walks through designing, building and polishing a command-line tool: user workflow and command hierarchy, implementation in commander, click, typer or cobra, completions and cross-platform testing.
huggingface/skills
Builds reusable command line scripts that fetch, enrich or process data from the Hugging Face API, aimed at chained, repeated or automated tasks.
zereight/gitlab-mcp
Shared reference for naming, function size, complexity and error handling rules that reviewer agents apply across TypeScript, Python, Go, Rust, Java, C# and Swift.
HKUDS/OpenSpace
Walks through producing a master audio track plus stems in Python, from checking a reference file and timing sections by BPM to effects, a zip archive and final verification.
HKUDS/OpenSpace
Handle cascading data retrieval tool failures by falling back to embedded knowledge generation
HKUDS/OpenSpace
Gives an agent a workaround when its code-execution sandbox keeps failing: save the Python script to a file and run it through the shell instead.
HKUDS/OpenSpace
Fallback ladder for failed sandboxed code runs, plus the habit of fixing the working directory first so generated files land in the right place.
HKUDS/OpenSpace
Fallback workflow for executing Python code when executecodesandbox fails repeatedly
HKUDS/OpenSpace
Generate documents with writefile when retrieval tools fail, with explicit guardrails against task context drift
Works with
Categories
A recovery routine for agents whose sandboxed code runner keeps failing: save the Python script to disk, then run it through the shell and read the output. After two failures in a row from the execute_code_sandbox tool, with errors that give no clue or timeouts that persist across retries, the agent stops retrying the sandbox. It saves the Python script with write_file, runs it with run_shell using an explicit timeout such as 300 seconds, and reads stdout and stderr to see whether it worked.
Code Execution Fallback fits situations like: the code sandbox tool fails twice in a row with unclear errors; execution timeouts keep recurring after retries; environment errors persist that editing the code does not fix.
Run `npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a claude-code`. Or copy the skill folder (benchmarks/gdpval/skills/code-exec-fallback-266cba in HKUDS/OpenSpace) into .claude/skills/code-exec-fallback-266cba in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a codex`. Or copy the skill folder (benchmarks/gdpval/skills/code-exec-fallback-266cba in HKUDS/OpenSpace) into .agents/skills/code-exec-fallback-266cba in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HKUDS/OpenSpace --skill code-exec-fallback-266cba -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-exec-fallback-266cba, .gemini/skills/code-exec-fallback-266cba, .github/skills/code-exec-fallback-266cba and .opencode/skills/code-exec-fallback-266cba in your project.
SKILL.md names no scripts, command-line tools or credentials: Code Execution Fallback is instructions for the agent only. Our summary lists: A write_file tool and a run_shell tool in the agent runtime; Python 3 available in the sandbox.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Code Execution Fallback is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 652 tokens (SKILL.md is roughly 2.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Code Execution Fallback: Robust Error Handling In Scripts (aiming-lab/MetaClaw, 3.5k stars), Hns Moaiadk Dev Reference (modu-ai/moai-adk, 1.2k stars), Mole Bug Patterns (tw93/Mole, 69k stars) and CLI Developer (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HKUDS (a GitHub organization) maintains it in HKUDS/OpenSpace, which has 7,743 GitHub stars. The repository holds 199 skills in this directory. The repository was last updated on August 12, 2026.
Source: HKUDS/OpenSpace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.