Agent skill

Spreadsheet Direct Python

by HKUDS in HKUDS/OpenSpace

Use direct Python execution for reliable spreadsheet operations instead of shellagent

MITAuto-check passedDocuments & Office

Install Spreadsheet Direct Python

skills CLI
$ npx skills add HKUDS/OpenSpace --skill spreadsheet-direct-python -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install HKUDS/OpenSpace spreadsheet-direct-python --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/gdpval/skills/spreadsheet-direct-python .claude/skills/spreadsheet-direct-python && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
spreadsheet-direct-python
GitHub stars
7.7k
Token cost
~1.2k tokens
SKILL.md length
358 words
Files
2
Skills in repo
199
Repo updated
First seen
Licence
MIT

At a glance

Use direct Python execution for reliable spreadsheet operations instead of shellagent

  • Works in 7 steps: Use heredoc syntax (<< 'EOF') for… → Import only needed libraries to reduce… → Print clear success/error messages for… → …
  • Tasks that involve Excel spreadsheets
  • SKILL.md covers When to Use This Skill, Why Direct Execution?, How to Use and Best Practices, plus 3 more sections
  • Calls python3

What it does

Spreadsheet Direct Python is an agent skill from HKUDS/OpenSpace. Use direct Python execution for reliable spreadsheet operations instead of shellagent

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file.

It sits in Documents & Office, covering Excel spreadsheets. It works with Python, Microsoft Excel, openpyxl and pandas. The repository describes itself as: "OpenSpace: The Skill Management Layer for AI Agents" -- https://open-space.cloud/. The licence is MIT.

When your agent uses it

  • Tasks that involve Excel spreadsheets

Example prompts

  • “/spreadsheet-direct-python”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Use heredoc syntax (<< 'EOF') for multi-line Python scripts in shell commands
  2. Import only needed libraries to reduce execution time
  3. Print clear success/error messages for debugging
  4. Use pandas-compatible DataFrame constructors — prefer pd.DataFrame.from_dict() over direct dict-to-DataFrame conversion for cross-version…
  5. Save intermediate results for complex multi-step transformations
  6. Test with small data before scaling to large spreadsheets
  7. Use pandas for data manipulation and openpyxl for formatting when both are needed

What it can do on your machine

Read from SKILL.md and the folder at commit 3827781. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Spreadsheet Direct Python loads about 1.2k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 358 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~28
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from HKUDS/OpenSpace at commit 3827781, republished under its MIT licence (© HKUDS). 358 words, ~1,157 tokens.

Download SKILL.mdSave it as .claude/skills/spreadsheet-direct-python/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
spreadsheet-direct-python
description
Use direct Python execution for reliable spreadsheet operations instead of shell_agent

Direct Python Execution for Spreadsheet Tasks

When to Use This Skill

Use direct run_shell with embedded Python scripts for spreadsheet operations when:

  • Reading or writing complex Excel files with multiple sheets
  • Applying formulas, formatting, or data transformations
  • Working with openpyxl, pandas, or similar libraries
  • The operation involves multiple steps that could exceed agent step limits
  • You need precise control over error handling and debugging

Why Direct Execution?

The shell_agent tool can:

  • Hit maximum step limits on complex multi-step operations
  • Produce unexplained errors on formatting operations
  • Fail on intricate spreadsheet reads/writes due to iterative parsing

Direct run_shell with Python is more reliable because it:

  • Executes in a single step with no iteration limits
  • Provides clearer, immediate error messages
  • Handles complex operations without step constraints
  • Gives full control over library imports and execution flow

How to Use

Basic Pattern
bash
python3 << 'EOF'
import openpyxl
from openpyxl import Workbook

# Your spreadsheet code here
wb = openpyxl.load_workbook('file.xlsx')
# ... operations ...
wb.save('output.xlsx')
print('Success')
EOF
Example 1: Read and Transform Excel Data
python
import pandas as pd

# Load data from specific sheet
df = pd.read_excel('input.xlsx', sheet_name='Revenue')

# Apply transformations
df['Net_Revenue'] = df['Gross_Revenue'] * (1 - df['Tax_Rate'])

# Save results
df.to_excel('output.xlsx', index=False, sheet_name='Processed')
Example 2: Multi-Sheet Operations with openpyxl
python
from openpyxl import load_workbook

wb = load_workbook('tour_data.xlsx')

