[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HWYTT992H1KMMT97QN2G2D":3,"skill-same:01M6HWYTT992H1KMMT97QN2G2D":61},{"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":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":6,"ownerHtmlUrl":38,"ownerBlogUrl":39,"ownerDescription":6,"updatedAt":40,"install":41,"resources":54},"01M6HWYTT992H1KMMT97QN2G2D","sandbox-execution-fallback-717e65",null,"Fallback from execute_code_sandbox to file-based run_shell execution when sandbox fails","HKUDS\u002FAgentPilot","HKUDS","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F118165258?v=4","01M6HW8VRNZP64G0P4MVJW2KKQ","✨Data Intelligence Lab@HKU✨","01M6HW8VWZVHBRHYH3T330PFWV",7996,"MIT","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fsandbox-execution-fallback-717e65\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"sandbox","execution","fallback","sandbox execution fallback 717e65","run","code","file","shell","execute","2026-11-10 10:12:30",false,"---\nname: sandbox-execution-fallback-717e65\ndescription: Fallback from execute_code_sandbox to file-based run_shell execution when sandbox fails\n---\n\n# Sandbox Execution Fallback\n\n## When to Use\n\nApply this pattern when `execute_code_sandbox` fails repeatedly or exhibits instability. Common triggers include:\n- Sandbox returns errors after 2-3 retry attempts\n- Error messages indicate provider\u002Fsystem issues rather than code bugs\n- Execution times out or hangs inconsistently\n- Complex multi-step code with file I\u002FO is needed\n- Better error visibility and debugging is required\n\n## Procedure\n\n### Step 1: Detect When to Switch\n\nRecognize the failure pattern:\n- `execute_code_sandbox` produces repeated errors despite code corrections\n- Error output suggests infrastructure issues (not syntax\u002Flogic errors)\n- The sandbox environment appears unstable or limited\n\n### Step 2: Write Python Script to File\n\nUse `write_file` to save your script:\n\n```\nwrite_file(\n    path=\"script.py\",\n    content=\"#!\u002Fusr\u002Fbin\u002Fenv python3\n\n# Your Python code here\nimport sys\nprint('Executing via file-based approach')\n# ... rest of your code\n\"\n)\n```\n\nFor multi-file projects, write each file separately:\n\n```\nwrite_file(path=\"utils.py\", content=\"# Utility functions\\ndef helper(): ...\")\nwrite_file(path=\"main.py\", content=\"from utils import helper\\nhelper()\")\n```\n\n### Step 3: Execute via Shell\n\nRun the script using `run_shell`:\n\n```\nrun_shell(command=\"python3 script.py\")\n```\n\nFor scripts in subdirectories:\n```\nrun_shell(command=\"cd mydir && python3 script.py\")\n```\n\n### Step 4: Handle Output and Clean Up\n\n- Parse stdout\u002Fstderr from `run_shell` output\n- Inspect created files directly using `read_file` if needed\n- Remove temporary scripts after successful execution:\n  ```\n  run_shell(command=\"rm script.py\")\n  ```\n\n## Advantages Over Sandbox Execution\n\n| Benefit | Explanation |\n|---------|-------------|\n| Bypasses provider limitations | No sandbox resource constraints |\n| Better error visibility | Full stack traces and system errors |\n| Environment control | Direct access to system Python and packages |\n| Multi-file support | Easy imports and module structure |\n| Persistence | Files remain for inspection and debugging |\n| Reliability | More consistent execution behavior |\n\n## Complete Example\n\n```\n# Scenario: execute_code_sandbox failing on data processing task\n\n# Step 1: Write the script\nwrite_file(\n    path=\"process_data.py\",\n    content=\"#!\u002Fusr\u002Fbin\u002Fenv python3\nimport json\nimport csv\n\n# Load and process data\nwith open('input.json', 'r') as f:\n    data = json.load(f)\n\n# Transform data\nresults = []\nfor item in data:\n    results.append({'processed': item['value'] * 2})\n\n# Write output\nwith open('output.csv', 'w', newline='') as f:\n    writer = csv.DictWriter(f, fieldnames=['processed'])\n    writer.writeheader()\n    writer.writerows(results)\n\nprint('Processing complete')\n\"\n)\n\n# Step 2: Execute via shell\nrun_shell(command=\"python3 process_data.py\")\n\n# Step 3: Read results\nread_file(filetype=\"csv\", file_path=\"output.csv\")\n\n# Step 4: Clean up (optional)\nrun_shell(command=\"rm process_data.py\")\n```\n\n## Best Practices\n\n1. **Use absolute or clear relative paths** - Avoid ambiguity in file locations\n2. **Add error handling in scripts** - Catch exceptions and print meaningful messages\n3. **Validate script content before writing** - Ensure proper Python syntax\n4. **Log execution steps** - Track what was written and executed for debugging\n5. **Clean up temporary files** - Remove scripts after use unless needed for later inspection\n\n## Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| `python3` not found | Try `python` or specify full path `\u002Fusr\u002Fbin\u002Fpython3` |\n| Import errors | Use `run_shell(command=\"pip3 install package\")` first |\n| Permission denied | Add execute permission: `run_shell(command=\"chmod +x script.py\")` |\n| Working directory issues | Use absolute paths or `cd` in the command |","# Sandbox Execution Fallback\n\n## When to Use\n\nApply this pattern when `execute_code_sandbox` fails repeatedly or exhibits instability. Common triggers include:\n- Sandbox returns errors after 2-3 retry attempts\n- Error messages indicate provider\u002Fsystem issues rather than code bugs\n- Execution times out or hangs inconsistently\n- Complex multi-step code with file I\u002FO is needed\n- Better error visibility and debugging is required\n\n## Procedure\n\n### Step 1: Detect When to Switch\n\nRecognize the failure pattern:\n- `execute_code_sandbox` produces repeated errors despite code corrections\n- Error output suggests infrastructure issues (not syntax\u002Flogic errors)\n- The sandbox environment appears unstable or limited\n\n### Step 2: Write Python Script to File\n\nUse `write_file` to save your script:\n\n```\nwrite_file(\n    path=\"script.py\",\n    content=\"#!\u002Fusr\u002Fbin\u002Fenv python3\n\n# Your Python code here\nimport sys\nprint('Executing via file-based approach')\n# ... rest of your code\n\"\n)\n```\n\nFor multi-file projects, write each file separately:\n\n```\nwrite_file(path=\"utils.py\", content=\"# Utility functions\\ndef helper(): ...\")\nwrite_file(path=\"main.py\", content=\"from utils import helper\\nhelper()\")\n```\n\n### Step 3: Execute via Shell\n\nRun the script using `run_shell`:\n\n```\nrun_shell(command=\"python3 script.py\")\n```\n\nFor scripts in subdirectories:\n```\nrun_shell(command=\"cd mydir && python3 script.py\")\n```\n\n### Step 4: Handle Output and Clean Up\n\n- Parse stdout\u002Fstderr from `run_shell` output\n- Inspect created files directly using `read_file` if needed\n- Remove temporary scripts after successful execution:\n  ```\n  run_shell(command=\"rm script.py\")\n  ```\n\n## Advantages Over Sandbox Execution\n\n| Benefit | Explanation |\n|---------|-------------|\n| Bypasses provider limitations | No sandbox resource constraints |\n| Better error visibility | Full stack traces and system errors |\n| Environment control | Direct access to system Python and packages |\n| Multi-file support | Easy imports and module structure |\n| Persistence | Files remain for inspection and debugging |\n| Reliability | More consistent execution behavior |\n\n## Complete Example\n\n```\n# Scenario: execute_code_sandbox failing on data processing task\n\n# Step 1: Write the script\nwrite_file(\n    path=\"process_data.py\",\n    content=\"#!\u002Fusr\u002Fbin\u002Fenv python3\nimport json\nimport csv\n\n# Load and process data\nwith open('input.json', 'r') as f:\n    data = json.load(f)\n\n# Transform data\nresults = []\nfor item in data:\n    results.append({'processed': item['value'] * 2})\n\n# Write output\nwith open('output.csv', 'w', newline='') as f:\n    writer = csv.DictWriter(f, fieldnames=['processed'])\n    writer.writeheader()\n    writer.writerows(results)\n\nprint('Processing complete')\n\"\n)\n\n# Step 2: Execute via shell\nrun_shell(command=\"python3 process_data.py\")\n\n# Step 3: Read results\nread_file(filetype=\"csv\", file_path=\"output.csv\")\n\n# Step 4: Clean up (optional)\nrun_shell(command=\"rm process_data.py\")\n```\n\n## Best Practices\n\n1. **Use absolute or clear relative paths** - Avoid ambiguity in file locations\n2. **Add error handling in scripts** - Catch exceptions and print meaningful messages\n3. **Validate script content before writing** - Ensure proper Python syntax\n4. **Log execution steps** - Track what was written and executed for debugging\n5. **Clean up temporary files** - Remove scripts after use unless needed for later inspection\n\n## Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| `python3` not found | Try `python` or specify full path `\u002Fusr\u002Fbin\u002Fpython3` |\n| Import errors | Use `run_shell(command=\"pip3 install package\")` first |\n| Permission denied | Add execute permission: `run_shell(command=\"chmod +x script.py\")` |\n| Working directory issues | Use absolute paths or `cd` in the command |",{"name":5,"description":7},"main","6b84b0689ca0d9e7b1e4061188ff6b60758e0f8a","openspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fsandbox-execution-fallback-717e65",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":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add HKUDS\u002FAgentPilot --skill sandbox-execution-fallback-717e65",{"tool":47,"command":48},"bunx","bunx skills add HKUDS\u002FAgentPilot --skill sandbox-execution-fallback-717e65",{"tool":50,"command":51},"pnpm","pnpm dlx skills add HKUDS\u002FAgentPilot --skill sandbox-execution-fallback-717e65","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fsandbox-execution-fallback-717e65\u002FSKILL.md",true,[55],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},".skill_id","OTHER","其他",47,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fsandbox-execution-fallback-717e65\u002F.skill_id",[62,81,100,125,149,171],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":28},"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",[],[64,69,70,71,72,73,74,75,76,77,78,79,23,80],"prepare","requests","with","missing","installation","rsi","up","use","user","work","SET","experiments",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":28},"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",[],[83,88,89,90,91,92,93,94,95,96,97,98,99],"memory","review","auto","openspace","changes","facts","detect","entries","local","conflicts","stale","duplicates",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":111,"publishedAt":28},"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",[106],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[112,113,114,91,115,116,117,118,119,120,121,122,123,124],"skill discovery","discovery","reusable","step by step","tokens","packages","help","cloud","reliability","capabilities","browse","search","Tools",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":132,"publishedAt":28},"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",[131],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[133,134,135,91,136,137,138,139,140,114,90,76,141,142,143,144,145,146,147,148],"delegate","task","delegate task","time","improve","desktop automation","worker","community","autonomous","tool","stack","for","share","tasks","automation","MCP",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":28},"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",[],[156,157,158,159,160,161,162,163,25,164,165,166,167,168,144,169,170],"write special chars ts check","write","check","type","files","filters","only","template","python","typescript","output","Existing","type-checking","errors","script",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":28},"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",[],[178,179,157,71,144,170,180,181,182,183,184,163,25,185,186,164],"write special chars readback","readback","helper","post","via","scripts","read","verification","cleanup"]