xlsx-author — Claude Code skill: generate Excel files headless
Skill to create .xlsx files on disk without a running Excel when an agent operates headless. Use it to deliver a finished workbook as a file artifact instead of editing live.
npx skills add anthropics/financial-services --skill xlsx-author -a claude-codeWhat xlsx-author does
xlsx-author produces Excel files by writing a Python script and running it with openpyxl. The agent writes the script, executes it, and the file saves to ./out/<name>.xlsx. It enforces a color scheme: blue for hardcoded inputs, black for formulas, green for links to other sheets. All constants live on an Inputs tab, calculations are formulas only, and a Checks tab validates balance.
Use this skill in headless mode (managed-agent sessions with no open Office app). If mcp__office__excel_* tools are available, prefer those — they edit the user's live workbook with review checkpoints. xlsx-author is the fallback for runs where live editing is not an option.
What it helps with
- Generate an Excel model in a headless session with no open Excel
- Create a .xlsx file with formulas and named ranges
- Deliver a financial forecast as a file artifact
Example prompts for the agent
- Build a DCF model in Excel with an Inputs sheet and a Calc sheet, save it to ./out/dcf.xlsx
- Write a Python script for xlsx-author that creates a workbook with a balance check
- Generate a financial template: Inputs with blue text for values, Calc with formulas, Checks with TRUE/FALSE
How to install xlsx-author
1Skills CLI (Vercel)
npx skills add anthropics/financial-services --skill xlsx-author -a claude-code2Manually: put the files in place
~/.claude/skills/xlsx-author/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/xlsx-author/
1Skills CLI (Vercel)
npx skills add anthropics/financial-services --skill xlsx-author -a codex2Manually: put the files in place
.agents/skills/xlsx-author/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add anthropics/financial-services --skill xlsx-author -a cursor2Manually: put the files in place
.cursor/skills/xlsx-author/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install anthropics/financial-services xlsx-author2Manually: put the files in place
.github/skills/xlsx-author/SKILL.md1Skills CLI (Vercel)
npx skills add anthropics/financial-services --skill xlsx-author -a gemini-cli2Platform CLI
gemini skills install https://github.com/anthropics/financial-services --path plugins/agent-plugins/earnings-reviewer/skills/xlsx-authorManually: put the files in place
.devin/skills/xlsx-author/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add anthropics/financial-services --skill xlsx-author -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set25
The whole set →Similar
Questions about xlsx-author
How do I install xlsx-author in Claude Code?
Run npx skills add anthropics/financial-services --skill xlsx-author -a claude-code, then verify the skill loaded by opening ~/.claude/skills/xlsx-author/SKILL.md.
What does xlsx-author do?
It generates Excel files on disk via Python and openpyxl when an agent runs headless without access to a live workbook. Supports formulas, color conventions, and balance checks.
When should I use xlsx-author instead of mcp__office__excel_*?
Use mcp__office__excel_* if Cowork mode is active and Excel is open on the user's machine. Use xlsx-author for headless sessions when you only need to output a finished file.
Source text
SKILL.md · Apache-2.0
---
name: xlsx-author
description: Produce a .xlsx file on disk (headless) instead of driving a live Excel workbook — for managed-agent sessions with no open Office app.
---
# xlsx-author
Use this skill when running **headless** (managed-agent / CMA mode) and you need to deliver an Excel workbook as a **file artifact** rather than editing a live workbook via `mcp__office__excel_*`.
## Output contract
- Write to `./out/<name>.xlsx`. Create `./out/` if it does not exist.
- Return the relative path in your final message so the orchestration layer can collect it.
## How to build the workbook
Write a short Python script and run it with Bash. Use `openpyxl`:
```python
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill
wb = Workbook()
ws = wb.active; ws.title = "Inputs"
ws["B2"] = "Revenue"; ws["C2"] = 1_250_000_000
ws["C2"].font = Font(color="0000FF") # blue = hardcoded input
calc = wb.create_sheet("DCF")
calc["C5"] = "=Inputs!C2*(1+Inputs!C3)" # black = formula
wb.save("./out/model.xlsx")
```
## Conventions (mirror `audit-xls`)
- **Blue / black / green.** Blue = hardcoded input, black = formula, green = link to another sheet/file.
- **No hardcodes in calc cells.** Every calculation cell is a formula; every input lives on an Inputs tab.
- **Named ranges** for any value referenced from a deck or memo.
- **Balance checks.** Include a Checks tab that ties (BS balances, CF ties to cash, etc.) and surfaces TRUE/FALSE.
- **One model per file.** Do not append to an existing workbook unless explicitly asked.
## When NOT to use
If `mcp__office__excel_*` tools are available (Cowork plugin mode), use those instead — they drive the user's live workbook with review checkpoints. This skill is the file-producing fallback for headless runs.
© anthropics · Apache-2.0 · anthropics/financial-services