# Iterate through sheets
for sheet_name in wb.sheetnames:
    ws = wb[sheet_name]
    # Apply formatting or calculations
    for row in ws.iter_rows(min_row=2, max_col=5):
        # Process cells
        pass

wb.save('tour_data_processed.xlsx')
Example 3: Complex Formatting Operations
python
from openpyxl import load_workbook
from openpyxl.styles import Font, PatternFill, Alignment

wb = load_workbook('report.xlsx')
ws = wb.active

# Apply header styling
header_fill = PatternFill(start_color='4472C4', fill_type='solid')
header_font = Font(bold=True, color='FFFFFF')

for cell in ws[1]:
    cell.fill = header_fill
    cell.font = header_font
    cell.alignment = Alignment(horizontal='center')

wb.save('report_formatted.xlsx')
Example 4: Error Handling Pattern
python
import sys
from openpyxl import load_workbook

try:
    wb = load_workbook('data.xlsx')
    ws = wb.active
    
    # Your operations here
    value = ws['A1'].value
    
    wb.save('output.xlsx')
    print(f"Success: Processed {ws.max_row} rows")
    
except Exception as e:
    print(f"Error: {str(e)}", file=sys.stderr)
    sys.exit(1)

Best Practices

  1. Use heredoc syntax (<< 'EOF') for multi-line Python scripts in shell commands
  2. Import only needed libraries to reduce execution time
  3. Print clear success/error messages for debugging
  4. Use pandas-compatible DataFrame constructors — prefer pd.DataFrame.from_dict() over direct dict-to-DataFrame conversion for cross-version compatibility
  5. Save intermediate results for complex multi-step transformations
  6. Test with small data before scaling to large spreadsheets
  7. Use pandas for data manipulation and openpyxl for formatting when both are needed
Show full SKILL.md (122 more words)Show less

When NOT to Use This Skill

  • Simple single-cell reads/writes (use shell_agent or basic commands)
  • Operations that require interactive user input
  • Tasks where you need the agent to iteratively refine the approach

Common Libraries

LibraryBest For
openpyxlReading/writing .xlsx files, formatting, formulas
pandasData manipulation, analysis, merging datasets
xlrdReading older .xls files (read-only)
xlsxwriterCreating new .xlsx files with advanced formatting

Troubleshooting

Issue: FileNotFoundError

  • Solution: Verify the file path is absolute or relative to the working directory

Issue: PermissionError

  • Solution: Ensure the file is not open in another application

Issue: MemoryError on large files

  • Solution: Process data in chunks using pandas chunksize parameter

Issue: Formatting not applying

  • Solution: Ensure you're modifying cell styles before saving, and use .copy() for style objects

© HKUDS, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in benchmarks/gdpval/skills/spreadsheet-direct-python of HKUDS/OpenSpace.

  • SKILL.md
  • .skill_id

Open the folder on GitHubat commit 3827781

Compare with similar skills

Spreadsheet Direct Python next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Spreadsheet Direct Python compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Spreadsheet Direct Python this skillHKUDS/OpenSpace7.7k—~1.2kAutomated safety check: PassMIT
Kimi XLSXthvroyal/kimi-skills238—~9.5kAutomated safety check: PassNone
Office XLSXsingula-ai/alego1091 repos~2.3kAutomated safety check: PassMIT
Create Spreadsheettheexperiencecompany/gaia308—~804Automated safety check: PassCustom licence
Spreadsheetdavila7/claude-code-templates32k1 repos~1.3kAutomated safety check: NotesApache-2.0
Streaming Export Safetydoccker/cc-use-exp1.1k—~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Kimi XLSX

    thvroyal/kimi-skills

    Specialized utility for advanced manipulation, analysis, and creation of spreadsheet files, including (but not limited to) XLSX, XLSM, CSV formats.

    238 GitHub stars~9.5k tokensUpdated 6 mo ago
    Documents & OfficeAuto-check passed
  • Office XLSX

    singula-ai/alego

    Read, create, and modify Excel workbooks (.xlsx), including data, formulas, formatting, and pandas analysis.

    109 GitHub starsUsed in 1 repo~2.3k tokens
    Documents & OfficeAuto-check passed
  • Create Spreadsheet

    theexperiencecompany/gaia

    Generate an Excel (.xlsx) workbook or a CSV file — tables, financial models, data exports, formatted reports with charts.

    308 GitHub stars~804 tokensUpdated today
    Documents & OfficeAuto-check passed
  • Spreadsheet

    davila7/claude-code-templates

    A skill your agent uses when tasks involve creating, editing, analyzing, or formatting spreadsheets (.xlsx, .csv, .tsv) using Python (openpyxl, pandas), especially when formulas, references, and…

    32k GitHub starsUsed in 1 repo~1.3k tokens
    Documents & OfficeAuto-check: notes
  • Streaming Export Safety

    doccker/cc-use-exp

    当代码涉及 Excel/CSV/JSON/PDF 大文件导出、批量序列化、内存里构建大对象时触发。防止 OOM、临时文件残留、同步导出阻塞 HTTP 线程等内存安全陷阱。

    1.1k GitHub stars~1.9k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Openai Spreadsheet

    trailofbits/skills-curated

    Official

    A skill your agent uses when tasks involve creating, editing, analyzing, or formatting spreadsheets (.xlsx, .csv, .tsv) using Python (openpyxl, pandas), especially when formulas, references, and…

    512 GitHub stars~1.3k tokensUpdated 2 mo ago
    Documents & OfficeAuto-check: notes

