[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KFKYDXB97ZX82X4CSN4WDR":3,"skill-same:01M6KFKYDXB97ZX82X4CSN4WDR":73},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6KFKYDXB97ZX82X4CSN4WDR","openpyxl-sandbox-workaround",null,"Use run_shell with inline Python as a fallback when execute_code_sandbox fails for openpyxl\u002Fspreadsheet operations","xyliu-cs\u002FOpenSpace-GDPval","xyliu-cs","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F89236536?v=4","01M6KF8Z1V4TXS86CKSH48BY8T","xy","01M6KF8Z67443W0SHXM85JEF0B",0,"MIT","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fopenpyxl-sandbox-workaround\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"sandbox","openpyxl","openpyxl sandbox workaround","python","run","code","spreadsheet","shell","execute","operations","use","fallback","as","with","for","inline","2026-11-10 10:12:30",false,"---\nname: openpyxl-sandbox-workaround\ndescription: Use run_shell with inline Python as a fallback when execute_code_sandbox fails for openpyxl\u002Fspreadsheet operations\n---\n\n# Openpyxl Sandbox Workaround\n\n## When to Use\n\nUse this pattern when `execute_code_sandbox` repeatedly fails for openpyxl or spreadsheet manipulation tasks. The sandbox environment may have compatibility issues with certain openpyxl operations, but running Python directly via `run_shell` often succeeds.\n\n## Common Failure Indicators\n\n- `execute_code_sandbox` returns errors related to openpyxl imports or operations\n- Multiple retry attempts fail with similar errors\n- Errors mention workbook creation, cell writing, or file saving issues\n\n## The Workaround Pattern\n\nInstead of using `execute_code_sandbox`, use `run_shell` with an inline Python script:\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom openpyxl import Workbook\nfrom openpyxl.utils import get_column_letter\n\n# Your openpyxl code here\nwb = Workbook()\nws = wb.active\nws.title = \"Sheet1\"\n\n# Add data\nws['A1'] = 'Header'\nws['B1'] = 'Value'\n\n# Save file\nwb.save('output.xlsx')\nprint('File created successfully')\nEOF\n```\n\n## Multi-Step Spreadsheet Tasks\n\nFor complex operations involving multiple files or data processing:\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom openpyxl import Workbook, load_workbook\nimport os\n\n# Load existing workbook if needed\nif os.path.exists('input.xlsx'):\n    wb = load_workbook('input.xlsx')\n    ws = wb.active\n    # Process data...\n    \n# Create new workbook\nwb = Workbook()\nws = wb.active\n\n# Add data with proper formatting\nfor row_idx, row_data in enumerate(data, start=1):\n    for col_idx, value in enumerate(row_data, start=1):\n        ws.cell(row=row_idx, column=col_idx, value=value)\n\n# Auto-adjust column widths\nfor column in ws.columns:\n    max_length = 0\n    column_letter = get_column_letter(column[0].column)\n    for cell in column:\n        try:\n            if len(str(cell.value)) > max_length:\n                max_length = len(str(cell.value))\n        except:\n            pass\n    adjusted_width = min(max_length + 2, 50)\n    ws.column_dimensions[column_letter].width = adjusted_width\n\nwb.save('output.xlsx')\nEOF\n```\n\n## Best Practices\n\n1. **Use heredoc syntax**: The `\u003C\u003C 'EOF'` pattern prevents variable expansion issues\n2. **Print success messages**: Always include print statements to confirm completion\n3. **Handle file paths**: Use absolute paths or ensure you're in the correct working directory\n4. **Validate output**: After creation, verify the file exists and has expected content\n5. **Error handling**: Add try\u002Fexcept blocks for robustness in complex scripts\n\n## Verification Step\n\nAfter running the script, verify the file was created:\n\n```bash\nls -la *.xlsx\n```\n\nOr check file details:\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom openpyxl import load_workbook\nwb = load_workbook('output.xlsx')\nprint(f\"Sheets: {wb.sheetnames}\")\nprint(f\"Active sheet: {wb.active.title}\")\nEOF\n```\n\n## When to Fall Back to This Pattern\n\n- First `execute_code_sandbox` attempt fails with openpyxl errors\n- Error persists after 1-2 retries\n- Task is time-sensitive and needs a reliable solution\n- The operation is straightforward file creation\u002Fmodification\n\n## Limitations\n\n- Output is limited to stdout\u002Fstderr (no direct artifact download from run_shell)\n- Files are created in the current working directory\n- More verbose than execute_code_sandbox for simple operations","# Openpyxl Sandbox Workaround\n\n## When to Use\n\nUse this pattern when `execute_code_sandbox` repeatedly fails for openpyxl or spreadsheet manipulation tasks. The sandbox environment may have compatibility issues with certain openpyxl operations, but running Python directly via `run_shell` often succeeds.\n\n## Common Failure Indicators\n\n- `execute_code_sandbox` returns errors related to openpyxl imports or operations\n- Multiple retry attempts fail with similar errors\n- Errors mention workbook creation, cell writing, or file saving issues\n\n## The Workaround Pattern\n\nInstead of using `execute_code_sandbox`, use `run_shell` with an inline Python script:\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom openpyxl import Workbook\nfrom openpyxl.utils import get_column_letter\n\n# Your openpyxl code here\nwb = Workbook()\nws = wb.active\nws.title = \"Sheet1\"\n\n# Add data\nws['A1'] = 'Header'\nws['B1'] = 'Value'\n\n# Save file\nwb.save('output.xlsx')\nprint('File created successfully')\nEOF\n```\n\n## Multi-Step Spreadsheet Tasks\n\nFor complex operations involving multiple files or data processing:\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom openpyxl import Workbook, load_workbook\nimport os\n\n# Load existing workbook if needed\nif os.path.exists('input.xlsx'):\n    wb = load_workbook('input.xlsx')\n    ws = wb.active\n    # Process data...\n    \n# Create new workbook\nwb = Workbook()\nws = wb.active\n\n# Add data with proper formatting\nfor row_idx, row_data in enumerate(data, start=1):\n    for col_idx, value in enumerate(row_data, start=1):\n        ws.cell(row=row_idx, column=col_idx, value=value)\n\n# Auto-adjust column widths\nfor column in ws.columns:\n    max_length = 0\n    column_letter = get_column_letter(column[0].column)\n    for cell in column:\n        try:\n            if len(str(cell.value)) > max_length:\n                max_length = len(str(cell.value))\n        except:\n            pass\n    adjusted_width = min(max_length + 2, 50)\n    ws.column_dimensions[column_letter].width = adjusted_width\n\nwb.save('output.xlsx')\nEOF\n```\n\n## Best Practices\n\n1. **Use heredoc syntax**: The `\u003C\u003C 'EOF'` pattern prevents variable expansion issues\n2. **Print success messages**: Always include print statements to confirm completion\n3. **Handle file paths**: Use absolute paths or ensure you're in the correct working directory\n4. **Validate output**: After creation, verify the file exists and has expected content\n5. **Error handling**: Add try\u002Fexcept blocks for robustness in complex scripts\n\n## Verification Step\n\nAfter running the script, verify the file was created:\n\n```bash\nls -la *.xlsx\n```\n\nOr check file details:\n\n```bash\npython3 \u003C\u003C 'EOF'\nfrom openpyxl import load_workbook\nwb = load_workbook('output.xlsx')\nprint(f\"Sheets: {wb.sheetnames}\")\nprint(f\"Active sheet: {wb.active.title}\")\nEOF\n```\n\n## When to Fall Back to This Pattern\n\n- First `execute_code_sandbox` attempt fails with openpyxl errors\n- Error persists after 1-2 retries\n- Task is time-sensitive and needs a reliable solution\n- The operation is straightforward file creation\u002Fmodification\n\n## Limitations\n\n- Output is limited to stdout\u002Fstderr (no direct artifact download from run_shell)\n- Files are created in the current working directory\n- More verbose than execute_code_sandbox for simple operations",{"name":5,"description":7},"main","af1b40a42167d09c30b3a63000aa14ace4c1e229","gdpval_bench\u002Fskills\u002Fopenpyxl-sandbox-workaround","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval","https:\u002F\u002Fgithub.com\u002Fxyliu-cs","https:\u002F\u002Fxyliu-cs.github.io","PhD Student in CS, CUHK-Shenzhen.","2026-04-06 20:32:15",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add xyliu-cs\u002FOpenSpace-GDPval --skill openpyxl-sandbox-workaround",{"tool":59,"command":60},"bunx","bunx skills add xyliu-cs\u002FOpenSpace-GDPval --skill openpyxl-sandbox-workaround",{"tool":62,"command":63},"pnpm","pnpm dlx skills add xyliu-cs\u002FOpenSpace-GDPval --skill openpyxl-sandbox-workaround","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fopenpyxl-sandbox-workaround\u002FSKILL.md",true,[67],{"path":68,"resourceType":69,"resourceTypeDesc":70,"sizeBytes":71,"sourceHtmlUrl":72},".skill_id","OTHER","其他",41,"https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fopenpyxl-sandbox-workaround\u002F.skill_id",[74,86,94,109,134,152],{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":40},"01M6KG8MF1S664SWBDENYRSCK8","zip-export-deliverable","Ensures codebase deliverables are properly exported as ZIP archives through a dedicated finalization step","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzip-export-deliverable\u002FSKILL.md",[],[81,82,83,84,85,36],"zip export deliverable","zip","export","deliverables","codebase",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":40},"01M6KG8GAZWHHEK7VNJDW0ME21","zip-deliverable-finalization","Ensure codebase deliverables are properly packaged as ZIP exports in a dedicated final step","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzip-deliverable-finalization\u002FSKILL.md",[],[93,82,84,85,36],"zip deliverable finalization",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":40},"01M6KG8CMQQ1PYMNTSRZ9VS1MD","zero-iteration-failure-analysis","Identify and handle agent failures with 0 iterations as pre-execution system issues","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fzero-iteration-failure-analysis\u002FSKILL.md",[],[101,102,103,104,105,37,106,107,36,108],"failure analysis","ZeRO","analysis","iteration","zero iteration failure analysis","issues","execution","system",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":120,"publishedAt":40},"01M6KG86W3PA07FT9W58YHHERM","write-file-fallback-report","Generate professional documents using write_file when primary data sources fail, leveraging embedded domain knowledge instead of external retrieval","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report\u002FSKILL.md",[115],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[35,121,122,123,124,125,126,127,128,129,130,131,132,133],"write","file","report","write file fallback report","domain","professional","sources","retrieval","generate","embedded","documents","data","knowledge",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":40},"01M6KG82GAEY3GG77CMGCK1C2T","fallback-doc-with-delegation","Generate professional documents after tool failures using shell_agent for complex formats or write_file for simple text\u002Fmarkdown","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report-enhanced\u002FSKILL.md",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[144,37,35,145,146,31,131,129,122,147,148,149,121,150,126,151,38],"fallback doc with delegation","doc","delegation","markdown","tool","text","simple","formats",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":159,"publishedAt":40},"01M6KG7WT7GX5NYCGEFHW22NV7","context-anchored-fallback-report","Generate documents with write_file when retrieval tools fail, with explicit guardrails against task context drift","https:\u002F\u002Fgithub.com\u002Fxyliu-cs\u002FOpenSpace-GDPval\u002Fblob\u002Fmain\u002Fgdpval_bench\u002Fskills\u002Fwrite-file-fallback-report-enhanced-4bc5c2\u002FSKILL.md",[158],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},[35,123,160,161,129,122,162,163,121,164,165,128,37,166,131],"context","context anchored fallback report","Guardrails","Tools","task","drift","context drift"]