Agent skill · business finance · nousresearch

lbo-model

Build leveraged buyout workbooks with IRR/MOIC in Excel.

Why this skill is useful

Provides specific instructions for building LBO models in Excel using templates and dynamic formulas that the AI wouldn't reliably generate on its own.

What it needs

Requires openpyxl installed locally. About 10k tokens when loaded. Last updated 2026-08-07. 226,679 stars on the source repository.

What this skill does

Environment This skill assumes headless openpyxl — you are producing an .xlsx file on disk. Follow the excel-author skill's conventions for cell coloring, formulas, named ranges, and sensitivity tables. Recalculate before delivery: python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx. --- TEMPLATE REQUIREMENT This skill uses templates for LBO models. Always check for an attached template file first. Before starting any LBO model: 1. If a template file is attached/provided: Use that template's structure exactly - copy it and populate with the user's data 2. If no template is attached: Ask the user: "Do you have a specific LBO template you'd like me to use? If not, I can use the standard template which includes Sources & Uses, Operating Model, Debt Schedule, and Returns Analysis." 3. If using the standard template: Copy examples/LBOModel.xlsx as your starting point and populate it with the user's assumptions IMPORTANT: When a file like LBOModel.xlsx is attached, you MUST use it as your template - do not build from scratch. Even if the template seems complex or has more features than needed, copy it and adapt it to the user's requirements. Never decide to "build from scratch" when a template is provided. --- CRITICAL INSTRUCTIONS — READ FIRST Use Python/openpyxl. Write formula strings (ws["D20"] = "=B5B6"), then run the excel-author skill's recalc.py helper before delivery. Core Principles Every calculation must be an Excel formula - NEVER compute values in Python and hardcode results into cells. When using openpyxl, write cell.value = "=B5B6" (formula string), NOT cell.value = 1250 (computed result). The model must be dynamic and update when inputs change. Use the template structure - Follow the organization in examples/LBOModel.xlsx or the user's provided template. Do not invent your own layout. Use proper cell references - All formulas should reference the appropriate cells. Never type numbers that should come from other cells. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills nousresearch/lbo-model

View the source on GitHub

Browse the @skills marketplace