More from HKUDS/OpenSpace

All 199 skills in this repo
  • Walks through producing a master audio track plus stems in Python, from checking a reference file and timing sections by BPM to effects, a zip archive and final verification.

    7.7k GitHub stars~2.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Handle cascading data retrieval tool failures by falling back to embedded knowledge generation

    7.7k GitHub stars~765 tokensUpdated 1 mo ago
    Auto-check passed
  • Gives an agent a workaround when its code-execution sandbox keeps failing: save the Python script to a file and run it through the shell instead.

    7.7k GitHub stars~588 tokensUpdated 1 mo ago
    Auto-check passed
  • A recovery routine for agents whose sandboxed code runner keeps failing: save the Python script to disk, then run it through the shell and read the output.

    7.7k GitHub stars~652 tokensUpdated 1 mo ago
    Auto-check passed
  • Fallback ladder for failed sandboxed code runs, plus the habit of fixing the working directory first so generated files land in the right place.

    7.7k GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Fallback workflow for executing Python code when executecodesandbox fails repeatedly

    7.7k GitHub stars~1.1k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Spreadsheet Direct Python

What does Spreadsheet Direct Python do?

Use direct Python execution for reliable spreadsheet operations instead of shellagent. Spreadsheet Direct Python is an agent skill from HKUDS/OpenSpace.

When should I use Spreadsheet Direct Python?

Spreadsheet Direct Python fits situations like: tasks that involve Excel spreadsheets.

How do I install Spreadsheet Direct Python in Claude Code?

Run `npx skills add HKUDS/OpenSpace --skill spreadsheet-direct-python -a claude-code`. Or copy the skill folder (benchmarks/gdpval/skills/spreadsheet-direct-python in HKUDS/OpenSpace) into .claude/skills/spreadsheet-direct-python in your project. Claude Code loads it when a task matches its description.

How do I install Spreadsheet Direct Python in Codex?

Run `npx skills add HKUDS/OpenSpace --skill spreadsheet-direct-python -a codex`. Or copy the skill folder (benchmarks/gdpval/skills/spreadsheet-direct-python in HKUDS/OpenSpace) into .agents/skills/spreadsheet-direct-python in your project. Codex loads it when a task matches its description.

Can I use Spreadsheet Direct Python in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add HKUDS/OpenSpace --skill spreadsheet-direct-python -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/spreadsheet-direct-python, .gemini/skills/spreadsheet-direct-python, .github/skills/spreadsheet-direct-python and .opencode/skills/spreadsheet-direct-python in your project.

What does Spreadsheet Direct Python need to run?

Going by SKILL.md and its folder, Spreadsheet Direct Python needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Spreadsheet Direct Python access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Spreadsheet Direct Python safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Spreadsheet Direct Python use?

Spreadsheet Direct Python is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Spreadsheet Direct Python use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Spreadsheet Direct Python?

Skills that share tags, products or a category with Spreadsheet Direct Python: Kimi XLSX (thvroyal/kimi-skills, 238 stars), Office XLSX (singula-ai/alego, 109 stars), Create Spreadsheet (theexperiencecompany/gaia, 308 stars) and Spreadsheet (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Spreadsheet Direct Python?

HKUDS (a GitHub organization) maintains it in HKUDS/OpenSpace, which has 7,743 GitHub stars. The repository holds 199 skills in this directory. The repository was last updated on August 12, 2026.

Source: HKUDS/OpenSpace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.