Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/haralderoessler-xlsx
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, spreadsheets, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/xlsx
What's inside
- Skill name
xlsx- Description
- Create, read, or edit Excel / CSV / TSV spreadsheets. Use when the deliverable is a spreadsheet (.xlsx, .xlsm, .csv, .tsv), when the user asks to add columns, compute formulas, format cells, clean messy tabular data, or convert between tabular formats. Triggers whenever the user references a spreadsheet by name or says Excel, xlsx, or spreadsheet. Do NOT use when the deliverable is a Word document, a PDF report, or a standalone script — even if the input happens to be tabular.
- License
- MIT
- Instructions
- 129 lines in SKILL.md · view on GitHub
Files (2)
- CLAUDE.md
- SKILL.md
SKILL.md (first lines)
# xlsx — Spreadsheets
Tools in the runtime:
- `openpyxl` — read/write .xlsx with full control over cells, formulas, styles
- `pandas` — bulk data manipulation, fast read of large sheets, CSV ↔ xlsx
- `soffice` (LibreOffice headless) — convert formats, recalculate formulas
Default to `pandas` for data-shaped tasks. Drop down to `openpyxl` when you need formulas, formatting, merged cells, or multi-sheet workbooks.
## Read
```python
import pandas as pd
df = pd.read_excel("in.xlsx") # first sheet
sheets = pd.read_excel("in.xlsx", sheet_name=None) # all as dict
```
For formula authoring, preserve strings — don't evaluate them:
```python
from openpyxl import load_workbook
wb = load_workbook("in.xlsx") # formulas kept as strings
ws = wb.active
print(ws["B2"].value) # e.g. "=SUM(A2:A9)"
```
To read the *calculated* values that Excel/LibreOffice last wrote:
```python
wb = load_workbook("in.xlsx", data_only=True)
```
## Create
```python
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill
wb = Workbook()
ws = wb.active
ws.title = "Summary"
ws.append(["Region", "Revenue", "Growth"])
for row in [("EMEA", 1200000, 0.08), ("APAC", 900000, 0.14)]:
ws.append(row)
# formulas, not hard-coded results
ws["B5"] = "=SUM(B2:B3)"
ws["C5"] = "=AVERAGE(C2:C3)"
# number formats
for cell in ws["B2":"B5"][0]:
cell.number_format = '"€"#,##0'
for cell in ws["C2":"C5"][0]:
cell.number_format = "0.0%"
# header row
for cell in ws[1]:
cell.font = Font(bold=True)
cell.fill = PatternFill("solid", fgColor="DDDDDD")
ws.column_dimensions["A"].width = 12
wb.save("out.xlsx")
```
**Always prefer formulas over hard-coded results**. If the user changes an input, a formula-driven sheet updates; a Python-computed one lies.
## Recalculate formulas
Files written by openpyxl contain formula strings but no cached results, so opening in Excel triggers a recalc on first render. Some consumers (ReportLab tables, some BI tools, email previews) only read the cached values. To force a recalc and write the results back:
```bash
soffice --headless --calc --convert-to xlsx --outdir /tmp out.xlsx
mv /tmp/out.xlsx out.xlsx
```
LibreOffice evaluates every formula during the round-trip and stores the results. A quick post-run check for formula errors:
```python
from openpyxl import load_workbook
wb = load_workbook("out.xlsx", data_only=True)
errors = []
for ws in wb.worksheets:
for row in ws.iter_rows():
for cell in row:
if isinstance(cell.value, str) and cell.value.startswith("#") and cell.value.endswith(("!", "?", "0", "A")):
errors.append((ws.title, cell.coordinate, cell.value))
print(errors or "no formula errors")
```
## CSV / TSV
```python
import pandas as pd
df = pd.read_csv("in.csv") # or sep="\t" for tsv
df.to_excel("out.xlsx", index=False)
```
For messy inputs (misplaced headers, junk rows), inspect first:
```python
head = pd.read_csv("in.csv", header=None, nrows=20)
print(head)
# then pass header=<real header row> and skiprows= as needed
```
## Edit in place
```python
from openpyxl import load_workbook
wb = load_workbook("in.xlsx")
ws = wb["Sheet1"]
ws.insert_rows(2) # blank row at top
ws["A2"] = "TOTAL"
ws["B2"] = "=SUM(B3:B999)"
wb.save("out.xlsx")
```
Never load with `data_only=True` and save — that strips formulas permanently.From HaraldeRoessler/ownify-microclaw, MIT.
More from HaraldeRoessler/ownify-microclaw
- 0.474score
yahoo-finance
HaraldeRoessler
Look up real-time stock quotes, historical prices, company fundamentals, dividends, splits, and options chains from Yahoo Finance.
SkillCFreshness: CClaude Code +9 - 0.474score
ownify-memory-enhanced
HaraldeRoessler
Use whenever you interact with the ownify memory system (MemPalace).
SkillCFreshness: CClaude Code +9 - 0.474score
sendgrid
HaraldeRoessler
Send transactional email through SendGrid.
SkillCFreshness: CClaude Code +9 - 0.474score
skill-creator
HaraldeRoessler
Help the user write a new MicroClaw skill or revise an existing one.
SkillCFreshness: CClaude Code +9 - 0.474score
weather
HaraldeRoessler
Get current weather conditions and short forecasts using `wttr.in` (no API key required).
SkillCFreshness: CClaude Code +9 - 0.474score
x-twitter
HaraldeRoessler
Read timeline + mentions, post tweets, reply, like, retweet, and search on X (formerly Twitter).
SkillCFreshness: CClaude Code +9 - 0.474score
docx
HaraldeRoessler
Create, read, or edit Microsoft Word documents (.docx).
SkillCFreshness: CClaude Code +9 - 0.474score
find-skills
HaraldeRoessler
Find reusable skills from the vercel-labs/skills registry by task keywords, evaluate fit, and suggest how to install or adapt them for MicroClaw.
SkillCFreshness: CClaude Code +9 - 0.474score
imap-mail
HaraldeRoessler
Read, search, triage, and move email in any IMAP mailbox — Gmail, iCloud, Proton Bridge, Fastmail, self-hosted, anything speaking IMAP.
SkillCFreshness: CClaude Code +9 - 0.474score
linkedin
HaraldeRoessler
Post updates and articles, fetch your own profile, and interact with LinkedIn via the v2 REST API.
SkillCFreshness: CClaude Code +9 - 0.474score
notion
HaraldeRoessler
Query databases, create + update pages, search, and append content blocks in a Notion workspace.
SkillCFreshness: CClaude Code +9 - 0.471score
pdf
HaraldeRoessler
Work with PDF files — read text, extract tables, merge, split, rotate pages, add watermarks, create new PDFs, or render pages to images.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- May 2, 2026 (6 months ago)
- Last release
- Jun 7, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from HaraldeRoessler
- 0.474score
notion
HaraldeRoessler
Query databases, create + update pages, search, and append content blocks in a Notion workspace.
SkillCFreshness: CClaude Code +9 - 0.474score
docx
HaraldeRoessler
Create, read, or edit Microsoft Word documents (.docx).
SkillCFreshness: CClaude Code +9 - 0.474score
find-skills
HaraldeRoessler
Find reusable skills from the vercel-labs/skills registry by task keywords, evaluate fit, and suggest how to install or adapt them for MicroClaw.
SkillCFreshness: CClaude Code +9 - 0.474score
linkedin
HaraldeRoessler
Post updates and articles, fetch your own profile, and interact with LinkedIn via the v2 REST API.
SkillCFreshness: CClaude Code +9 - 0.474score
imap-mail
HaraldeRoessler
Read, search, triage, and move email in any IMAP mailbox — Gmail, iCloud, Proton Bridge, Fastmail, self-hosted, anything speaking IMAP.
SkillCFreshness: CClaude Code +9 - 0.474score
ownify-memory-enhanced
HaraldeRoessler
Use whenever you interact with the ownify memory system (MemPalace).
SkillCFreshness: CClaude Code +9
Cite this page
xlsx skill. Agent Mart. https://agentmart.dev/skills/haralderoessler-xlsx (last updated 2026-10-24)