← General Office · Documents & Spreadsheets

xlsx-author

Vendor officialLow riskBy anthropicsLicense: Apache-2.0★ 41,232

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

Use in Claude.ai (no code)

Download xlsx-author.zip
  1. In Claude.ai, open Settings → Capabilities → Skills
  2. Choose “Upload skill” and pick the zip you downloaded
  3. Turn it on, then describe your task in a chat. Claude uses the skill when it fits

Use in Claude Code and other agents

Claude Code plugin

/plugin marketplace add anthropics/financial-services
/plugin install earnings-reviewer@claude-for-financial-services

skills CLI (installs every skill in the repository)

npx skills add anthropics/financial-services

Manual: Copy the plugins/agent-plugins/earnings-reviewer/skills/xlsx-author folder to ~/.claude/skills/xlsx-author/

Safety scan report

Executable scripts: noneSuspicious patterns: 0Files: 1Content hash: 85b5b76901a7

The scan is static pattern matching. It catches common problems and is not a guarantee of safety. Read the source before installing a skill that ships scripts.

Source

anthropics/financial-services/plugins/agent-plugins/earnings-reviewer/skills/xlsx-authorcommit 6056506In plugins: earnings-reviewer, gl-reconciler, kyc-screener, model-builder, month-end-closer, pitch-agent, statement-auditor, valuation-reviewer, financial-analysis
Files (1)
  • SKILL.md
SKILL.md
# 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.