[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HXY241DN6F2J0CP2S6XREC":3,"skill-same:01M6HXY241DN6F2J0CP2S6XREC":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":6,"updatedAt":46,"install":47,"resources":60},"01M6HXY241DN6F2J0CP2S6XREC","sandbox-fallback-execution-5eda7b",null,"Fallback pattern for executing Python code when sandbox execution fails by writing scripts to disk and running via shell","HKUDS\u002FAgentPilot","HKUDS","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F118165258?v=4","01M6HW8VRNZP64G0P4MVJW2KKQ","✨Data Intelligence Lab@HKU✨","01M6HW8VWZVHBRHYH3T330PFWV",8024,"MIT","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fgdpval_bench\u002Fskills\u002Fsandbox-fallback-execution-5eda7b\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"sandbox","execution","fallback","sandbox fallback execution 5eda7b","sandbox fallback execution","writing","python","code","shell","disk","pattern","scripts","via","python code","for","2026-11-10 10:12:30",false,"---\nname: sandbox-fallback-execution-5eda7b\ndescription: Fallback pattern for executing Python code when sandbox execution fails by writing scripts to disk and running via shell\n---\n\n# Sandbox Fallback Execution\n\n## Overview\n\nWhen `execute_code_sandbox` fails due to e2b initialization errors or sandbox unavailability, use this fallback pattern to execute Python code by writing it to disk and running it via `run_shell`. This approach is particularly useful for PDF generation, data processing, and other Python-intensive tasks.\n\n## When to Use\n\nUse this skill when you encounter errors like:\n- `e2b initialization error`\n- `sandbox not available`\n- `execute_code_sandbox` timeout or connection failures\n- Any sandbox execution that consistently fails\n\n## Step-by-Step Instructions\n\n### Step 1: Attempt Sandbox Execution First\n\nAlways try `execute_code_sandbox` first, as it provides isolation and artifact handling:\n\n```python\nexecute_code_sandbox(code=\"your_python_code_here\")\n```\n\n### Step 2: Detect Failure and Switch to Fallback\n\nWhen sandbox execution fails with initialization errors, switch to the fallback pattern:\n\n1. **Write the Python script to disk** using `write_file`:\n   - Choose a descriptive filename (e.g., `generate_pdf.py`, `process_data.py`)\n   - Include the complete Python code with all necessary imports\n\n2. **Execute via shell** using `run_shell`:\n   - Run the script with `python` or `python3`\n   - Capture stdout\u002Fstderr for verification\n\n### Step 3: Example Implementation\n\n```python\n# Write the script to disk\nwrite_file(\n    path=\"generate_pdf.py\",\n    content=\"\"\"\nfrom reportlab.lib.pagesizes import letter\nfrom reportlab.pdfgen import canvas\n\ndef create_pdf(filename, content):\n    c = canvas.Canvas(filename, pagesize=letter)\n    c.drawString(100, 750, content)\n    c.save()\n\ncreate_pdf('output.pdf', 'Hello World')\n\"\"\"\n)\n\n# Execute the script via shell\nrun_shell(command=\"python generate_pdf.py\")\n```\n\n### Step 4: Handle Dependencies\n\nIf the script requires external packages:\n\n```python\n# Install dependencies first\nrun_shell(command=\"pip install reportlab pillow\")\n\n# Then execute the script\nrun_shell(command=\"python generate_pdf.py\")\n```\n\n### Step 5: Verify Output\n\nAfter execution, verify the output was created:\n\n```python\n# Check if file was created\nrun_shell(command=\"ls -la output.pdf\")\n\n# Optionally read the file to confirm\nread_file(file_path=\"output.pdf\", filetype=\"pdf\")\n```\n\n## Best Practices\n\n1. **Keep scripts self-contained**: Include all imports and logic in the written file\n2. **Use descriptive filenames**: Make it clear what each script does\n3. **Clean up when done**: Remove temporary scripts if not needed for debugging\n4. **Capture errors**: Always check stdout\u002Fstderr from `run_shell` for debugging\n5. **Handle paths carefully**: Use relative paths or absolute paths consistently\n\n## Complete Example Pattern\n\n```python\n# Primary: Try sandbox execution\ntry:\n    result = execute_code_sandbox(code=python_code)\nexcept Exception as e:\n    if \"e2b\" in str(e).lower() or \"sandbox\" in str(e).lower():\n        # Fallback: Write to disk and execute via shell\n        script_path = \"task_script.py\"\n        \n        write_file(\n            path=script_path,\n            content=python_code\n        )\n        \n        # Install any required dependencies\n        run_shell(command=\"pip install -q reportlab\")\n        \n        # Execute the script\n        result = run_shell(command=f\"python {script_path}\")\n        \n        # Verify output\n        run_shell(command=\"ls -la\")\n```\n\n## Applicable Use Cases\n\n- PDF generation (reportlab, fpdf, etc.)\n- Image processing (PIL, OpenCV)\n- Data analysis (pandas, numpy)\n- File manipulation tasks\n- Any Python script that doesn't require special sandbox features","# Sandbox Fallback Execution\n\n## Overview\n\nWhen `execute_code_sandbox` fails due to e2b initialization errors or sandbox unavailability, use this fallback pattern to execute Python code by writing it to disk and running it via `run_shell`. This approach is particularly useful for PDF generation, data processing, and other Python-intensive tasks.\n\n## When to Use\n\nUse this skill when you encounter errors like:\n- `e2b initialization error`\n- `sandbox not available`\n- `execute_code_sandbox` timeout or connection failures\n- Any sandbox execution that consistently fails\n\n## Step-by-Step Instructions\n\n### Step 1: Attempt Sandbox Execution First\n\nAlways try `execute_code_sandbox` first, as it provides isolation and artifact handling:\n\n```python\nexecute_code_sandbox(code=\"your_python_code_here\")\n```\n\n### Step 2: Detect Failure and Switch to Fallback\n\nWhen sandbox execution fails with initialization errors, switch to the fallback pattern:\n\n1. **Write the Python script to disk** using `write_file`:\n   - Choose a descriptive filename (e.g., `generate_pdf.py`, `process_data.py`)\n   - Include the complete Python code with all necessary imports\n\n2. **Execute via shell** using `run_shell`:\n   - Run the script with `python` or `python3`\n   - Capture stdout\u002Fstderr for verification\n\n### Step 3: Example Implementation\n\n```python\n# Write the script to disk\nwrite_file(\n    path=\"generate_pdf.py\",\n    content=\"\"\"\nfrom reportlab.lib.pagesizes import letter\nfrom reportlab.pdfgen import canvas\n\ndef create_pdf(filename, content):\n    c = canvas.Canvas(filename, pagesize=letter)\n    c.drawString(100, 750, content)\n    c.save()\n\ncreate_pdf('output.pdf', 'Hello World')\n\"\"\"\n)\n\n# Execute the script via shell\nrun_shell(command=\"python generate_pdf.py\")\n```\n\n### Step 4: Handle Dependencies\n\nIf the script requires external packages:\n\n```python\n# Install dependencies first\nrun_shell(command=\"pip install reportlab pillow\")\n\n# Then execute the script\nrun_shell(command=\"python generate_pdf.py\")\n```\n\n### Step 5: Verify Output\n\nAfter execution, verify the output was created:\n\n```python\n# Check if file was created\nrun_shell(command=\"ls -la output.pdf\")\n\n# Optionally read the file to confirm\nread_file(file_path=\"output.pdf\", filetype=\"pdf\")\n```\n\n## Best Practices\n\n1. **Keep scripts self-contained**: Include all imports and logic in the written file\n2. **Use descriptive filenames**: Make it clear what each script does\n3. **Clean up when done**: Remove temporary scripts if not needed for debugging\n4. **Capture errors**: Always check stdout\u002Fstderr from `run_shell` for debugging\n5. **Handle paths carefully**: Use relative paths or absolute paths consistently\n\n## Complete Example Pattern\n\n```python\n# Primary: Try sandbox execution\ntry:\n    result = execute_code_sandbox(code=python_code)\nexcept Exception as e:\n    if \"e2b\" in str(e).lower() or \"sandbox\" in str(e).lower():\n        # Fallback: Write to disk and execute via shell\n        script_path = \"task_script.py\"\n        \n        write_file(\n            path=script_path,\n            content=python_code\n        )\n        \n        # Install any required dependencies\n        run_shell(command=\"pip install -q reportlab\")\n        \n        # Execute the script\n        result = run_shell(command=f\"python {script_path}\")\n        \n        # Verify output\n        run_shell(command=\"ls -la\")\n```\n\n## Applicable Use Cases\n\n- PDF generation (reportlab, fpdf, etc.)\n- Image processing (PIL, OpenCV)\n- Data analysis (pandas, numpy)\n- File manipulation tasks\n- Any Python script that doesn't require special sandbox features",{"name":5,"description":7},"main","6b84b0689ca0d9e7b1e4061188ff6b60758e0f8a","openspace\u002Flegacy\u002Fv1\u002Fgdpval_bench\u002Fskills\u002Fsandbox-fallback-execution-5eda7b",941,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot","https:\u002F\u002Fgithub.com\u002FHKUDS","https:\u002F\u002Fsites.google.com\u002Fview\u002Fchaoh","2026-11-12 22:26:39",{"source":8,"skillName":5,"commands":48,"prompt":58,"zipAvailable":59},[49,52,55],{"tool":50,"command":51},"npx","npx skills add HKUDS\u002FAgentPilot --skill sandbox-fallback-execution-5eda7b",{"tool":53,"command":54},"bunx","bunx skills add HKUDS\u002FAgentPilot --skill sandbox-fallback-execution-5eda7b",{"tool":56,"command":57},"pnpm","pnpm dlx skills add HKUDS\u002FAgentPilot --skill sandbox-fallback-execution-5eda7b","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fgdpval_bench\u002Fskills\u002Fsandbox-fallback-execution-5eda7b\u002FSKILL.md",true,[61],{"path":62,"resourceType":63,"resourceTypeDesc":64,"sizeBytes":65,"sourceHtmlUrl":66},".skill_id","OTHER","其他",47,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fgdpval_bench\u002Fskills\u002Fsandbox-fallback-execution-5eda7b\u002F.skill_id",[68,88,107,132,155,177],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":34},"01M6HYB297NDABRERJRVG0K8R0","agentpilot","Set up AgentPilot and use its single entry to prepare missing inputs and run configured RSI experiments. Use when the user requests AgentPilot installation or work with AgentPilot.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fplugins\u002Fagentpilot\u002Fskills\u002Fagentpilot\u002FSKILL.md",[],[70,75,76,77,78,79,80,81,82,83,84,85,86,87],"prepare","requests","with","missing","installation","rsi","up","use","user","work","SET","run","experiments",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":34},"01M6HYAYWXTTE1J7DJM0MFNQ4H","remember","Review auto-memory entries and propose promotions to OPENSPACE.md, OPENSPACE.local.md, or retained auto-memory topics; detect duplicates, stale facts, conflicts, and ambiguous entries before making changes.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fskills\u002Fremember\u002FSKILL.md",[],[90,95,96,97,98,99,100,101,102,103,104,105,106],"memory","review","auto","openspace","changes","facts","detect","entries","local","conflicts","stale","duplicates",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":118,"publishedAt":34},"01M6HYAVMPM4SBDV60R2B5HPV8","skill-discovery","Search reusable OpenSpace skills locally, and browse cloud packages step by step when a cloud skill may help. Reusing proven skills saves tokens, improves reliability, and extends your capabilities beyond built-in tools.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fhost_skills\u002Fskill-discovery\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[119,120,121,98,122,123,124,125,126,127,128,129,130,131],"skill discovery","discovery","reusable","step by step","tokens","packages","help","cloud","reliability","capabilities","browse","search","Tools",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":139,"publishedAt":34},"01M6HYAR811B3RB0M50RBEDGN6","delegate-task","Delegate tasks to OpenSpace — a full-stack autonomous worker for coding, DevOps, web research, and desktop automation, backed by an extensive MCP tool and skill library. Skills auto-improve through use, reducing token consumption over time. A cloud community lets agents share and collectively evolve reusable skills.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fopenspace\u002Fhost_skills\u002Fdelegate-task\u002FSKILL.md",[138],{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},[140,141,142,98,143,144,145,146,147,121,97,82,148,149,150,33,151,152,153,154],"delegate","task","delegate task","time","improve","desktop automation","worker","community","autonomous","tool","stack","share","tasks","automation","MCP",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":34},"01M6HYAM9FSGV6E52AYENDQXYH","write-special-chars-ts-check","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, plus a reliable TypeScript type-checking step that filters output to only the newly-written files to avoid being misled by pre-existing errors.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-ts-check\u002FSKILL.md",[],[162,163,164,165,166,167,168,169,170,25,171,172,173,174,33,175,176],"write special chars ts check","write","check","type","files","filters","only","template","file","typescript","output","Existing","type-checking","errors","script",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":34},"01M6HYAH05HGV7SVWSVR8PJRQD","write-special-chars-readback","Workaround for write_file failures caused by special characters (apostrophes, backticks, template literals) using a Python heredoc script, with mandatory post-write verification via read_file and cleanup of \u002Ftmp helper scripts.","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Flegacy\u002Fv1\u002Fshowcase\u002Fskills\u002Fwrite-special-chars-readback\u002FSKILL.md",[],[184,185,163,77,33,176,186,187,31,30,188,169,170,189,190,25],"write special chars readback","readback","helper","post","read","verification","cleanup"]