Chalk Labs
Need help deploying xlsx?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/sairam-muppalla-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: spreadsheets, writing, productivity
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
- Runs as
- Python package
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, edit Excel .xlsx workbooks and CSVs.
- License
- MIT
- Instructions
- 184 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (11)
- LICENSE
- SKILL.md
- restructuring.md · references/
- csv_to_xlsx.py · scripts/
- xlsx_create.py · scripts/
- xlsx_edit.py · scripts/
- xlsx_read.py · scripts/
- xlsx_recalc.py · scripts/
- xlsx_restructure.py · scripts/
- xlsx_to_csv.py · scripts/
- test_xlsx_skill.py · tests/
SKILL.md (first lines)
# Xlsx Skill
Work with Excel .xlsx workbooks using Python and openpyxl: build styled
multi-sheet workbooks with formulas and charts, inspect or dump existing
files, edit cells and structure, and convert to/from CSV. All helper
scripts are argparse CLIs that print JSON and use explicit UTF-8 I/O.
## When to Use
- Creating .xlsx reports: multiple sheets, number formats, styling,
merged cells, freeze panes, autofilter, conditional formatting,
charts, data-validation dropdowns, native Excel tables, defined
names, hyperlinks, cell notes, sheet protection.
- Reading a workbook: sheet inventory, dumping data as JSON or CSV,
listing formulas vs cached values, notes, defined names, tables.
- Editing existing files: set cells, append rows, insert/delete
rows/columns (reference-aware via `xlsx_restructure.py`),
copy/rename sheets, tables, names, notes, protection.
- Recalculating formulas headlessly via LibreOffice
(`xlsx_recalc.py`).
- CSV interop with type inference and non-UTF-8 encodings.
- Not for the legacy .xls binary format (use LibreOffice to convert
first: `soffice --headless --convert-to xlsx old.xls`).
## Prerequisites
- Python 3.10+ with `openpyxl` (`pip install openpyxl`). No other
third-party packages are needed; everything else is stdlib.
- Optional: LibreOffice (`soffice`) for headless recalculation or
format conversion.
## How to Run
Run the helper scripts with the `terminal` tool from this skill's
`scripts/` directory (every script supports `--help`):
```bash
python scripts/xlsx_create.py spec.json report.xlsx # build from JSON spec
python scripts/xlsx_read.py report.xlsx --sheets # inventory
python scripts/xlsx_read.py report.xlsx --json --sheet Data
python scripts/xlsx_read.py report.xlsx --formulas
python scripts/xlsx_edit.py report.xlsx --sheet Data --set B2=42 --recalc
python scripts/xlsx_restructure.py report.xlsx --sheet Data --insert-rows 3:2
python scripts/xlsx_recalc.py report.xlsx
python scripts/csv_to_xlsx.py data.csv out.xlsx --encoding utf-8
python scripts/xlsx_to_csv.py report.xlsx out.csv --sheet Data
```
Author the JSON spec with `write_file`, inspect script JSON output with
`read_file` or directly from stdout.
## Quick Reference
| Task | Command |
|---|---|
| Create workbook from spec | `xlsx_create.py spec.json out.xlsx` |
| Sheet names + dimensions | `xlsx_read.py f.xlsx --sheets` |
| Dump sheet as JSON | `xlsx_read.py f.xlsx --json --sheet S` |
| Dump sheet as CSV | `xlsx_read.py f.xlsx --csv --out d.csv` |
| List formulas + cached values | `xlsx_read.py f.xlsx --formulas` |
| Set a cell / formula | `xlsx_edit.py f.xlsx --set "A1==SUM(B:B)"` |
| Append a row | `xlsx_edit.py f.xlsx --append '[1,"x",true]'` |
| Insert 2 rows, refs NOT shifted | `xlsx_edit.py f.xlsx --insert-rows 3:2` |
| Insert 2 rows, refs shifted | `xlsx_restructure.py f.xlsx --insert-rows 3:2` |
| Delete a column, refs shifted | `xlsx_restructure.py f.xlsx --delete-cols B` |
| Create a native table | `xlsx_edit.py f.xlsx --add-table Sales:A1:C9` |
| Append inside a table | `--table-append 'Sales=["West",5]'` |
| List tables | `xlsx_edit.py f.xlsx --list-tables` |
| Defined names | `--define-name "Rates='Data'!$B$2:$B$9"` / `--delete-name Rates` / `xlsx_read.py f.xlsx --names` |
| Hyperlink | `--hyperlink "A1=https://example.com|Docs"` |
| Cell note | `--note "B2=Check this|Reviewer"`; read via `xlsx_read.py f.xlsx --notes` |
| Protect sheet (see Pitfalls) | `--protect your-password --unlock B2:B9` |
| Recalculate via LibreOffice | `xlsx_recalc.py f.xlsx` |
| Copy / rename sheet | `--copy-sheet Src:New --rename-sheet Old:New` |
| Force recalc on open | `xlsx_edit.py f.xlsx --recalc` |
| CSV -> styled xlsx | `csv_to_xlsx.py in.csv out.xlsx` |
| xlsx -> CSV | `xlsx_to_csv.py f.xlsx out.csv --encoding utf-8` |
## Procedure
1. **Create**: write a JSON spec (schema documented in
`xlsx_create.py --help` and its docstring). Each sheet supports
`rows` (scalars or styled cell objects), sparse `cells` overrides,
`column_widths`, `row_heights`, `merges`, `freeze_panes`,
`autofilter`, `conditional_formats` (cell_is rules and color
scales), `charts` (bar/line/pie from cell ranges),
`validations` (list dropdowns), `tables` (native Excel tables with
a style name), and `protection`. Workbook-level `defined_names`
maps names to refs. Cell objects also take `hyperlink` and `note`.
Typed values: JSON numbers/bools
pass through; dates use `{"value": "2026-01-31", "type": "date"}`.
Number formats are Excel format strings: currency `"$#,##0.00"`,
percent `"0.0%"`, date `"yyyy-mm-dd"`.
2. **Formulas**: set with `"formula": "SUM(B2:B9)"` in the spec or
`--set "C1==SUM(A:A)"` in the editor. When writing formulas, add
`"full_calc_on_load": true` (spec) or `--recalc` (editor); this sets
the workbook's `fullCalcOnLoad` flag so Excel/LibreOffice recompute
everything on open. openpyxl itself NEVER evaluates formulas.
3. **Read**: `--sheets` for inventory (names, dimensions, merged
ranges, chart count, tables, protection, defined names),
`--json`/`--csv` for data, `--formulas` to
pair each formula string with its cached result, `--notes` for
cell comments, `--names` for defined names. Cached results
exist only if the file was last saved by a real spreadsheet app;
files fresh from openpyxl return `null` there. To materialize
results headlessly run `xlsx_recalc.py file.xlsx` (uses
LibreOffice; prints `{"recalculated": false, ...}` and exits 0
when `soffice` is absent), then reload with `--data-only`.
4. **Edit**: `xlsx_edit.py` applies renames/copies first, then
structural row/column changes, then `--set`/`--append`. It edits in
place unless `--out` is given — copy the file first if you need the
original.
5. **Restructure**: for insert/delete on sheets that have formulas,
merges, tables, or filters, use `xlsx_restructure.py` instead of
`xlsx_edit.py`. It rewrites formula references on ALL sheets
(absolute `$` refs, ranges, cross-sheet refs), shifts merges,
autofilter, freeze panes, validation and conditional-format
ranges, table refs, defined names, and row/column dimensions, then
prints a JSON report including a `not_shifted` list. Rules andFrom SaiRam-Muppalla/hermes-skills-backup, MIT.
More from SaiRam-Muppalla/hermes-skills-backup
- 0.570score
pulse
SaiRam-Muppalla
Multi-source recency research skill that takes the pulse of any topic across Reddit, Hacker News, the open web, and optionally X/Twitter within a configurable…
SkillAFreshness: AClaude Code +9 - 0.570score
syllabus
SaiRam-Muppalla
Generates a curated supplementary reading list from any course syllabus using Consensus academic search.
SkillAFreshness: AClaude Code +9 - 0.566score
litreview
SaiRam-Muppalla
Academic literature orientation skill that searches papers via free keyless APIs (PubMed E-utilities + OpenAlex) by default — with the Consensus MCP as an…
SkillAFreshness: AClaude Code +9 - 0.565score
deep-research
SaiRam-Muppalla
Run a disciplined, multi-source research investigation for a high-stakes question or decision — fan-out web search across many channels, parallel sub-agents…
SkillAFreshness: AClaude Code +9 - 0.565score
research
SaiRam-Muppalla
Default entry point for any research request — a hybrid router that classifies the question deterministically and either delegates to a specialist research…
SkillAFreshness: AClaude Code +9 - 0.565score
prospecting
SaiRam-Muppalla
When the user wants to find, qualify, and build a list of prospects to reach out to — across B2B SaaS, general B2B, or local small businesses.
SkillAFreshness: AClaude Code +9 - 0.560score
pdf
SaiRam-Muppalla
PDF files: create, read, merge, fill, OCR, edit text.
SkillAFreshness: AClaude Code +9 - 0.560score
powerpoint
SaiRam-Muppalla
Create, read, edit .pptx decks with python-pptx.
SkillAFreshness: AClaude Code +9 - 0.560score
grounded-citations
SaiRam-Muppalla
Ground answers and documents in cited, verifiable sources.
SkillAFreshness: AClaude Code +9 - 0.550score
mow-curriculum-architect
SaiRam-Muppalla
Use when designing hands-on bootcamps and code labs.
SkillAFreshness: AClaude Code +9 - 0.539score
interview-system-designer
SaiRam-Muppalla
This skill should be used when the user asks to "design interview processes", "create hiring pipelines", "calibrate interview loops", "generate interview…
SkillAFreshness: AClaude Code +9 - 0.536score
research-summarizer
Alireza Rezvani
Structured research summarization agent skill for non-dev users.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 20, 2026 (11 days 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 SaiRam-Muppalla
- 0.570score
pulse
SaiRam-Muppalla
Multi-source recency research skill that takes the pulse of any topic across Reddit, Hacker News, the open web, and optionally X/Twitter within a configurable…
SkillAFreshness: AClaude Code +9 - 0.570score
syllabus
SaiRam-Muppalla
Generates a curated supplementary reading list from any course syllabus using Consensus academic search.
SkillAFreshness: AClaude Code +9 - 0.566score
litreview
SaiRam-Muppalla
Academic literature orientation skill that searches papers via free keyless APIs (PubMed E-utilities + OpenAlex) by default — with the Consensus MCP as an…
SkillAFreshness: AClaude Code +9 - 0.565score
research
SaiRam-Muppalla
Default entry point for any research request — a hybrid router that classifies the question deterministically and either delegates to a specialist research…
SkillAFreshness: AClaude Code +9 - 0.565score
prospecting
SaiRam-Muppalla
When the user wants to find, qualify, and build a list of prospects to reach out to — across B2B SaaS, general B2B, or local small businesses.
SkillAFreshness: AClaude Code +9 - 0.565score
deep-research
SaiRam-Muppalla
Run a disciplined, multi-source research investigation for a high-stakes question or decision — fan-out web search across many channels, parallel sub-agents…
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get xlsx running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
xlsx skill. Agent Mart. https://agentmart.dev/skills/sairam-muppalla-xlsx (last updated 2026-10-24)