What does this skill do, and when should you use it?
This is one of DeepTutor's built-in office skills, teaching the model to handle .xlsx/.xlsm workbooks and .csv/.tsv tables with Python's openpyxl library. It can read, create, or edit workbooks including cell data, formulas, styles, charts, merged cells, and multi-sheet structures. Its core value is turning openpyxl's well-known pitfalls — above all that formulas are written but never computed — into explicit operating rules so the model gets it right in one sandbox run. It requires a code-execution sandbox (enabled by default in every DeepTutor deployment shape), optionally paired with LibreOffice for formula recalculation.
- Reads .xlsx/.xlsm with openpyxl: streaming row-by-row for large files, or data_only=True to fetch formula cached values
- Builds workbooks from scratch: data, formulas, font/fill/alignment styles, number formats, freeze panes, multi-sheet layout, with immediate reopen-and-validate
- Edits existing workbooks while preserving styles, formulas, merged cells, and charts — no lossy pandas round-trip
- Creates BarChart/LineChart/PieChart/ScatterChart and streams large exports via write-only mode
- Converts and cleans .csv/.tsv in bulk, sampling messy input before normalizing only requested rows/columns
- When writing live formulas, recalculates cached values through LibreOffice (soffice) or writes Python-computed static numbers, then scans for #REF!/#DIV/0! error values to verify output
- A data analyst hands over a messy sales CSV and wants the agent to clean headers, drop junk rows, and emit a clean xlsx
- Finance/ops staff need bulk new summary columns, formulas, and thousands separators on a long report while keeping the original template styling
- A teacher or researcher converts experiment data into a multi-sheet Excel deliverable with charts (bar/line/pie)
- Users merging, splitting, or restructuring large workbooks want streaming read/write to avoid memory blowups
- A DeepTutor deployer wants the agent to produce downloadable Excel files in chat (works out of the box with the default sandbox)
- Tasks involving Google Sheets API or Word/PDF/script outputs — the skill description explicitly excludes these
- Deployments without a code-execution sandbox (e.g. host installs with sandbox_allow_subprocess disabled) — office skills cannot produce files there
- Users who need formulas with correct cached values immediately but have no LibreOffice installed — only the static-numbers option or Excel-open recalculation remains
How do you install this skill?
- This is a static source-only review; no skill instructions or code were executed, and all scores carry low confidence.
- Formula-bearing workbooks produced with openpyxl have empty cached values until opened in Excel; downstream tools reading cached values will see blanks — prefer writing computed numbers as the skill advises.
- The recalc path is unavailable without LibreOffice, in which case the skill can only warn the user to reopen the file in Excel.
- Repository tests do not cover this skill path; correctness currently rests on documentation claims alone.
- The publisher is unverified by the FollowSkills registry and treated as unknown; verify the install source before use.
- Shell / CLI
- Local filesystem
Pythonopenpyxlsandbox with code execution (exec tool)LibreOffice (optional, for formula recalculation)
This skill ships inside the DeepTutor repository (deeptutor/skills/builtin/xlsx/SKILL.md) and is installed with the main program — no separate install step. Set up the DeepTutor runtime first:
DeepTutor (PyPI full install)
pip install -U deeptutor
deeptutor init
deeptutor startDeepTutor (from source)
git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
python3 -m venv .venv && source .venv/bin/activate
python -m pip install -e .
deeptutor init
deeptutor startDeepTutor (Docker)
docker run --rm --name deeptutor -p 127.0.0.1:3782:3782 -v deeptutor-data:/app/data ghcr.io/hkuds/deeptutor:latestNote: execution relies on the code-execution sandbox (on by default); setting sandbox_allow_subprocess to false in data/user/settings/system. stops this skill from producing files.
How do you use this skill?
Once installed, send your agent any of these to trigger it:
- Read sales.csv, normalize the headers, drop empty rows, and output a clean sales_clean.xlsx with thousands separators
- Add a percentage-of-total column and a totals row to this budget workbook, keeping the existing fonts and colors
- Turn the experiment data into a two-sheet workbook: a Summary sheet with a frozen header and a bar chart, and a Detail sheet with the raw data
- Open report.xlsx and replace the formula in B10 with the computed number — no formula strings
The skill is a SKILL.md playbook the model reads on demand — any chat request involving Excel/CSV triggers it. The model submits complete Python source through the exec tool (openpyxl), ideally creating, saving, reopening, and validating the workbook in a single call; later calls can revise the same relative filename. Key options: if the deliverable only needs correct values, write Python-computed static numbers; if a live formula model is needed, write real formulas and prefer recalculation via soffice; read computed results with data_only=True, and never save() a workbook loaded that way (formulas are permanently discarded). Finished files come back as download URLs.
What are this skill's strengths and limitations?
- Encodes openpyxl's classic traps (formulas never computed, data_only save destroys formulas, insert_rows doesn't rewrite references) as explicit rules, reducing error rates
- openpyxl is declared in every supported DeepTutor installation — no extra dependency to manage
- Covers the full pipeline: read, create, edit, charts, CSV, raw OOXML, with built-in output verification (ZIP integrity + error-value scan)
- Provides write-only streaming writes and read_only streaming reads for large sheets
- openpyxl has no formula engine: files with formulas have empty cached values until opened in Excel, and recalculation depends on optional LibreOffice (soffice), which not every environment has
- Requires a host-side sandbox running model-generated code; the skill is fully inoperative when sandbox_allow_subprocess=false
- pandas is not guaranteed available in every install (bundled only in the Docker runner), limiting heavier data analysis
- Row/column inserts and deletes do not auto-fix formula references — formula-heavy structural edits still need manual care
How does this skill compare with similar options?
Side by side with related skills; every score comes from the same FSRS standard.
| Skill | FS score | Stars | Last updated | License |
|---|---|---|---|---|
| DeepTutor XLSX Skill this page | 60 · Recommended | ★ 41k | 19d ago | Apache-2.0 |
| xlsx Spreadsheet Skill | 49 · Use with care | ★ 3.1k | 8mo ago | MIT |
| XLSX Spreadsheet Skill ✓ Anthropic · Official | 40 · Not recommended | ★ 181k | 17d ago | — |
| OfficeCLI Data Dashboard Skill | 57 · Use with care | ★ 32k | 14d ago | Apache-2.0 |
| Excel Data Cleaning Assistant ✓ Anthropic · Official | 54 · Use with care | ★ 40k | 1mo ago | Apache-2.0 |
The DeepTutor repository also bundles sibling office skills — docx, pdf, pptx — sharing the same exec/sandbox mechanism but using python-docx, reportlab, and similar libraries; the xlsx skill covers only spreadsheet deliverables. Pick the matching sibling skill for documents or PDFs.
How did FollowSkills review this skill?
Skill declares only sandbox: shell, relies on openpyxl already declared as a dependency, reads/writes within the user workspace via relative paths, makes no network calls, touches no credentials, has no destructive defaults, and explicitly warns against /tmp or desktop installs — data flow is transparent. Deducted for: no independent rollback mechanism (preserving the source file is advice, not enforced), user confirmation delegated to the host rather than specified by the skill, and unverified publisher (not itself a deduction but attribution evidence is limited).
Instructions are self-consistent: the formula-caching gotcha, never saving data_only=True workbooks, manual formula re-pointing after structural shifts are all accurate; output self-verification (error-string scan, zip integrity check) is a plus. Deducted for: static review executed nothing, repository tests (e.g. test_api_endpoints.py) do not cover this skill path, and failure feedback on abnormal input (corrupt/encrypted xlsx) is unevidenced.
Scenarios are clear (read/create/edit xlsx, csv/tsv), the description explicitly excludes Google Sheets API and Word/PDF outputs, non-fit boundaries are stated, and runtime assumptions are concrete (openpyxl declared in every install, pandas must not be assumed). Deducted for: no file-level input/output contract examples, and performance boundaries for very large files get only a passing mention.
Docs are well layered (Runtime → Gotcha → read/create/edit/charts/verify/CSV/OOXML), frontmatter has name/description/requires, the repo carries an Apache-2.0 LICENSE, pyproject packages SKILL.md files as package data, and releases are active. Deducted for: the skill itself has no version number, changelog, or known-limitations list; maintenance responsibility is only inferable from the repo as a whole.
Guidance targets real pain points (formula cached values, format-preserving edits, degradation path without LibreOffice), and the recommended alternative (write computed numbers) has clear marginal value. Deducted for: static review cannot confirm outputs are directly usable; effectiveness rests on the written plausibility of the snippets with no representative output verified.
Technical claims (openpyxl does not compute formulas, saving data_only workbooks discards formulas — labeled 'verified') can be cross-checked against public library behavior; snippets are independently runnable; pyproject confirms openpyxl>=3.1.0 is a declared dependency. Deducted for: 'verified' is author self-attestation, there is no test or CI coverage of this skill path, and the third-party-execution-evidence bar for exceeding the static cap of 5 is not met.
Open a dimension to read why it scored that way
Evidence confidence:Low — Mostly static review, author material or a limited demo; useful for discovery, not high-risk decisions.
See the full review method →