XLSX
NousResearch/hermes-agent
Create, read, edit Excel .xlsx workbooks and CSVs. An agent skill from NousResearch/hermes-agent.
Unmerge merged cells in openpyxl worksheets before writing values to avoid AttributeError
$ npx skills add HKUDS/OpenSpace --skill excel-unmerge-before-write -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HKUDS/OpenSpace excel-unmerge-before-write --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/HKUDS/OpenSpace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/gdpval/skills/excel-unmerge-before-write .claude/skills/excel-unmerge-before-write && 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 "excel-unmerge-before-write" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/excel-unmerge-before-write into .claude/skills/excel-unmerge-before-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excel-unmerge-before-write", 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/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/excel-unmerge-before-writeType 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 HKUDS/OpenSpace --skill excel-unmerge-before-write -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HKUDS/OpenSpace excel-unmerge-before-write --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .agents/skills && cp -r skills-src/benchmarks/gdpval/skills/excel-unmerge-before-write .agents/skills/excel-unmerge-before-write && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "excel-unmerge-before-write" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/excel-unmerge-before-write into .agents/skills/excel-unmerge-before-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excel-unmerge-before-write", 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 HKUDS/OpenSpace --skill excel-unmerge-before-write -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HKUDS/OpenSpace excel-unmerge-before-write --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/benchmarks/gdpval/skills/excel-unmerge-before-write .cursor/skills/excel-unmerge-before-write && 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 "excel-unmerge-before-write" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/excel-unmerge-before-write into .cursor/skills/excel-unmerge-before-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excel-unmerge-before-write", 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/HKUDS/OpenSpace.git --path benchmarks/gdpval/skills/excel-unmerge-before-write--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 HKUDS/OpenSpace --skill excel-unmerge-before-write -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HKUDS/OpenSpace excel-unmerge-before-write --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/benchmarks/gdpval/skills/excel-unmerge-before-write .gemini/skills/excel-unmerge-before-write && 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 "excel-unmerge-before-write" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/excel-unmerge-before-write into .gemini/skills/excel-unmerge-before-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excel-unmerge-before-write", 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 HKUDS/OpenSpace excel-unmerge-before-writeInstalls 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 HKUDS/OpenSpace --skill excel-unmerge-before-write -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .github/skills && cp -r skills-src/benchmarks/gdpval/skills/excel-unmerge-before-write .github/skills/excel-unmerge-before-write && 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 "excel-unmerge-before-write" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/excel-unmerge-before-write into .github/skills/excel-unmerge-before-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excel-unmerge-before-write", 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 HKUDS/OpenSpace --skill excel-unmerge-before-write -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HKUDS/OpenSpace excel-unmerge-before-write --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HKUDS/OpenSpace.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/benchmarks/gdpval/skills/excel-unmerge-before-write .opencode/skills/excel-unmerge-before-write && 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 "excel-unmerge-before-write" agent skill from https://github.com/HKUDS/OpenSpace/tree/main/benchmarks/gdpval/skills/excel-unmerge-before-write into .opencode/skills/excel-unmerge-before-write/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excel-unmerge-before-write", 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.
excel-unmerge-before-writeUnmerge merged cells in openpyxl worksheets before writing values to avoid AttributeError
Excel Unmerge Before Write is an agent skill from HKUDS/OpenSpace. Unmerge merged cells in openpyxl worksheets before writing values to avoid AttributeError
Its SKILL.md is about 820 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 and Educational content. It works with Microsoft Excel and openpyxl. The repository describes itself as: "OpenSpace: The Skill Management Layer for AI Agents" -- https://open-space.cloud/. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3827781. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Excel Unmerge Before Write loads about 820 tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 222 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); files beside SKILL.md are not scanned.
The full file from HKUDS/OpenSpace at commit 3827781, republished under its MIT licence (© HKUDS). 222 words, ~820 tokens.
.claude/skills/excel-unmerge-before-write/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.When automating Excel file population with openpyxl, merged cells in templates can cause write failures. This skill provides the pattern to safely handle merged ranges before populating data.
AttributeError when trying to write values to certain cellsBefore writing values to cells in a worksheet, identify and unmerge any overlapping ranges:
from openpyxl import load_workbook
# Load the workbook
wb = load_workbook('template.xlsx')
ws = wb.active
# Unmerge specific ranges before writing
ws.unmerge_cells('A46:C46')
ws.unmerge_cells('E46:F46')
ws.unmerge_cells('I46:K46')
# Now safely write values
ws['A46'] = 'Value 1'
ws['E46'] = 'Value 2'
ws['I46'] = 'Value 3'
wb.save('output.xlsx')Identify merged ranges in your target worksheet:
print(ws.merged_cells.ranges)Unmerge relevant ranges before writing any data to those areas:
for merged_range in ws.merged_cells.ranges:
# Optionally filter by area if you only need specific ranges
ws.unmerge_cells(str(merged_range))Write your data to the now-unmerged cells:
ws.cell(row=46, column=1, value='Your data')Save the workbook:
wb.save('output.xlsx')If your workbook has multiple sheets with merged cells:
for sheet_name in wb.sheetnames:
ws = wb[sheet_name]
for merged_range in list(ws.merged_cells.ranges):
ws.unmerge_cells(str(merged_range))| Error | Cause | Solution |
|---|---|---|
AttributeError on cell write | Writing to merged cell | Call unmerge_cells() first |
KeyError on range | Invalid range string | Use exact range format like 'A1:B2' |
| Data overwrites neighbors | Unmerged too broadly | Unmerge only needed ranges |
unmerge_cells() immediately after loading the worksheet, before any write operationsws.merged_cells.ranges before unmerging if you need to know what was mergedfrom openpyxl import load_workbook
def populate_excel_template(template_path, output_path, data_dict):
"""Populate an Excel template, handling merged cells safely."""
wb = load_workbook(template_path)
ws = wb.active
# Unmerge all cells that might conflict with data writes
for merged_range in list(ws.merged_cells.ranges):
ws.unmerge_cells(str(merged_range))
# Populate data
for cell_ref, value in data_dict.items():
ws[cell_ref] = value
wb.save(output_path)
return output_path© HKUDS, 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 1 other file in benchmarks/gdpval/skills/excel-unmerge-before-write of HKUDS/OpenSpace.
Open the folder on GitHubat commit 3827781
Excel Unmerge Before Write 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 |
|---|---|---|---|---|---|---|
| Excel Unmerge Before Write this skillHKUDS/OpenSpace | 7.8k | — | ~820 | Automated safety check: Pass | MIT | |
| XLSXNousResearch/hermes-agent | 252k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Z Md Exceltjxj/z-skills | 548 | — | ~728 | Automated safety check: Pass | None | |
| Sn Da Large File AnalysisMichaelYang-lyx/AIDABench | 111 | 1 repos | ~3.1k | Automated safety check: Pass | None | |
| XLSXprapaa-ai/agav | 168 | — | ~486 | Automated safety check: Pass | Apache-2.0 | |
| XLSXjjyaoao/HelloAgents | 3.2k | — | ~5k | Automated safety check: Pass | Proprietary |
NousResearch/hermes-agent
Create, read, edit Excel .xlsx workbooks and CSVs. An agent skill from NousResearch/hermes-agent.
tjxj/z-skills
Extract all Markdown tables from a .md file and export to Excel (.xlsx).
MichaelYang-lyx/AIDABench
万行以上 Excel 数据集的高性能分析引擎。提供 openpyxl readonly 流式读取(iterrows 支持 10 万行以上)、Parquet 转换加速、内存优化、分块处理和大文件写入模式。遇到以下任一情况就主动使用本 skill:①数据行数 ≥ 10k(由 sn-da-excel-workflow 的行数评估步骤触发);②用户出现触发词:大文件 / 大数据量 / 性能优化 /…
prapaa-ai/agav
Create, read, and edit Excel .xlsx spreadsheets and CSV files
jjyaoao/HelloAgents
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization.
ginlix-ai/LangAlpha
Excel workbooks with live formulas: build or edit .xlsx models with openpyxl, recalculate with IronCalc or LibreOffice, audit conventions, profile messy uploads, render for review
HKUDS/OpenSpace
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.
HKUDS/OpenSpace
Handle cascading data retrieval tool failures by falling back to embedded knowledge generation
HKUDS/OpenSpace
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.
HKUDS/OpenSpace
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.
HKUDS/OpenSpace
Fallback ladder for failed sandboxed code runs, plus the habit of fixing the working directory first so generated files land in the right place.
HKUDS/OpenSpace
Fallback workflow for executing Python code when executecodesandbox fails repeatedly
Works with
Categories
Unmerge merged cells in openpyxl worksheets before writing values to avoid AttributeError. Excel Unmerge Before Write is an agent skill from HKUDS/OpenSpace.
Excel Unmerge Before Write fits situations like: tasks that involve Excel spreadsheets; tasks that involve Educational content.
Run `npx skills add HKUDS/OpenSpace --skill excel-unmerge-before-write -a claude-code`. Or copy the skill folder (benchmarks/gdpval/skills/excel-unmerge-before-write in HKUDS/OpenSpace) into .claude/skills/excel-unmerge-before-write in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HKUDS/OpenSpace --skill excel-unmerge-before-write -a codex`. Or copy the skill folder (benchmarks/gdpval/skills/excel-unmerge-before-write in HKUDS/OpenSpace) into .agents/skills/excel-unmerge-before-write 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 HKUDS/OpenSpace --skill excel-unmerge-before-write -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/excel-unmerge-before-write, .gemini/skills/excel-unmerge-before-write, .github/skills/excel-unmerge-before-write and .opencode/skills/excel-unmerge-before-write in your project.
SKILL.md names no scripts, command-line tools or credentials: Excel Unmerge Before Write is instructions for the agent only. Our summary lists: Python 3.
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.
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.
Excel Unmerge Before Write is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 820 tokens (SKILL.md is roughly 3.3k 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 Excel Unmerge Before Write: XLSX (NousResearch/hermes-agent, 252k stars), Z Md Excel (tjxj/z-skills, 548 stars), Sn Da Large File Analysis (MichaelYang-lyx/AIDABench, 111 stars) and XLSX (prapaa-ai/agav, 168 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HKUDS (a GitHub organization) maintains it in HKUDS/OpenSpace, which has 7,754 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.