miyazawai/dsh-melody-launcher-overture/officecli-xlsx
Claude Code and agent skill by miyazawai/dsh-melody-launcher-overture
- community
Checking that the SKILL.md file is still in the repository.
Use this skill any time a .xlsx file is involved -- as input, output, or both. This includes: creating spreadsheets, financial models, dashboards, or trackers; reading, parsing, or extracting data from any .xlsx file; editing, modifying, or updating existing workbooks; working with formulas, charts, pivot tables, or templates; importing CSV/TSV data into Excel format. Trigger whenever the user mentions 'spreadsheet', 'workbook', 'Excel', 'financial model', 'tracker', 'dashboard', or references a .xlsx/.csv filename.
Install
npx vskill@latest install miyazawai/dsh-melody-launcher-overture/officecli-xlsxSKILL.md
The same SKILL.md was published earlier as iofficeai/officecli/officecli-xlsx.
OfficeCLI XLSX Skill
Setup
If officecli is missing:
- macOS / Linux:
curl -fsSL https://d.officecli.ai/install.sh | bash - Windows (PowerShell):
irm https://d.officecli.ai/install.ps1 | iex
Verify with officecli --version (open a new terminal if PATH hasn't picked up). If install fails, download a binary from https://github.com/iOfficeAI/OfficeCLI/releases.
⚠️ Help-First Rule
This skill teaches what good xlsx looks like, not every command flag. When a property name, enum value, or alias is uncertain, consult help BEFORE guessing.
Help reflects the installed CLI version. When this skill and help disagree, help is authoritative.
Shell & Execution Discipline
Shell quoting (zsh / bash). Excel paths contain [], and number formats contain $. Both are shell metacharacters. Rules:
- ALWAYS quote element paths:
"/Sheet1/row[1]", not/Sheet1/row[1]. - Use single quotes for any prop value containing
$:numFmt='$#,##0'. - For formulas with cross-sheet
!references, usebatchwith a<<'EOF'heredoc (see Known Issues). \nand\tin a prop value ARE interpreted by the CLI —\nis a real in-cell line break (pair with--prop wrapText=true),\ta tab — consistent across xlsx / docx / pptx. Double them (\\n) for a literal backslash-n (rarely wanted). ($is the shell layer above — single-quote it.)
Incremental execution. Run commands one at a time and read each exit code. officecli mutates the file on every call; a 50-command script that fails at command 3 will cascade silently. One command → check output → continue.
Requirements for Outputs
Before reaching for a command, know what a good xlsx looks like. These are the deliverable standards every workbook MUST meet.
All Excel files
Zero formula errors. Every delivered workbook MUST have ZERO #REF!, #DIV/0!, #VALUE!, #NAME?, #N/A. No exceptions — guard denominators with IFERROR or IF(x=0,...).
Formulas, not hardcoded values. If a number can be computed from other cells, it is a formula. Hardcoding 5000 where =SUM(B2:B9) belongs breaks the contract that the workbook stays live when inputs change. This is the single most important rule in this skill.
Professional font. Use one consistent, professional font across the workbook (Arial / Calibri / Times New Roman). Don't mix four fonts because one sheet came from CSV.
Explicit widths. There is no auto-fit. Any column the user will read MUST have width set — default 8.43 chars clips everything. Sensible starts: labels 20-25, numbers 12-15, dates 12, short codes 8-10.
Preserve existing templates. When editing a file that already has a look, match it. Existing conventions override these guidelines.
Visual delivery floor (applies to EVERY workbook)
Before you declare done, run officecli view "$FILE" html and Read the returned HTML path to confirm all of these:
- No `###` in any cell.
###means a column is too narrow for its widest value. Every column the user reads needs an explicitwidth.###in a delivered file is unfinished work, never "a small visual nit". - No truncated titles. Sheet titles, section headers, long labels must fit. Widen the column or apply
wrapText=trueon the cell. - No placeholder tokens rendered as data.
$fy$24,{var},<TODO>,xxxxmust never appear in a cell, chart title, series name, or legend. These are build-time tokens that escaped replacement. - Pie / doughnut slices have distinct fill colors. If the slices render same-colored, switch to
bar/columnor setcolors=...explicitly. - No empty trailing pages / empty chart anchors.
anchor=D2:J18over empty source cells looks like a broken chart.
If any of the above fails, STOP and fix before declaring done.
Print layout. Any sheet the user may print or send as a board pack needs page setup. Default portrait + no fit-to-page splits wide tables and charts mid-way. Pick the fit mode by sheet shape:
fitToPage=true == 1x1 == fit both axes to one page — correct only when the sheet is already short. 1x0 = fit 1 page wide, unlimited pages tall. Trigger: sheet holds a chart, or > 8 columns, or the user's ask mentions print / board / investor.
Financial models only — skip this section if you are building a template, tracker, CSV import, or operational sheet
Scope: budgets, forecasts, 3-statement models, valuation, any $-heavy analytical workbook. A customer-support tracker or onboarding template does not need this section.
Color coding — industry standard. Five core colors used as a language, not decoration. A reviewer should tell what a cell IS by color alone — before reading the formula.
| Color | Role | Example | |
|---|---|---|---|
Blue text 0000FF | Hardcoded inputs, scenario variables | font.color=0000FF | |
Black text 000000 | ALL formulas and calculations | default | |
Green text 008000 | Cross-sheet links inside this workbook | font.color=008000 | |
Red text FF0000 | Links to external files / workbooks | font.color=FF0000 | |
Yellow fill FFFF00 | Key assumptions needing review | fill=FFFF00 |
A reviewer should tell what a cell IS just by its color — before reading the formula. This is a communication contract, not a cosmetic preference.
Number formatting — standards, not preferences.
- Years are text, not numbers. Format
2026not2,026— usenumFmt="@"or settype=string. - Currency carries its unit in the header (
Revenue ($mm)), not in every cell. - Zeros display as `-`, not
0. Use$#,##0;($#,##0);"-". - Percentages default to one decimal:
0.0%. - Negatives use parentheses:
(1,234)not-1,234. - Valuation multiples use
0.0xformat (EV/EBITDA, P/E, etc.).
Assumptions live in cells, not inside formulas. =B5*(1+$B$6) is correct; =B5*1.05 is a bug. Document each blue hardcoded input with an adjacent source note in the next cell or a cell comment:
Any hardcoded number without a source is an undocumented assumption — a reviewer cannot audit it.
Common Workflow
Six steps. Every non-trivial build follows this shape.
- Open/save lifecycle. Use
officecli open <file>at the start andofficecli save <file>at the end to flush to disk —saveonly writes and leaves the resident warm for follow-up edits; reach forofficecli close <file>only to release the resident on a one-shot handoff. Both are always safe (never error or lose work). For many cells, usebatch: ≤ 50 ops/block recommended; tested up to 80+ ops per block on pure value-set payloads with zero failures. Cross-sheet formula batches are the exception — run those non-resident, single heredoc (see Known Issues). Flush only at the non-officecli boundary: officecli's own reads always see your edits; runsave/closeonly before a non-officecli program reads the file (openpyxl/pandas, Excel, a renderer, delivery). - Create or load.
officecli create "$FILE"(new) orofficecli view "$FILE" outline(existing — get the lay of the land first). - Build incrementally. One command, read the output, continue. After any structural op (new sheet, chart, named range, pivot), run
geton it to confirm shape before stacking more on top. - Format. Column widths, number formats, freeze panes, tab colors, header fills. Formatting is not optional polish — per "Requirements for Outputs" it is part of the deliverable.
- Save, then reckon with the cache.
officecli save <file>writes to disk. Newly-added formulas ship without cached values; when a human opens the file in a spreadsheet app, the app recalculates and populates them. But your downstream `INDEX/MATCH`, `SUMPRODUCT`, or any formula that references an upstream formula will cache whatever the upstream cached at write-time — often `0` or a stale value — and that cached lie survives into non-recalculating readers. After any multi-formula build involving array formulas (SUMPRODUCT,SUMIFSwith dynamic criteria) or cross-sheet chains, re-touch every downstream cell (runsetagain with the same formula) so the engine recomputes its cache from the freshly-cached upstream. ⚠️ Re-touch on cross-sheet chains via resident is unreliable (see Batch / resident caveats) — prefer non-residentsetfor the re-touch pass. Thenofficecli geta few downstream cells and eyeball that theircachedValue=is plausible.validateis safe with a resident open and itself flushes pending edits to disk (same as docx / pptx). - QA — assume there are problems. See the QA section. You are not done when your last command exited 0; you are done after one fix-and-verify cycle finds zero new issues.
Quick Start
Minimal viable xlsx: 3 months of revenue + a total formula + column widths + a currency format. Adapt, don't copy-paste — your file, your data.
Verified: validate returns no errors found, B5 resolves to 135000. This is the shape of every build: open → set cells/formulas → format → close → validate.
CSV / bulk import
Native `import` command (preferred for CSV/TSV). Fastest path; loads a CSV into a sheet in one call. --header sets AutoFilter + freeze pane on row 1. Widths and numFmt still need a follow-up pass (per D-12 in Dashboard skill).
Python + batch fallback — use when you need custom type coercion, formula injection, or the CSV lives inside another data pipeline. Recipe for 600-6000+ cells:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingofficial-pack/skills/officecli-xlsx/SKILL.md
Popularity
- Repository stars
- 64
- Repository forks
- 1
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/miyazawai/dsh-melody-launcher-overture/officecli-xlsx)