[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HWB9WMQT08X5YF4GEM79TY":3,"skill-same:01M6HWB9WMQT08X5YF4GEM79TY":66},{"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":23,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M6HWB9WMQT08X5YF4GEM79TY","debug-sandbox-execution",null,"Debug Python code execution failures by capturing partial traces, isolating failing functions, and incrementally verifying outputs","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\u002Fdebug-sandbox-execution\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32],"sandbox","debug","execution","debug sandbox execution","python","code","functions","code execution","python code","2026-11-10 10:12:30",false,"---\nname: debug-sandbox-execution\ndescription: Debug Python code execution failures by capturing partial traces, isolating failing functions, and incrementally verifying outputs\n---\n\n# Debug Sandbox Execution Failures\n\nWhen `execute_code_sandbox` fails with unknown errors or incomplete output, use this debugging pattern to identify the root cause and recover incrementally.\n\n## Problem\n\nThe `execute_code_sandbox` tool may fail silently, truncate output, or produce opaque errors. Complex scripts with multiple file outputs are especially prone to partial failures.\n\n## Solution\n\nUse a three-phase debugging approach:\n\n### Phase 1: Capture Partial Execution Traces\n\nWhen a sandbox execution fails, rerun the code using `run_shell` with output piping to capture whatever output is produced before the failure:\n\n```bash\npython your_script.py 2>&1 | head -100\n```\n\nThis reveals:\n- Which functions\u002Fsteps executed successfully\n- Where the failure occurred\n- Any error messages that were suppressed\n\n### Phase 2: Isolate Failing Functions\n\nBreak the script into smaller, testable units. Execute each function or code block independently:\n\n```python\n# Test individual components\nif __name__ == \"__main__\":\n    # Step 1: Test imports\n    import numpy as np\n    print(\"Imports OK\")\n    \n    # Step 2: Test function A in isolation\n    result_a = function_a()\n    print(f\"Function A: {result_a}\")\n    \n    # Step 3: Test function B\n    result_b = function_b(result_a)\n    print(f\"Function B: {result_b}\")\n```\n\nRun each section with `execute_code_sandbox` separately to identify which component fails.\n\n### Phase 3: Incremental Output Generation\n\nGenerate output files one at a time, verifying each before proceeding:\n\n```python\nimport numpy as np\nimport soundfile as sf\n\n# Generate and save file 1\naudio1 = np.random.randn(48000 * 10).astype(np.float32)\nsf.write('output_01.wav', audio1, 48000, subtype='FLOAT')\n\n# Verify file 1 exists and has expected properties\nimport os\nassert os.path.exists('output_01.wav'), \"File 1 not created\"\n\n# Generate and save file 2\naudio2 = np.random.randn(48000 * 10).astype(np.float32)\nsf.write('output_02.wav', audio2, 48000, subtype='FLOAT')\n\n# Verify file 2\nassert os.path.exists('output_02.wav'), \"File 2 not created\"\n```\n\n## Example Workflow\n\n1. **Initial attempt**: Run full script with `execute_code_sandbox`\n2. **On failure**: Rerun with `run_shell` and `| head -100` to see partial output\n3. **Identify breakpoint**: Find the last successful operation\n4. **Split script**: Create separate scripts for each major section\n5. **Test incrementally**: Run each section, verify outputs, proceed to next\n6. **Combine successful sections**: Once all pieces work, combine into final script\n\n## Best Practices\n\n- **Always verify file creation** immediately after writing: `assert os.path.exists(path)`\n- **Check file properties** (size, duration, format) before assuming success\n- **Use print statements liberally** to mark progress through the script\n- **Save intermediate outputs** so failures don't require restarting from scratch\n- **Test audio\u002Fvideo generation** with short samples first (1-2 seconds) before full-length content\n\n## When to Use\n\n- Complex scripts with multiple file outputs\n- Audio\u002Fvideo generation pipelines\n- Scripts with external library dependencies\n- Any `execute_code_sandbox` call that produces incomplete or no output","# Debug Sandbox Execution Failures\n\nWhen `execute_code_sandbox` fails with unknown errors or incomplete output, use this debugging pattern to identify the root cause and recover incrementally.\n\n## Problem\n\nThe `execute_code_sandbox` tool may fail silently, truncate output, or produce opaque errors. Complex scripts with multiple file outputs are especially prone to partial failures.\n\n## Solution\n\nUse a three-phase debugging approach:\n\n### Phase 1: Capture Partial Execution Traces\n\nWhen a sandbox execution fails, rerun the code using `run_shell` with output piping to capture whatever output is produced before the failure:\n\n```bash\npython your_script.py 2>&1 | head -100\n```\n\nThis reveals:\n- Which functions\u002Fsteps executed successfully\n- Where the failure occurred\n- Any error messages that were suppressed\n\n### Phase 2: Isolate Failing Functions\n\nBreak the script into smaller, testable units. Execute each function or code block independently:\n\n```python\n# Test individual components\nif __name__ == \"__main__\":\n    # Step 1: Test imports\n    import numpy as np\n    print(\"Imports OK\")\n    \n    # Step 2: Test function A in isolation\n    result_a = function_a()\n    print(f\"Function A: {result_a}\")\n    \n    # Step 3: Test function B\n    result_b = function_b(result_a)\n    print(f\"Function B: {result_b}\")\n```\n\nRun each section with `execute_code_sandbox` separately to identify which component fails.\n\n### Phase 3: Incremental Output Generation\n\nGenerate output files one at a time, verifying each before proceeding:\n\n```python\nimport numpy as np\nimport soundfile as sf\n\n# Generate and save file 1\naudio1 = np.random.randn(48000 * 10).astype(np.float32)\nsf.write('output_01.wav', audio1, 48000, subtype='FLOAT')\n\n# Verify file 1 exists and has expected properties\nimport os\nassert os.path.exists('output_01.wav'), \"File 1 not created\"\n\n# Generate and save file 2\naudio2 = np.random.randn(48000 * 10).astype(np.float32)\nsf.write('output_02.wav', audio2, 48000, subtype='FLOAT')\n\n# Verify file 2\nassert os.path.exists('output_02.wav'), \"File 2 not created\"\n```\n\n## Example Workflow\n\n1. **Initial attempt**: Run full script with `execute_code_sandbox`\n2. **On failure**: Rerun with `run_shell` and `| head -100` to see partial output\n3. **Identify breakpoint**: Find the last successful operation\n4. **Split script**: Create separate scripts for each major section\n5. **Test incrementally**: Run each section, verify outputs, proceed to next\n6. **Combine successful sections**: Once all pieces work, combine into final script\n\n## Best Practices\n\n- **Always verify file creation** immediately after writing: `assert os.path.exists(path)`\n- **Check file properties** (size, duration, format) before assuming success\n- **Use print statements liberally** to mark progress through the script\n- **Save intermediate outputs** so failures don't require restarting from scratch\n- **Test audio\u002Fvideo generation** with short samples first (1-2 seconds) before full-length content\n\n## When to Use\n\n- Complex scripts with multiple file outputs\n- Audio\u002Fvideo generation pipelines\n- Scripts with external library dependencies\n- Any `execute_code_sandbox` call that produces incomplete or no output",{"name":5,"description":7},"main","6b84b0689ca0d9e7b1e4061188ff6b60758e0f8a","openspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fdebug-sandbox-execution",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":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add HKUDS\u002FAgentPilot --skill debug-sandbox-execution",{"tool":52,"command":53},"bunx","bunx skills add HKUDS\u002FAgentPilot --skill debug-sandbox-execution",{"tool":55,"command":56},"pnpm","pnpm dlx skills add HKUDS\u002FAgentPilot --skill debug-sandbox-execution","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fdebug-sandbox-execution\u002FSKILL.md",true,[60],{"path":61,"resourceType":62,"resourceTypeDesc":63,"sizeBytes":64,"sourceHtmlUrl":65},".skill_id","OTHER","其他",37,"https:\u002F\u002Fgithub.com\u002FHKUDS\u002FAgentPilot\u002Fblob\u002Fmain\u002Fopenspace\u002Fbenchmarks\u002Fgdpval\u002Fskills\u002Fdebug-sandbox-execution\u002F.skill_id",[67,87,106,131,155,177],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":33},"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",[],[69,74,75,76,77,78,79,80,81,82,83,84,85,86],"prepare","requests","with","missing","installation","rsi","up","use","user","work","SET","run","experiments",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":33},"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",[],[89,94,95,96,97,98,99,100,101,102,103,104,105],"memory","review","auto","openspace","changes","facts","detect","entries","local","conflicts","stale","duplicates",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":33},"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",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[118,119,120,97,121,122,123,124,125,126,127,128,129,130],"skill discovery","discovery","reusable","step by step","tokens","packages","help","cloud","reliability","capabilities","browse","search","Tools",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":138,"publishedAt":33},"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",[137],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},[139,140,141,97,142,143,144,145,146,120,96,81,147,148,149,150,151,152,153,154],"delegate","task","delegate task","time","improve","desktop automation","worker","community","autonomous","tool","stack","for","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":33},"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,28,171,172,173,174,150,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":33},"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,76,150,176,186,187,188,189,190,169,170,191,192,28],"write special chars readback","readback","helper","post","via","scripts","read","verification","cleanup"]