| 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:
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")
calc = wb.create_sheet("DCF")
calc["C5"] = "=Inputs!C2*(1+Inputs!C3)"
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.