This skill should be used when completing LBO (Leveraged Buyout) model templates in Excel for private equity transactions, deal materials, or investment committee presentations. The skill fills in formulas, validates calculations, and ensures professional formatting standards that adapt to any template structure.
Important: Do not skip this step — scripts/recalc.py is required to verify IRR/MOIC, cash sweep mechanics, and sensitivity base-case.
Scripts
scripts/recalc.py — Force formula recalculation via headless LibreOffice. Run after building: python scripts/recalc.py <model.xlsx>
Reference Template
A starter LBO template is bundled at lbo-model.xlsx in this skill directory. If the user does not attach their own template, reuse the bundled file structure (do not copy cell values, only the layout/section conventions).
TEMPLATE REQUIREMENT
If template attached → use that template's structure exactly
If no template → ask user, or use standard examples/LBO_Model.xlsx
NEVER build from scratch when template is provided
CRITICAL INSTRUCTIONS - READ FIRST
Environment: Office JS vs Python
Office JS: range.formulas = [["=B5*B6"]], no recalc needed
Python/openpyxl: ws["D20"] = "=B5*B6", run recalc.py before delivery
Merged cell pitfall: value to top-left first, then merge + format
Core Principles
Every calculation must be an Excel formula — NEVER compute in Python and hardcode
Use the template structure — follow existing organization
Work section by section, verify with user at each step
Formula Color Conventions (4-color system)
Blue (0000FF): Hardcoded inputs
Black (000000): Formulas with calculations
Purple (800080): Links to cells on SAME tab (direct references, no calculation)
Green (008000): Links to cells on DIFFERENT tabs
Fill Color Palette — Professional Blues & Greys
Section headers: Dark blue #1F4E79 (white bold text)
Column headers: Light blue #D9E1F2 (black bold text)
Input cells: Light grey #F2F2F2
Formula cells: White
Key outputs (IRR, MOIC): Medium blue #BDD7EE (black bold)
Number Formatting Standards
Currency: $#,##0;($#,##0);"-"
Percentages: 0.0%
Multiples: 0.0"x"
MOIC/Detailed Ratios: 0.00"x"
TEMPLATE ANALYSIS PHASE
Map the structure — identify sections and relationships
Understand the timeline — columns = periods, pro forma column
Identify input vs formula cells — respect template conventions
Read existing labels — they specify expected calculations
Check for existing formulas — don't overwrite working formulas
WORKING WITH THE USER — SECTION-BY-SECTION CHECKPOINTS
After Sources & Uses → confirm plug, get sign-off
After Operating Model → confirm growth rates, margins
After Debt Schedule → confirm waterfall logic
After Returns (IRR/MOIC) → confirm cash flow signs
After Sensitivity Tables → confirm base case lands correctly
1---2name: lbo-model3description: This skill should be used when completing LBO (Leveraged Buyout) model templates in Excel for private equity transactions, deal materials, or investment committee presentations. The skill fills in formulas, validates calculations, and ensures professional formatting standards that adapt to any template structure.4---56# LBO Model Builder78## Preflight: Dependency Check910Before starting, verify required libraries and tools are installed and install any that are missing.1112```bash13python3 -c "import openpyxl" 2>/dev/null || python3 -m pip install openpyxl14command -v soffice >/dev/null 2>&1 || command -v libreoffice >/dev/null 2>&1 || ls /Applications/LibreOffice.app/Contents/MacOS/soffice >/dev/null 2>&1 || echo "WARNING: LibreOffice not found. Install: brew install --cask libreoffice (macOS) or apt install libreoffice (Linux). Required for scripts/recalc.py."15```1617**Important**: Do not skip this step — `scripts/recalc.py` is required to verify IRR/MOIC, cash sweep mechanics, and sensitivity base-case.1819## Scripts2021- `scripts/recalc.py` — Force formula recalculation via headless LibreOffice. Run after building: `python scripts/recalc.py <model.xlsx>`2223## Reference Template2425A starter LBO template is bundled at `lbo-model.xlsx` in this skill directory. If the user does not attach their own template, reuse the bundled file structure (do not copy cell values, only the layout/section conventions).2627## TEMPLATE REQUIREMENT28- If template attached → use that template's structure exactly29- If no template → ask user, or use standard examples/LBO_Model.xlsx30- NEVER build from scratch when template is provided3132## CRITICAL INSTRUCTIONS - READ FIRST3334### Environment: Office JS vs Python35- Office JS: range.formulas = [["=B5*B6"]], no recalc needed36- Python/openpyxl: ws["D20"] = "=B5*B6", run recalc.py before delivery37- Merged cell pitfall: value to top-left first, then merge + format3839### Core Principles40- Every calculation must be an Excel formula — NEVER compute in Python and hardcode41- Use the template structure — follow existing organization42- Work section by section, verify with user at each step4344### Formula Color Conventions (4-color system)45- Blue (0000FF): Hardcoded inputs46- Black (000000): Formulas with calculations47- Purple (800080): Links to cells on SAME tab (direct references, no calculation)48- Green (008000): Links to cells on DIFFERENT tabs4950### Fill Color Palette — Professional Blues & Greys51- Section headers: Dark blue #1F4E79 (white bold text)52- Column headers: Light blue #D9E1F2 (black bold text)53- Input cells: Light grey #F2F2F254- Formula cells: White55- Key outputs (IRR, MOIC): Medium blue #BDD7EE (black bold)5657### Number Formatting Standards58- Currency: $#,##0;($#,##0);"-"59- Percentages: 0.0%60- Multiples: 0.0"x"61- MOIC/Detailed Ratios: 0.00"x"6263## TEMPLATE ANALYSIS PHASE641. Map the structure — identify sections and relationships652. Understand the timeline — columns = periods, pro forma column663. Identify input vs formula cells — respect template conventions674. Read existing labels — they specify expected calculations685. Check for existing formulas — don't overwrite working formulas696. Note template-specific conventions — sign conventions, subtotal structures7071## FILLING FORMULAS - GENERAL APPROACH72### Step 1: Check the Template (existing formula? comment? label? pattern?)73### Step 2: Check the User's Instructions74### Step 3: Apply Standard Practice7576## COMMON PROBLEM AREAS77- Balancing Sections: Sources = Uses, one item is "plug"78- Tax Calculations: reference income line + tax rate only79- Interest and Circular References: use Beginning Balance to break circularity80- Debt Paydown / Cash Sweeps: priority waterfall, MAX/MIN to prevent negative81- Returns Calculations (IRR/MOIC): correct signs, consecutive periods82- Sensitivity Tables: ODD dimensions, center cell = base case, #BDD7EE highlight8384## VERIFICATION CHECKLIST85- [ ] Section balancing (Sources = Uses)86- [ ] Income projections (subtotals, margins, links)87- [ ] Balance Sheet (Assets = L+E, beginning = prior ending)88- [ ] Cash Flow (correct signs, ending cash ties)89- [ ] Supporting Schedules (roll-forwards balance)90- [ ] Debt Schedule (beginning balance, interest, paydown priority)91- [ ] Returns (IRR/MOIC correct signs and ranges)92- [ ] Sensitivity Tables (ODD grid, center = base, all cells have formulas)93- [ ] Formatting (blue/black/purple/green, number formats, no errors)94- [ ] Logical Sanity Checks (magnitude, trends, reasonableness)9596## COMMON ERRORS TO AVOID97| Hardcoding | Wrong cell refs | Circular refs | Sections unbalanced |98| Negative balances | IRR/return errors | Sensitivity same value | Roll-forwards don't tie |99| Inconsistent signs |100101## WORKING WITH THE USER — SECTION-BY-SECTION CHECKPOINTS1021. After Sources & Uses → confirm plug, get sign-off1032. After Operating Model → confirm growth rates, margins1043. After Debt Schedule → confirm waterfall logic1054. After Returns (IRR/MOIC) → confirm cash flow signs1065. After Sensitivity Tables → confirm base case lands correctly
Run npx skillmds@latest add fivetaku/lbo-model in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
This skill should be used when completing LBO (Leveraged Buyout) model templates in Excel for private equity transactions, deal materials, or investment committee presentations. The skill fills in formulas, validates calculations, and ensures professional formatting standards that adapt to any template structure. It is listed under Data & Analytics on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
fivetaku (@fivetaku) published this skill. Their other Agent Skills are listed on their SkillMD profile.