/lbo-model
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
$ npx -y skills add anthropics/financial-services --skill lbo-model --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/lbo-model
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
lbo-model.SKILL.mdname: lbo-model
description: 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.
---
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/LBO_Model.xlsx` as your starting point and populate it with the user's assumptions
**IMPORTANT**: When a file like `LBO_Model.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 FOR CLAUDE - READ FIRST
Environment: Office JS vs Python
**If running inside Excel (Office Add-in / Office JS environment):**
- Use Office JS (`Excel.run(async (context) => {...})`) directly — do NOT use Python/openpyxl
- Write formulas via `range.formulas = [["=B5*B6"]]` — Office JS formulas recalculate natively in the live workbook
- The same formulas-over-hardcodes rule applies: set `range.formulas`, never `range.values` for anything that should be a calculation
- Use `range.format.font.color` / `range.format.fill.color` for the blue/black/purple/green convention
- No separate recalc step needed — Excel handles calculation natively
- **Merged cell pitfall:** Do NOT call `.merge()` then set `.values` on the merged range (throws `InvalidArgument` — range still reports original dimensions). Instead: write value to top-left cell alone (`ws.getRange("A7").values = [["SOURCES & USES"]]`), then merge + format the full range (`ws.getRange("A7:F7").merge(); ws.getRange("A7:F7").format.fill.color = "#1F4E79";`)
**If generating a standalone .xlsx file (no live Excel session):**
- Use Python/openpyxl as described below
- Write formula strings (`ws["D20"] = "=B5*B6"`), then run `recalc.py` before delivery
The rest of this skill is written with openpyxl examples, but the same principles apply to Office JS — just translate the API calls.
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 = "=B5*B6"` (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/LBO_Model.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.
- **Maintain sign convention consistency** - Follow whatever sign convention the template uses (some use negative for outflows, some use positive). Be consistent throughout.
- **Work section by section, verify with user at each step** - Complete one section fully, show the user what was built, run the section's verification checks, and get confirmation BEFORE moving to the next section. Do NOT build the entire model end-to-end and then present it — later sections depend on earlier ones, so catching a mistake in Sources & Uses after the returns are already built means rework everywhere.
Formula Color Conventions
- **Blue (0000FF)**: Hardcoded inputs - typed numbers that don't reference other cells
- **Black (000000)**: Formulas with calculations - any formula using operators or functions (`=B4*B5`, `=SUM()`, `=-MAX(0,B4)`)
- **Purple (800080)**: Links to cells on the **same tab** - direct references with no calculation (`=B9`, `=B45`)
- **Green (008000)**: Links to cells on **different tabs** - cross-sheet references (`=Assumptions!B5`, `='Operating Model'!C10`)
Fill Color Palette — Professional Blues & Greys (Default unless user/template specifies otherwise)
- **Keep it minimal** — only use blues and greys for cell fills. Do NOT introduce greens, yellows, reds, or multiple accents. A professional LBO model uses restraint.
- **Default fill palette:**
- **Section headers** (Sources & Uses, Operating Model, etc.): Dark blue `#1F4E79` with white bold text
- **Column headers** (Year 1, Year 2, etc.): Light blue `#D9E1F2` with black bold text
- **Input cells**: Light grey `#F2F2F2` (or just white) — the blue *font* is the signal, fill is secondary
- **Formula/calculated cells**: White, no fill
- **Key outputs** (IRR, MOIC, Exit Equity): Medium blue `#BDD7EE` with black bold text
- **That's the whole palette.** 3 blues + 1 grey + white. If the template uses its own colors, follow the template instead.
- Note: The blue/black/purple/green **font** colors above are for distinguishing inputs vs formulas vs links. Those are separate from the **fill** palette here — both work together.
Number Formatting Standards
- **Currency**: `$#,##0;($#,##0);"-"` or `$#,##0.0` depending on template
- **Percentages**: `0.0%` (one decimal)
- **Multiples**: `0.0"x"` (one decimal)
- **MOIC/Detailed Ratios**: `0.00"x"` (two decimals for precision)
- **All numeric cells**: Right-aligned
---
Clarify Requirements First
Before filling any formulas:
- **Examine the template structure** - Identify all sections, understand the timeline (which columns are which periods), note any existing formulas
- **Ask the user if anything is unclear** - If the t
Read more
name: lbo-model description: 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.
---
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/LBO_Model.xlsx` as your starting point and populate it with the user's assumptions
**IMPORTANT**: When a file like `LBO_Model.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 FOR CLAUDE - READ FIRST
Environment: Office JS vs Python
**If running inside Excel (Office Add-in / Office JS environment):**
- Use Office JS (`Excel.run(async (context) => {...})`) directly — do NOT use Python/openpyxl
- Write formulas via `range.formulas = [["=B5*B6"]]` — Office JS formulas recalculate natively in the live workbook
- The same formulas-over-hardcodes rule applies: set `range.formulas`, never `range.values` for anything that should be a calculation
- Use `range.format.font.color` / `range.format.fill.color` for the blue/black/purple/green convention
- No separate recalc step needed — Excel handles calculation natively
- **Merged cell pitfall:** Do NOT call `.merge()` then set `.values` on the merged range (throws `InvalidArgument` — range still reports original dimensions). Instead: write value to top-left cell alone (`ws.getRange("A7").values = [["SOURCES & USES"]]`), then merge + format the full range (`ws.getRange("A7:F7").merge(); ws.getRange("A7:F7").format.fill.color = "#1F4E79";`)
**If generating a standalone .xlsx file (no live Excel session):**
- Use Python/openpyxl as described below
- Write formula strings (`ws["D20"] = "=B5*B6"`), then run `recalc.py` before delivery
The rest of this skill is written with openpyxl examples, but the same principles apply to Office JS — just translate the API calls.
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 = "=B5*B6"` (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/LBO_Model.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.
- **Maintain sign convention consistency** - Follow whatever sign convention the template uses (some use negative for outflows, some use positive). Be consistent throughout.
- **Work section by section, verify with user at each step** - Complete one section fully, show the user what was built, run the section's verification checks, and get confirmation BEFORE moving to the next section. Do NOT build the entire model end-to-end and then present it — later sections depend on earlier ones, so catching a mistake in Sources & Uses after the returns are already built means rework everywhere.
Formula Color Conventions
- **Blue (0000FF)**: Hardcoded inputs - typed numbers that don't reference other cells
- **Black (000000)**: Formulas with calculations - any formula using operators or functions (`=B4*B5`, `=SUM()`, `=-MAX(0,B4)`)
- **Purple (800080)**: Links to cells on the **same tab** - direct references with no calculation (`=B9`, `=B45`)
- **Green (008000)**: Links to cells on **different tabs** - cross-sheet references (`=Assumptions!B5`, `='Operating Model'!C10`)
Fill Color Palette — Professional Blues & Greys (Default unless user/template specifies otherwise)
- **Keep it minimal** — only use blues and greys for cell fills. Do NOT introduce greens, yellows, reds, or multiple accents. A professional LBO model uses restraint.
- **Default fill palette:**
- **Section headers** (Sources & Uses, Operating Model, etc.): Dark blue `#1F4E79` with white bold text
- **Column headers** (Year 1, Year 2, etc.): Light blue `#D9E1F2` with black bold text
- **Input cells**: Light grey `#F2F2F2` (or just white) — the blue *font* is the signal, fill is secondary
- **Formula/calculated cells**: White, no fill
- **Key outputs** (IRR, MOIC, Exit Equity): Medium blue `#BDD7EE` with black bold text
- **That's the whole palette.** 3 blues + 1 grey + white. If the template uses its own colors, follow the template instead.
- Note: The blue/black/purple/green **font** colors above are for distinguishing inputs vs formulas vs links. Those are separate from the **fill** palette here — both work together.
Number Formatting Standards
- **Currency**: `$#,##0;($#,##0);"-"` or `$#,##0.0` depending on template
- **Percentages**: `0.0%` (one decimal)
- **Multiples**: `0.0"x"` (one decimal)
- **MOIC/Detailed Ratios**: `0.00"x"` (two decimals for precision)
- **All numeric cells**: Right-aligned
---
Clarify Requirements First
Before filling any formulas:
- **Examine the template structure** - Identify all sections, understand the timeline (which columns are which periods), note any existing formulas
- **Ask the user if anything is unclear** - If the t
Reference agents, skills, and data connectors for the financial-services workflows we see most — investment banking, equity research, private equity, and wealth management.
Other skills on financial-services.
- /verify
Verify changes to the claude-for-msft-365-install admin scripts and commands by driving them against an isolated fake $HOME.
Open skill - /audit-xls
Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on "audit this sheet", "check my
Open skill - /earnings-analysis
Create professional equity research earnings update reports (8-12 pages, 3,000-5,000 words) analyzing quarterly results for companies already under coverage. Fast-turnaround format focusing on beat/miss analysis, key metrics, updated estimates, and revised thesis. Includes 1-3
Open skill - /earnings-preview
Build pre-earnings analysis with estimate models, scenario frameworks, and key metrics to watch. Use before a company reports quarterly earnings to prepare positioning notes, set up bull/bear scenarios, and identify what will move the stock. Triggers on "earnings preview", "what
Open skill - /model-update
Update financial models with new data — quarterly earnings, management guidance, macro changes, or revised assumptions. Adjusts estimates, recalculates valuation, and flags material changes. Use after earnings, guidance updates, or when assumptions need refreshing. Triggers on
Open skill - /morning-note
Draft concise morning meeting notes summarizing overnight developments, trade ideas, and key events for coverage stocks. Designed for the 7am morning meeting format — tight, opinionated, actionable. Triggers on "morning note", "morning meeting", "what happened overnight", "trade
Open skill

