Data & Analysis xlsxopenpyxlcsvtsvexcel-formulasspreadsheet-chartspython

DeepTutor xlsx Skill

Lets an agent read, create, and edit Excel workbooks and CSV/TSV tables — data, formulas, styles, charts, and multi-sheet files.

FollowSkills review · FSRS-2.0
Recommended
60/ 100 5-point scale 3.0 / 5
1 2 3 4 5 6
1Trust18 / 25 · 3.6/5

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).

2Reliability9 / 20 · 2.3/5

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.

3Adaptability12 / 15 · 4.0/5

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.

4Convention11 / 15 · 3.7/5

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.

5Effectiveness6 / 15 · 2.0/5

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.

6Verifiability4 / 10 · 2.0/5

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.

Evidence confidence:Low Reviewed Sep 09, 2026 Reviewed revision 7a96bba1ae03
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • 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.
Review evidence [1][2][3][4][5][6][7][8]
See the full review method →

What does this skill do, and when should you use it?

This is the built-in xlsx skill from the DeepTutor repository (deeptutor/skills/builtin/xlsx/SKILL.md), instructing the model to read, create, and edit .xlsx/.xlsm files with Python's openpyxl library, plus bulk .csv/.tsv handling. It covers cells, formulas, styles, merged cells, multi-sheet workbooks, number formats, and charts, and it foregrounds the critical gotcha that openpyxl writes but never computes formulas. The skill runs inside a shell-capable sandbox via the exec tool, producing ready-to-deliver workbook files. It is one of 6 built-in skills bundled with DeepTutor, an open-source (Apache-2.0) agent-native tutoring platform.

The skill is a SKILL.md playbook that directs the model to: stream-read large workbooks with openpyxl's load_workbook, or read cached formula results with data_only=True; create workbooks from scratch with headers, data, styles (fonts, fills, alignment, number formats), freeze panes, and extra sheets, validating the saved file immediately via load_workbook and a zipfile integrity check; edit existing files while preserving formatting, never round-tripping through pandas; stream large exports in write-only mode; build bar/line/pie/scatter charts via openpyxl.chart; convert and clean messy CSV/TSV with the csv module; and handle the formula-never-computed problem with two strategies — compute values in Python and write static numbers, or write live formulas and, when soffice is available, recalculate via LibreOffice; finally, reload the output and scan for #REF!, #DIV/0!, and other error strings to verify cleanliness.

  1. An educator or researcher with a messy Excel grade sheet that needs cleaning, new columns, and summary formulas before handoff
  2. An analyst given a multi-sheet .xlsx data source who wants to extract and analyze data without breaking existing formatting
  3. Building a report workbook from scratch with styles, frozen headers, and charts
  4. Bulk CSV/TSV exports where memory-friendly streaming writes matter
  5. A live financial or statistical model where formulas must stay intact and recalculate when the user later edits in Excel

What are this skill's strengths and limitations?

Pros
  • Explicitly calls out and solves the openpyxl 'writes formulas, never computes them' gotcha with two clear strategies, so default output is correct immediately
  • Covers the full read/create/edit/chart/CSV pipeline and requires immediate post-save validation plus formula-error scanning
  • Emphasizes preserving existing formatting on edits, avoiding style-destroying pandas round-trips
  • openpyxl is declared available in every supported DeepTutor installation — no extra dependency to install
Limitations
  • Requires a sandbox with Python code execution; unusable in environments without shell access
  • openpyxl has no formula engine: cached values in formula-bearing files stay blank until Excel opens them, and formulas can't be pre-verified without LibreOffice
  • Inserting/deleting rows or columns does not rewrite formulas referencing shifted cells — they must be re-pointed manually
  • Explicitly out of scope: Google Sheets API and Word/PDF/script outputs
  • No automated test suite ships with the skill; verification relies on runtime checks in the generated code

How do you install this skill?

This is a built-in skill shipped with the DeepTutor repository — no separate install is needed. Full platform install: pip install -U deeptutor, then deeptutor init and deeptutor start (requires Python 3.11+ and Node.js 20+); alternatively clone https://github.com/HKUDS/DeepTutor and install from source. To reuse it in another Agent Skills-compatible client, copy the deeptutor/skills/builtin/xlsx/ directory into the client's skills location; the source does not document a standalone install command.

How do you use this skill?

In a DeepTutor conversation, simply make a request where a spreadsheet is the input or deliverable, e.g.: "Read data.xlsx, add a month-over-month growth column, and generate a bar chart." The skill requires the exec/code_execution sandbox tools (the README states these mount by default in local/Docker deployments, and route to a runner sidecar in docker-compose). If the sandbox_allow_subprocess setting is disabled, office skills can no longer produce files. On trigger, the model writes and runs an openpyxl Python script, then hands back a download URL.

How does this skill compare with similar options?

Within the DeepTutor ecosystem it complements the sibling docx/pdf/pptx built-in skills (for Word, PDF, and PowerPoint deliverables); the skill itself explicitly excludes Google Sheets API and office-document outputs, so users should pick the matching skill by deliverable type.

FAQ

Why is the value blank after I ask the skill to write a =SUM formula?
openpyxl stores the formula string but never computes it. The skill offers two paths: write pre-computed static numbers if correct values suffice, or write live formulas and recalculate via LibreOffice (soffice) when available — otherwise the values appear only after the user opens the file in Excel.
What permissions or security does the skill need?
It needs shell/code-execution in the sandbox (frontmatter declares requires sandbox: shell). The README notes a restricted subprocess sandbox is enabled by default and can be disabled via sandbox_allow_subprocess — at the cost of office skills no longer producing files.
Which file formats does it support?
It supports .xlsx and .xlsm workbooks (multi-sheet, formulas, styles, merged cells, charts) and bulk .csv/.tsv tables. It does not cover Google Sheets API or Word/PDF/script outputs.
Can I use it outside the DeepTutor platform?
The skill follows the open Agent Skills format (SKILL.md with YAML frontmatter) with no platform-exclusive mechanisms, so any compatible client offering shell/filesystem access can in principle run it — but you must ensure openpyxl is available yourself.

More skills from this repository

All from HKUDS/DeepTutor

Related skills