OpenSpace verify-success-after-unknown-error
Verify task completion by checking filesystem state when execute_code_sandbox or run_shell return misleading unknown errors
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/verify-success-after-unknown-error" ~/.claude/skills/hkuds-openspace-verify-success-after-unknown-error && rm -rf "$T"
manifest:
gdpval_bench/skills/verify-success-after-unknown-error/SKILL.mdsource content
Verify Success After Unknown Error
Purpose
When
execute_code_sandbox or run_shell return "unknown error" messages, the underlying task may have actually succeeded. This skill provides a systematic approach to verify actual completion before assuming failure and retrying unnecessarily.
When to Apply
Use this pattern when:
returns "unknown error" but your code may have completedexecute_code_sandbox
fails with unclear error messagesrun_shell- File creation, modification, or transformation tasks report errors
- The error message is generic/unspecified rather than a clear failure reason
Verification Steps
Step 1: Check Expected Output Files
After receiving an unknown error, immediately verify if expected files were created:
# Example: Verify file creation after execute_code_sandbox from tools import list_dir, read_file # List directory to check if files exist files = list_dir(path="/workspace/output") print(files) # Check specific file existence expected_files = ["report.pdf", "data.xlsx"] for f in expected_files: try: content = read_file(filetype="pdf", file_path=f"/workspace/output/{f}") print(f"✓ {f} exists and is readable") except: print(f"✗ {f} not found or unreadable")
Step 2: Validate File Content/State
Don't just check existence — verify the files have expected content:
# For spreadsheets file_content = read_file(filetype="xlsx", file_path="/workspace/output/schedule.xlsx") # Verify expected sheets, columns, or data exist # For text/json files file_content = read_file(filetype="txt", file_path="/workspace/output/result.json") # Parse and validate structure # For directories dir_contents = list_dir(path="/workspace/output") # Verify expected number of files or specific files exist
Step 3: Decision Logic
IF expected files exist AND content is valid: → Task succeeded despite error message → Proceed to next step without retry ELIF files exist but content is incomplete: → Partial success, may need targeted fix ELSE (files missing or corrupted): → True failure, retry or debug required
Code Example: Complete Pattern
def execute_with_verification(code, expected_files): """Execute code and verify success even if error returned.""" # Attempt execution result = execute_code_sandbox(code=code) # Check for unknown/generic errors if "unknown error" in result.get("output", "").lower() or result.get("error"): print("Received error, verifying actual outcome...") # Verify filesystem state all_present = True for f in expected_files: try: list_dir(path=f"/workspace/{f}") # or appropriate path print(f"✓ {f} verified") except: print(f"✗ {f} missing") all_present = False if all_present: print("Task completed successfully despite error message") return {"status": "success_verified", "files": expected_files} else: print("True failure - files not created") return {"status": "failed", "error": result.get("error")} return {"status": "success", "output": result.get("output")}
Shell Command Example
# After run_shell returns error, verify with: ls -la /workspace/output/ test -f /workspace/output/result.pdf && echo "File exists" || echo "File missing" file /workspace/output/result.pdf # Verify file type is correct
Benefits
- Saves iterations: Avoids unnecessary retries when task already succeeded
- Handles tool bugs: Works around sandbox/shell tool reporting issues
- Faster completion: Move forward immediately when verification passes
- Clearer debugging: Distinguishes true failures from false positives
Anti-Patterns to Avoid
- ✗ Immediately retrying on any error without verification
- ✗ Assuming "unknown error" means complete failure
- ✗ Only checking file existence without validating content
- ✗ Skipping verification for "minor" tasks (any file output should be verified)
Related Tools
— Check directory contentslist_dir
— Validate file content and accessibilityread_file
— Primary execution tool this pattern supportsexecute_code_sandbox
— Shell execution tool this pattern supportsrun_shell