# XLSX Author

Produce a .xlsx file on disk (headless) instead of driving a live Excel workbook, for...

- Repository: https://github.com/anthropics/financial-services (40971 stars)
- Category: Documents
- License: Apache-2.0
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add anthropics/financial-services --skill xlsx-author -g -a claude-code -y`
Codex: `npx skills add anthropics/financial-services --skill xlsx-author -g -a codex -y`
Cursor: `npx skills add anthropics/financial-services --skill xlsx-author -g -a cursor -y`
Gemini CLI: `npx skills add anthropics/financial-services --skill xlsx-author -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add anthropics/financial-services`

## Description

Produce a .xlsx file on disk (headless) instead of driving a live Excel workbook, for managed-agent sessions with no open Office app.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

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

