excel-author

Generate auditable Excel financial models with openpyxl using formulas, named ranges, and balance checks.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/xu1713/openhorse --skill excel-author-xu1713
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: excel-author
Source: https://github.com/xu1713/openhorse/tree/main/openhorse/openhorse/optional-skills/finance/excel-author
Command: npx skills add https://github.com/xu1713/openhorse --skill excel-author-xu1713

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires openpyxl, and includes scripts (resource) components.

What problem does it solve? Building financial models in Excel by hand leads to hardcoded values, broken references, and unauditable spreadsheets. This Skill produces banker-grade .xlsx workbooks headlessly with openpyxl, enforcing conventions that make every assumption traceable and every calculation a live formula. ## Core Features & Use Cases - Auditable cell conventions: Blue font for hardcoded inputs, black for formulas, green for cross-sheet links, plus mandatory cell comments documenting the source of every hardcoded number. - Formulas over hardcodes: Every derived cell is written as a live Excel formula string, with named ranges for cross-sheet references and a Checks tab that surfaces TRUE/FALSE balance validations. - Sensitivity tables and recalculation: Builds odd-sized sensitivity grids with a highlighted base-case center cell, and includes a script to recalculate formulas via LibreOffice headless before delivery. - Use Case: Ask for a DCF model for a public company and receive an .xlsx with an Inputs tab sourced from the 10-K, a live projection block, a WACC/terminal-growth sensitivity table, and a Checks tab confirming the balance sheet ties. ## Quick Start Build a DCF valuation model for Apple as an Excel workbook with sourced inputs, live formulas, and a WACC sensitivity table saved to ./out/.

Frequently Asked Questions about excel-author

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an Excel financial model with Python?

Use openpyxl to build the workbook programmatically: write hardcoded inputs in blue font with source comments, write every derived cell as a formula string, and save to ./out/. Run LibreOffice headless afterward to recalculate formula values before delivery.

How to build a sensitivity table in Excel with openpyxl?

Build it with loops over row and column axes, using an odd grid size like 5x5 so the center cell equals the base case. Populate every cell with a full recalculation formula and highlight the center cell with a medium-blue fill and bold font.

Why do openpyxl formulas show as None when read back?

openpyxl writes formula strings but never computes them, so data_only reads return None until something calculates the workbook. Recalculate with LibreOffice headless using the included recalc.py script, which recomputes and resaves the file in place.

Does openpyxl support named ranges and cell comments?

Yes. Define named ranges with openpyxl.workbook.defined_name.DefinedName so other sheets can reference figures like WACC by name. Attach comments with openpyxl.comments.Comment at the moment you write each hardcoded input cell.

When should I not use openpyxl for Excel output?

Avoid it when a user has a live Excel session with an Office MCP available, when exporting pure tabular data without formulas (use csv or pandas.to_excel), or when building interactive dashboards, which belong in a BI tool.