OpenSpace excel-creation-fallback
Use shell_agent as fallback when execute_code_sandbox fails for Excel file operations
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/excel-creation-fallback" ~/.claude/skills/hkuds-openspace-excel-creation-fallback && rm -rf "$T"
manifest:
gdpval_bench/skills/excel-creation-fallback/SKILL.mdsource content
Excel File Creation Fallback
When
execute_code_sandbox fails for openpyxl or Excel operations, delegate to shell_agent which can autonomously handle dependency and environment issues.
When to Use
fails with import errors for openpyxl or related librariesexecute_code_sandbox- The sandbox environment lacks required dependencies
- You need to create or modify Excel files with complex requirements
- Repeated sandbox execution failures for file I/O operations
Steps
Step 1: Attempt with execute_code_sandbox first
Try creating the Excel file using Python's openpyxl library in the code sandbox:
from openpyxl import Workbook wb = Workbook() ws = wb.active ws.append(['Column1', 'Column2', 'Column3']) wb.save('output.xlsx')
Step 2: If it fails, switch to shell_agent
Delegate the task to shell_agent with a clear, comprehensive task description:
Create an Excel file named 'output.xlsx' with the following structure: - Sheet 1: Data with columns [Date, Metric, Value] - Include sample data rows with realistic values - Apply basic formatting (bold headers, cell borders) - Add a summary section with totals or averages - Save the file in the current directory
Step 3: Let shell_agent handle the environment
The shell_agent will:
- Decide whether to use Python or Bash
- Install dependencies if needed (e.g.,
)pip install openpyxl - Write and execute the code
- Automatically retry and fix errors (up to several rounds)
- Confirm the file was created successfully
Example Task Descriptions
Basic Excel file:
Create an Excel file named 'sales_report.xlsx' with headers: Date, Product, Quantity, Price, Total. Add 10 sample rows of data and a formula column for Total (Quantity * Price).
Complex Excel with formatting:
Create an Excel file with multiple sheets: - Sheet 'Summary': Key metrics and totals - Sheet 'Details': Full transaction data with columns [ID, Date, Customer, Amount, Status] - Apply conditional formatting to highlight amounts over 1000 - Add borders to all cells and bold headers
Tiered pricing structure:
Create an Excel file with a tiered pricing table: - Column A: Quantity thresholds (0, 100, 500, 1000) - Column B: Unit price at each tier - Column C: Discount percentage (e.g., 15% discount over 1000 units) - Include a financial summary section with projections
Why This Pattern Works
shell_agent has several advantages over execute_code_sandbox for file creation tasks:
| Feature | execute_code_sandbox | shell_agent |
|---|---|---|
| Dependency installation | Manual/preset only | Autonomous |
| Error recovery | Returns error | Auto-retries and fixes |
| Tool selection | Python only | Python, Bash, or other |
| Filesystem access | Sandbox-limited | Full workspace access |
| Verification | None | Can verify file creation |
Troubleshooting
If shell_agent also struggles:
- Be more specific - Include exact column names, data types, and formatting requirements
- Provide sample data - Include example rows to clarify expected output
- Break it down - For complex files, request creation in stages
- Check permissions - Ensure the target directory is writable
Alternative Approaches
If shell_agent is unavailable or unsuitable:
- Use
with explicit commands (if you know the exact syntax)run_shell - Check for alternative libraries (xlsxwriter, pandas with openpyxl engine)
- Use CSV as intermediate format, then convert to Excel