XLSX
rvdbreemen/OTGW-firmware
Use this skill any time a spreadsheet file is the primary input or output.
Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm) where the workbook file is the primary deliverable.
$ npx skills add zzhonglei/GeoCode-Release --skill xlsx -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install zzhonglei/GeoCode-Release xlsx --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/zzhonglei/GeoCode-Release.git skills-src && mkdir -p .claude/skills && cp -r skills-src/contributions/xlsx/skill .claude/skills/xlsx && rm -rf skills-srcUse ~/.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/
Install the "xlsx" agent skill from https://github.com/zzhonglei/GeoCode-Release/tree/main/contributions/xlsx/skill into .claude/skills/xlsx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/zzhonglei/GeoCode-Release/tree/main/contributions/xlsx/skillType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add zzhonglei/GeoCode-Release --skill xlsx -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install zzhonglei/GeoCode-Release xlsx --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zzhonglei/GeoCode-Release.git skills-src && mkdir -p .agents/skills && cp -r skills-src/contributions/xlsx/skill .agents/skills/xlsx && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "xlsx" agent skill from https://github.com/zzhonglei/GeoCode-Release/tree/main/contributions/xlsx/skill into .agents/skills/xlsx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zzhonglei/GeoCode-Release --skill xlsx -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install zzhonglei/GeoCode-Release xlsx --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zzhonglei/GeoCode-Release.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/contributions/xlsx/skill .cursor/skills/xlsx && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "xlsx" agent skill from https://github.com/zzhonglei/GeoCode-Release/tree/main/contributions/xlsx/skill into .cursor/skills/xlsx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/zzhonglei/GeoCode-Release.git --path contributions/xlsx/skill--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add zzhonglei/GeoCode-Release --skill xlsx -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install zzhonglei/GeoCode-Release xlsx --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zzhonglei/GeoCode-Release.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/contributions/xlsx/skill .gemini/skills/xlsx && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "xlsx" agent skill from https://github.com/zzhonglei/GeoCode-Release/tree/main/contributions/xlsx/skill into .gemini/skills/xlsx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install zzhonglei/GeoCode-Release xlsxInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add zzhonglei/GeoCode-Release --skill xlsx -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/zzhonglei/GeoCode-Release.git skills-src && mkdir -p .github/skills && cp -r skills-src/contributions/xlsx/skill .github/skills/xlsx && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "xlsx" agent skill from https://github.com/zzhonglei/GeoCode-Release/tree/main/contributions/xlsx/skill into .github/skills/xlsx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add zzhonglei/GeoCode-Release --skill xlsx -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install zzhonglei/GeoCode-Release xlsx --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/zzhonglei/GeoCode-Release.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/contributions/xlsx/skill .opencode/skills/xlsx && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "xlsx" agent skill from https://github.com/zzhonglei/GeoCode-Release/tree/main/contributions/xlsx/skill into .opencode/skills/xlsx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "xlsx", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
xlsxCreate, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm) where the workbook file is the primary deliverable.
XLSX is an agent skill from zzhonglei/GeoCode-Release. Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm) where the workbook file is the primary deliverable. Use for formulas, formatting, financial models, multi-sheet workbooks, and tabular cleanup exported to Excel. Also applies to .csv/.tsv when the user wants spreadsheet output. Do NOT use for Word documents, HTML reports, standalone Python scripts, database pipelines, or Google Sheets API work.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 62 other files, including scripts (for example `scripts/office/helpers/__init__.py`, `scripts/office/helpers/merge_runs.py` and `scripts/office/helpers/simplify_redlines.py`). Compatibility notes: Requires Python 3.8+, LibreOffice (soffice on PATH), and gcc only when Unix sockets are restricted
It sits in Documents & Office, covering Excel spreadsheets. It works with Microsoft Excel, Python and Google Sheets. The repository describes itself as: A desktop AI assistant for geoscience data processing. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6e3534f. It shows what the files ask for, not the result of running them.
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.
Ships 15 files in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
uvpythonsofficeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
openpyxl.readthedocs.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python 3.8+, LibreOffice (soffice on PATH), and gcc only when Unix sockets are restricted
From compatibility in the SKILL.md frontmatter.
XLSX loads about 3.1k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 1,050 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from zzhonglei/GeoCode-Release at commit 6e3534f, republished under its MIT licence (© zzhonglei). 1,050 words, ~3,082 tokens.
.claude/skills/xlsx/SKILL.md (or your agent's skills folder). This skill also uses 57 other files; get the full folder from GitHub.Unless otherwise stated by the user or existing template
A user may ask you to create, edit, or analyze the contents of an .xlsx file. You have different tools and workflows available for different tasks.
uv pip install openpyxl pandasOptional — faster Excel reading across formats with pandas 2.2+:
uv pip install python-calamineFor untrusted workbook files, harden openpyxl against XML expansion attacks:
uv pip install defusedxmlSee openpyxl security guidance.
LibreOffice required for formula recalculation: Assume LibreOffice is installed for recalculating formula values using scripts/recalc.py. The script configures LibreOffice on first run, including in sandboxed environments where Unix sockets are restricted (handled by scripts/office/soffice.py).
System dependencies (not installed via uv):
| Tool | Purpose |
|---|---|
soffice (LibreOffice 7.x+) | Evaluates Excel formulas via scripts/recalc.py |
gcc | Only when Unix domain sockets are blocked; compiles a one-time shim into ~/.cache/xlsx-skill/lo-shim/ |
gtimeout (macOS, optional) | GNU coreutils timeout for recalc timeout support on Darwin |
Verify LibreOffice is available: soffice --version
For data analysis, visualization, and basic operations, use pandas which provides powerful data manipulation capabilities:
import pandas as pd
# Read Excel (.xlsx default engine: openpyxl)
df = pd.read_excel('file.xlsx') # Default: first sheet
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # All sheets as dict
# Optional: calamine engine (pandas 2.2+) — faster, supports .xlsx/.xls/.xlsb/.xlsm/.ods
# df = pd.read_excel('file.xlsx', engine='calamine')
# Analyze
df.head() # Preview data
df.info() # Column info
df.describe() # Statistics
# Write Excel
df.to_excel('output.xlsx', index=False)Always use Excel formulas instead of calculating values in Python and hardcoding them. This ensures the spreadsheet remains dynamic and updateable.
# Bad: Calculating in Python and hardcoding result
total = df['Sales'].sum()
sheet['B10'] = total # Hardcodes 5000
# Bad: Computing growth rate in Python
growth = (df.iloc[-1]['Revenue'] - df.iloc[0]['Revenue']) / df.iloc[0]['Revenue']
sheet['C5'] = growth # Hardcodes 0.15
# Bad: Python calculation for average
avg = sum(values) / len(values)
sheet['D20'] = avg # Hardcodes 42.5# Good: Let Excel calculate the sum
sheet['B10'] = '=SUM(B2:B9)'
# Good: Growth rate as Excel formula
sheet['C5'] = '=(C4-C2)/C2'
# Good: Average using Excel function
sheet['D20'] = '=AVERAGE(D2:D19)'This applies to ALL calculations - totals, percentages, ratios, differences, etc. The spreadsheet should be able to recalculate when source data changes.
scripts/recalc.py scriptpython scripts/recalc.py output.xlsxstatus is errors_found, check error_summary for specific error types and locations#REF!: Invalid cell references#DIV/0!: Division by zero#VALUE!: Wrong data type in formula#NAME?: Unrecognized formula name# Using openpyxl for formulas and formatting
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment
wb = Workbook()
sheet = wb.active
# Add data
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
sheet.append(['Row', 'of', 'data'])
# Add formula
sheet['B2'] = '=SUM(A1:A10)'
# Formatting
sheet['A1'].font = Font(bold=True, color='FF0000')
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
sheet['A1'].alignment = Alignment(horizontal='center')
# Column width
sheet.column_dimensions['A'].width = 20
wb.save('output.xlsx')# Using openpyxl to preserve formulas and formatting
from openpyxl import load_workbook
# Load existing file
wb = load_workbook('existing.xlsx')
sheet = wb.active # or wb['SheetName'] for specific sheet
# Working with multiple sheets
for sheet_name in wb.sheetnames:
sheet = wb[sheet_name]
print(f"Sheet: {sheet_name}")
# Modify cells
sheet['A1'] = 'New Value'
sheet.insert_rows(2) # Insert row at position 2
sheet.delete_cols(3) # Delete column 3
# Add new sheet
new_sheet = wb.create_sheet('NewSheet')
new_sheet['A1'] = 'Data'
wb.save('modified.xlsx')Excel files created or modified by openpyxl contain formulas as strings but not calculated values. Use the provided scripts/recalc.py script to recalculate formulas:
python scripts/recalc.py <excel_file> [timeout_seconds]Example:
python scripts/recalc.py output.xlsx 30The script:
Quick checks to ensure formulas work correctly:
pd.notna()/ in formulas (#DIV/0!)The script returns JSON with error details:
{
"status": "success", // or "errors_found"
"total_errors": 0, // Total error count
"total_formulas": 42, // Number of formulas in file
"error_summary": {
// Only present if errors found
"#REF!": {
"count": 2,
"locations": ["Sheet1!B5", "Sheet1!C10"]
}
}
}data_only=True to read calculated values: load_workbook('file.xlsx', data_only=True)data_only=True and saved, formulas are replaced with values and permanently lostread_only=True for reading or write_only=True for writingpd.read_excel('file.xlsx', dtype={'id': str})pd.read_excel('file.xlsx', usecols=['A', 'C', 'E'])pd.read_excel('file.xlsx', parse_dates=['date_column'])IMPORTANT: When generating Python code for Excel operations:
For Excel files themselves:
© zzhonglei, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 57 other files (scripts) in contributions/xlsx/skill of zzhonglei/GeoCode-Release.
Open the folder on GitHubat commit 6e3534f
XLSX 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| XLSX this skillzzhonglei/GeoCode-Release | 189 | — | ~3.1k | Automated safety check: Pass | MIT | |
| XLSXrvdbreemen/OTGW-firmware | 207 | 35 repos | ~2.9k | Automated safety check: Pass | Proprietary | |
| XLSXK-Dense-AI/claude-scientific-writer | 2.4k | — | ~2.1k | Automated safety check: Notes | Proprietary | |
| Spreadsheet Opsericrisco/rsc-harness | 180 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Instrument Data To Allotropeaws-samples/amazon-bedrock-agents-healthcare-lifesciences | 274 | 2 repos | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Doc Cleanernotoriouslab/doc-cleaner | 309 | — | ~712 | Automated safety check: Pass | MIT |
rvdbreemen/OTGW-firmware
Use this skill any time a spreadsheet file is the primary input or output.
K-Dense-AI/claude-scientific-writer
Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm, .xltx) where the workbook file is the primary deliverable.
ericrisco/rsc-harness
A skill your agent uses when working a spreadsheet programmatically — writing or repairing a formula, generating an .xlsx with Python including charts and conditional formats, driving Google Sheets…
aws-samples/amazon-bedrock-agents-healthcare-lifesciences
Convert laboratory instrument output files (PDF, CSV, Excel, TXT) to Allotrope Simple Model (ASM) JSON format or flattened 2D CSV.
notoriouslab/doc-cleaner
Convert PDF, DOCX, XLSX, and text files to clean, structured Markdown.
Nebutra/MinerU-Skill
An AI-Native skill for parsing PDF / Office / image files into Markdown with MinerU — a fast, zero-config document parser for AI agents.
zzhonglei/GeoCode-Release
Create well-designed maps that follow standard cartographic conventions.
zzhonglei/GeoCode-Release
Find, download, and prepare official thematic statistics from the National Bureau of Statistics of China.
zzhonglei/GeoCode-Release
GEE scripting and remote sensing analysis workflow guide. An agent skill from zzhonglei/GeoCode-Release.
zzhonglei/GeoCode-Release
Select an appropriate projected coordinate system for geographic data analysis or cartographic tasks.
zzhonglei/GeoCode-Release
Official, standards-compliant vector boundaries of China's administrative divisions — province, city and county polygons.
zzhonglei/GeoCode-Release
Sample skill verifying the GeoCode skill store pipeline end-to-end.
Works with
Categories
Create, edit, analyze, or convert Excel spreadsheets (.xlsx, .xlsm) where the workbook file is the primary deliverable. XLSX is an agent skill from zzhonglei/GeoCode-Release.xlsm) where the workbook file is the primary deliverable.
XLSX fits situations like: financial models; multi-sheet workbooks; tabular cleanup exported to Excel; wants spreadsheet output.
Run `npx skills add zzhonglei/GeoCode-Release --skill xlsx -a claude-code`. Or copy the skill folder (contributions/xlsx/skill in zzhonglei/GeoCode-Release) into .claude/skills/xlsx in your project. Claude Code loads it when a task matches its description.
Run `npx skills add zzhonglei/GeoCode-Release --skill xlsx -a codex`. Or copy the skill folder (contributions/xlsx/skill in zzhonglei/GeoCode-Release) into .agents/skills/xlsx in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add zzhonglei/GeoCode-Release --skill xlsx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/xlsx, .gemini/skills/xlsx, .github/skills/xlsx and .opencode/skills/xlsx in your project.
Going by SKILL.md and its folder, XLSX needs Python for the scripts in its folder and the command-line tools its instructions call (uv, python and soffice). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires Python 3.8+, LibreOffice (soffice on PATH), and gcc only when Unix sockets are restricted.
SKILL.md names 1 domain. As links in the text: openpyxl.readthedocs.io. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
XLSX is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with XLSX: XLSX (rvdbreemen/OTGW-firmware, 207 stars), XLSX (K-Dense-AI/claude-scientific-writer, 2.4k stars), Spreadsheet Ops (ericrisco/rsc-harness, 180 stars) and Instrument Data To Allotrope (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
zzhonglei (a GitHub user) maintains it in zzhonglei/GeoCode-Release, which has 189 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 4, 2026.
Source: zzhonglei/GeoCode-Release on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.