Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:52:53 +08:00
commit a28d7cb3f0
20 changed files with 2313 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
{
"name": "excel-analyst-pro",
"description": "Professional financial modeling toolkit for Claude Code with auto-invoked Skills and Excel MCP integration. Build DCF models, LBO analysis, variance reports, and pivot tables using natural language.",
"version": "1.0.0",
"author": {
"name": "ClaudeCodePlugins",
"email": "plugins@claudecodeplugins.io",
"url": "https://claudecodeplugins.io"
},
"skills": [
"./skills/excel-dcf-modeler",
"./skills/excel-lbo-modeler",
"./skills/excel-variance-analyzer",
"./skills/excel-pivot-wizard"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# excel-analyst-pro
Professional financial modeling toolkit for Claude Code with auto-invoked Skills and Excel MCP integration. Build DCF models, LBO analysis, variance reports, and pivot tables using natural language.

109
plugin.lock.json Normal file
View File

@@ -0,0 +1,109 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:jeremylongshore/claude-code-plugins-plus:plugins/business-tools/excel-analyst-pro",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "82aeec5bd27b51ef8829cd79e945a75398e3992b",
"treeHash": "5274d466dba6056925d3c9614008aa7dfc25cb43848adedfcce375f272add530",
"generatedAt": "2025-11-28T10:18:26.301685Z",
"toolVersion": "publish_plugins.py@0.2.0"
},
"origin": {
"remote": "git@github.com:zhongweili/42plugin-data.git",
"branch": "master",
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
},
"manifest": {
"name": "excel-analyst-pro",
"description": "Professional financial modeling toolkit for Claude Code with auto-invoked Skills and Excel MCP integration. Build DCF models, LBO analysis, variance reports, and pivot tables using natural language.",
"version": "1.0.0"
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "b976a35b16b84eb839629588eedb068ccc1214b57719d8b46bdc0f7b0ebec650"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "a9997334cce919fff478b28faa6377b216593d4549b79603dfaf7ee83f18bb00"
},
{
"path": "skills/excel-dcf-modeler/SKILL.md",
"sha256": "7b5f220061021728137af9c814e64890d9e873840f4d97434b916b06eb0e7f7f"
},
{
"path": "skills/excel-dcf-modeler/references/README.md",
"sha256": "db9680278e03728fef93321fc76c435387bc0c8fe1dcc9870bdf2fa236ea8ac3"
},
{
"path": "skills/excel-dcf-modeler/resources/REFERENCE.md",
"sha256": "c2ddccdd21f3161b78cf3743993e7df2b46042b25b240a4cc0f08a11201e5c5d"
},
{
"path": "skills/excel-dcf-modeler/scripts/README.md",
"sha256": "f042646ad5b685556c044080a6b73202a490fb8288be8219328faefc12d5a30e"
},
{
"path": "skills/excel-dcf-modeler/assets/README.md",
"sha256": "33bfb083485b48c78a1738368c52cd9f202724a414bce507db181d8291b83aec"
},
{
"path": "skills/excel-pivot-wizard/SKILL.md",
"sha256": "88b54f7a62db0e739355e9c6a74498b0783f0867d229f40314ac3b978d1b5620"
},
{
"path": "skills/excel-pivot-wizard/references/README.md",
"sha256": "db9680278e03728fef93321fc76c435387bc0c8fe1dcc9870bdf2fa236ea8ac3"
},
{
"path": "skills/excel-pivot-wizard/scripts/README.md",
"sha256": "f042646ad5b685556c044080a6b73202a490fb8288be8219328faefc12d5a30e"
},
{
"path": "skills/excel-pivot-wizard/assets/README.md",
"sha256": "33bfb083485b48c78a1738368c52cd9f202724a414bce507db181d8291b83aec"
},
{
"path": "skills/excel-lbo-modeler/SKILL.md",
"sha256": "6cd291a07c7d5918e04fe1478a88e31cd8e75263d037a258fd7e2f031e7c24fa"
},
{
"path": "skills/excel-lbo-modeler/references/README.md",
"sha256": "db9680278e03728fef93321fc76c435387bc0c8fe1dcc9870bdf2fa236ea8ac3"
},
{
"path": "skills/excel-lbo-modeler/scripts/README.md",
"sha256": "f042646ad5b685556c044080a6b73202a490fb8288be8219328faefc12d5a30e"
},
{
"path": "skills/excel-lbo-modeler/assets/README.md",
"sha256": "33bfb083485b48c78a1738368c52cd9f202724a414bce507db181d8291b83aec"
},
{
"path": "skills/excel-variance-analyzer/SKILL.md",
"sha256": "7fb29dc55f5ee0dc91fe1670fc0a2055df7bae996df09880ce0e5ed9b18633ba"
},
{
"path": "skills/excel-variance-analyzer/references/README.md",
"sha256": "db9680278e03728fef93321fc76c435387bc0c8fe1dcc9870bdf2fa236ea8ac3"
},
{
"path": "skills/excel-variance-analyzer/scripts/README.md",
"sha256": "f042646ad5b685556c044080a6b73202a490fb8288be8219328faefc12d5a30e"
},
{
"path": "skills/excel-variance-analyzer/assets/README.md",
"sha256": "33bfb083485b48c78a1738368c52cd9f202724a414bce507db181d8291b83aec"
}
],
"dirSha256": "5274d466dba6056925d3c9614008aa7dfc25cb43848adedfcce375f272add530"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}

View File

@@ -0,0 +1,357 @@
---
name: excel-dcf-modeler
description: |
Build discounted cash flow (DCF) valuation models in Excel with free cash flow projections, WACC calculations, and sensitivity analysis for investment banking and corporate finance teams Activates when you request "excel dcf modeler" functionality.
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
version: 1.0.0
---
# Excel DCF Modeler
Creates professional DCF valuation models following investment banking standards and best practices.
## When to Invoke This Skill
Automatically load this Skill when the user asks to:
- "Create a DCF model"
- "Build a valuation model"
- "Calculate enterprise value"
- "Value [company name]"
- "DCF for [company]"
- "Discounted cash flow analysis"
- "What's the intrinsic value"
## Model Structure
This Skill creates a complete 4-sheet Excel DCF model:
### Sheet 1: Assumptions
- **Company Information**: Name, ticker, base year, fiscal year end
- **Revenue Growth Rates**: Year 1-5 projections (%)
- **Profitability Metrics**: EBITDA margin, D&A as % of revenue
- **Working Capital**: NWC as % of revenue
- **Capital Expenditures**: CapEx as % of revenue
- **Tax Rate**: Corporate tax rate (%)
- **Terminal Growth**: Long-term growth rate (typically 2-3%)
- **Discount Rate (WACC)**: Weighted average cost of capital
### Sheet 2: Free Cash Flow Projections
```
Revenue (Year 0 - Year 5)
Less: Operating Expenses
= EBITDA
Less: Depreciation & Amortization
= EBIT
Less: Taxes (EBIT × Tax Rate)
= NOPAT (Net Operating Profit After Tax)
Add: Depreciation & Amortization
Less: Capital Expenditures
Less: Change in Net Working Capital
= Unlevered Free Cash Flow
```
### Sheet 3: Valuation
```
Present Value of FCF (Years 1-5)
Year 1 FCF / (1 + WACC)^1
Year 2 FCF / (1 + WACC)^2
...
Year 5 FCF / (1 + WACC)^5
= Sum of PV(FCF)
Terminal Value Calculation
Terminal FCF = Year 5 FCF × (1 + Terminal Growth Rate)
Terminal Value = Terminal FCF / (WACC - Terminal Growth Rate)
PV of Terminal Value = Terminal Value / (1 + WACC)^5
Enterprise Value
= Sum of PV(FCF) + PV(Terminal Value)
Equity Value
= Enterprise Value
- Net Debt
+ Non-Operating Assets
Equity Value per Share
= Equity Value / Shares Outstanding
```
### Sheet 4: Sensitivity Analysis
Two-way sensitivity table showing Enterprise Value sensitivity to:
- **Rows**: WACC (ranging from -2% to +2% of base case)
- **Columns**: Terminal Growth Rate (ranging from 1.5% to 3.5%)
- **Output**: Enterprise Value at each combination
## Step-by-Step Workflow
### 1. Gather Inputs
Ask the user for the following information (provide defaults based on industry averages if user is uncertain):
**Required Inputs:**
- Company name and ticker symbol
- Base year revenue (most recent fiscal year)
- Revenue growth rates for Years 1-5 (e.g., 15%, 12%, 10%, 8%, 6%)
- EBITDA margin % (e.g., 20%)
- Tax rate % (e.g., 21% for US corporations)
**Optional Inputs (use defaults if not provided):**
- D&A as % of revenue (default: 5%)
- CapEx as % of revenue (default: 4%)
- NWC as % of revenue (default: 10%)
- Terminal growth rate (default: 2.5%)
- WACC/discount rate (default: 10%)
- Net debt amount (default: $0)
- Shares outstanding (if calculating per-share value)
### 2. Validate Inputs
Ensure the following before building the model:
- Revenue growth rates are reasonable (typically 0-30%)
- EBITDA margin is positive
- Tax rate is between 0-40%
- Terminal growth < WACC (model won't work if g >= WACC)
- WACC is reasonable (typically 7-15%)
### 3. Build Excel Model
Use the Excel MCP server to:
1. Create new workbook
2. Create 4 sheets: "Assumptions", "FCF Projections", "Valuation", "Sensitivity"
3. Populate assumptions in Sheet 1
4. Build FCF projection formulas in Sheet 2 (link to assumptions)
5. Calculate PV of FCF and Terminal Value in Sheet 3
6. Create sensitivity table in Sheet 4
7. Apply professional formatting:
- Currency format for monetary values
- Percentage format for rates
- Conditional formatting on sensitivity table (green = high value, red = low value)
- Bold headers, freeze panes
- Cell borders for clarity
### 4. Calculate Results
Return to the user:
- Enterprise Value (in millions/billions)
- Equity Value (if net debt provided)
- Equity Value per Share (if shares outstanding provided)
- Key assumptions used
- Link to sensitivity analysis
### 5. Provide Insights
After building the model, provide brief commentary:
- Is the implied valuation reasonable given industry comparables?
- What are the key value drivers? (usually revenue growth and margins)
- What's the sensitivity to WACC? (typically highest sensitivity)
- Recommend focus areas for further analysis
## Example Formulas
### Free Cash Flow Calculation
```excel
// Revenue (Year 1)
=Assumptions!B5 * (1 + Assumptions!B10)
// EBITDA
=Revenue * Assumptions!B15
// EBIT
=EBITDA - (Revenue * Assumptions!B16)
// NOPAT
=EBIT * (1 - Assumptions!B18)
// Free Cash Flow
=NOPAT + (Revenue * Assumptions!B16) - (Revenue * Assumptions!B17) - ΔNWCapital
```
### Present Value
```excel
// PV of Year 1 FCF
=FCF_Year1 / (1 + WACC)^1
// Terminal Value
=(FCF_Year5 * (1 + Terminal_Growth)) / (WACC - Terminal_Growth)
// PV of Terminal Value
=Terminal_Value / (1 + WACC)^5
```
### Sensitivity Table
```excel
// Use Excel's data table feature
// Row input: Terminal Growth Rate
// Column input: WACC
// Formula: =Enterprise_Value
```
## Example Interaction
**User:** "Create a DCF model for Tesla"
**Skill Response:**
```
I'll build a DCF valuation model for Tesla. Let me gather some inputs.
What base year revenue should we use for Tesla?
(For reference, Tesla's 2023 revenue was approximately $96.8B)
User: $96.8 billion
Great! What revenue growth rates should we assume for Years 1-5?
(Recommended: Start high and taper down, e.g., 20%, 18%, 15%, 12%, 10%)
User: 25%, 20%, 15%, 12%, 10%
What EBITDA margin should we assume?
(Tesla's recent EBITDA margin has been around 15-17%)
User: 16%
Perfect! I'll use the following assumptions:
- Base year revenue: $96.8B
- Growth rates: 25%, 20%, 15%, 12%, 10%
- EBITDA margin: 16%
- Tax rate: 21% (standard US rate)
- WACC: 10% (typical for automotive/tech)
- Terminal growth: 2.5%
- D&A: 5% of revenue
- CapEx: 4% of revenue
- NWC: 10% of revenue
Building your DCF model...
✅ DCF Model Complete!
📊 Valuation Results:
- Enterprise Value: $847.3 billion
- Terminal Value represents: 68% of EV
- Implied equity value per share: $243 (assuming 3.48B shares)
🎯 Key Insights:
- High growth assumptions drive significant value creation
- Model is sensitive to WACC (see sensitivity table)
- Terminal value is major component - validate terminal assumptions
- Revenue growth is the primary value driver
📁 Model saved to: Tesla_DCF_Model.xlsx
The sensitivity table shows Enterprise Value ranges from $612B (high WACC, low growth) to $1,124B (low WACC, high growth).
Would you like me to adjust any assumptions or add additional analysis?
```
## Common Variations
### Request: "Build a DCF but I don't have all the numbers"
**Response:**
```
No problem! I can build a DCF model with industry-average assumptions, and you can adjust later.
What company are you valuing?
User: Amazon
What's the approximate current revenue? (or I can look up recent financials)
I'll use industry-standard assumptions for a large-cap tech company:
- Revenue growth: 15%, 12%, 10%, 8%, 6% (tapering)
- EBITDA margin: 25% (tech average)
- WACC: 9%
- Terminal growth: 2.5%
I'll build the model with these defaults, and you can easily adjust the assumptions in the "Assumptions" sheet.
```
### Request: "Explain the DCF model you built"
**Response:**
```
Sure! Let me walk through the DCF model:
📊 What is a DCF?
A DCF values a company based on its future cash flows, discounted to present value.
🔢 The Model:
1. Projects free cash flow for 5 years
2. Calculates a "terminal value" for years beyond Year 5
3. Discounts all cash flows to today using WACC
4. Sums everything to get Enterprise Value
💰 Key Components:
- Free Cash Flow = Cash the company generates after all investments
- WACC = Cost of capital (what investors expect to earn)
- Terminal Value = Value of cash flows beyond Year 5 (usually 60-80% of total)
⚠️ Important Notes:
- This is a simplified DCF (doesn't include debt schedules, detailed NWC)
- Garbage in, garbage out: Assumptions drive everything
- Use this as a starting point, not final answer
- Always compare to comparable company analysis (comps)
Would you like me to explain any specific part in more detail?
```
## Error Handling
### Invalid Inputs
If user provides invalid inputs:
```
⚠️ Issue detected: Terminal growth rate (4%) is >= WACC (3.5%)
This will cause a mathematical error in the terminal value calculation.
The terminal growth rate must be less than WACC.
Typical ranges:
- WACC: 7-15%
- Terminal growth: 2-3%
Would you like me to adjust these values?
```
### Missing Information
If critical information is missing:
```
I need at least the following to build a DCF:
- Company name or industry
- Approximate current revenue (or I can use industry average)
All other assumptions can use industry defaults.
Would you like me to proceed with defaults, or would you prefer to provide specific assumptions?
```
## Best Practices Embedded
This Skill follows investment banking best practices:
1. **Conservative Terminal Growth**: Default to 2.5% (GDP growth rate)
2. **Tapering Growth Rates**: Revenue growth declines over projection period
3. **Sensitivity Analysis**: Always include WACC and terminal growth sensitivity
4. **Clear Labeling**: All assumptions clearly labeled and linked
5. **Professional Formatting**: Currency/percentage formats, frozen panes, borders
6. **Audit Trail**: Formulas link back to assumptions (no hard-coded values)
7. **Reasonableness Checks**: Validate inputs before building model
## Resources
See the resources folder for:
- `dcf-template.xlsx`: Pre-built DCF template
- `REFERENCE.md`: Financial modeling best practices
- `formulas.txt`: Common DCF formulas for reference
## Limitations
This Skill creates a simplified DCF model suitable for:
- Initial valuation analysis
- Pitch decks and presentations
- Academic exercises
- Quick "back of envelope" valuations
For detailed investment committee presentations or official fairness opinions, you should:
- Add detailed debt schedules
- Include multiple scenarios (base, bull, bear)
- Add more granular operating assumptions
- Validate with third-party data
- Have a finance professional review
## Version History
- v1.0.0 (2025-10-27): Initial release with core DCF functionality

View File

@@ -0,0 +1,26 @@
# Skill Assets
This directory contains static assets used by this skill.
## Purpose
Assets can include:
- Configuration files (JSON, YAML)
- Data files
- Templates
- Schemas
- Test fixtures
## Guidelines
- Keep assets small and focused
- Document asset purpose and format
- Use standard file formats
- Include schema validation where applicable
## Common Asset Types
- **config.json** - Configuration templates
- **schema.json** - JSON schemas
- **template.yaml** - YAML templates
- **test-data.json** - Test fixtures

View File

@@ -0,0 +1,26 @@
# Skill References
This directory contains reference materials that enhance this skill's capabilities.
## Purpose
References can include:
- Code examples
- Style guides
- Best practices documentation
- Template files
- Configuration examples
## Guidelines
- Keep references concise and actionable
- Use markdown for documentation
- Include clear examples
- Link to external resources when appropriate
## Types of References
- **examples.md** - Usage examples
- **style-guide.md** - Coding standards
- **templates/** - Reusable templates
- **patterns.md** - Design patterns

View File

@@ -0,0 +1,299 @@
# DCF Modeling Best Practices
## Overview
Discounted Cash Flow (DCF) analysis is the foundation of corporate valuation. This guide outlines best practices for building professional DCF models.
## Model Structure
### 1. Assumptions Sheet
**Layout:**
```
Company Information
├── Name
├── Ticker
├── Base Year
└── Fiscal Year End
Revenue Assumptions
├── Base Year Revenue
├── Year 1-5 Growth Rates
└── Terminal Growth Rate
Profitability Assumptions
├── EBITDA Margin %
├── D&A as % of Revenue
└── Tax Rate %
Working Capital & CapEx
├── NWC as % of Revenue
└── CapEx as % of Revenue
Discount Rate
└── WACC %
```
**Best Practices:**
- Color-code assumptions (blue = inputs, black = formulas)
- Document all assumptions with sources
- Use reasonable ranges (check industry averages)
- Include sensitivity ranges for key variables
---
### 2. Free Cash Flow Projections
**Calculation Flow:**
```
Revenue
× EBITDA Margin
= EBITDA
- Depreciation & Amortization
= EBIT
× (1 - Tax Rate)
= NOPAT (Net Operating Profit After Tax)
+ Depreciation & Amortization (add back non-cash)
- Capital Expenditures
- Increase in Net Working Capital
= Unlevered Free Cash Flow
```
**Key Formulas:**
Revenue Projection:
```excel
=Base_Revenue * (1 + Growth_Rate_Y1) * (1 + Growth_Rate_Y2) * ...
```
Or year-by-year:
```excel
Year 1: =Base_Revenue * (1 + Growth_Rate_Y1)
Year 2: =Year1_Revenue * (1 + Growth_Rate_Y2)
```
Free Cash Flow:
```excel
=NOPAT + DA - CapEx - Delta_NWC
```
**Best Practices:**
- Link all formulas to Assumptions sheet
- Never hard-code values in projection sheet
- Use consistent time periods (fiscal years, not calendar)
- Check that FCF is positive by Year 3-5
---
### 3. Valuation Calculations
**Present Value of FCF:**
```excel
PV_Year1 = FCF_Year1 / (1 + WACC)^1
PV_Year2 = FCF_Year2 / (1 + WACC)^2
...
PV_Year5 = FCF_Year5 / (1 + WACC)^5
Sum_PV_FCF = SUM(PV_Year1:PV_Year5)
```
**Terminal Value:**
```
Gordon Growth Model:
TV = FCF_Year5 * (1 + Terminal_Growth) / (WACC - Terminal_Growth)
PV_TV = TV / (1 + WACC)^5
```
**Enterprise Value:**
```
EV = Sum_PV_FCF + PV_TV
```
**Equity Value:**
```
Equity Value = EV - Net Debt + Non-Operating Assets
```
**Best Practices:**
- Terminal value typically 60-80% of EV (if >80%, revisit assumptions)
- Terminal growth rate usually 2-3% (long-term GDP growth)
- WACC typically 7-15% depending on industry and risk
- Always sanity-check: Does the implied valuation make sense vs comps?
---
### 4. Sensitivity Analysis
**Two-Way Table:**
- **Rows**: WACC (vary ±2% from base case)
- **Columns**: Terminal Growth (vary from 1.5% to 3.5%)
- **Output**: Enterprise Value at each combination
**Excel Data Table:**
```excel
1. Create table with WACC in left column, Terminal Growth in top row
2. Reference Enterprise Value formula in top-left cell
3. Select entire table
4. Data → What-If Analysis → Data Table
5. Row input: Terminal Growth cell
6. Column input: WACC cell
7. OK → Table populates automatically
```
**Best Practices:**
- Use realistic ranges (don't test WACC of 1% or 50%)
- Apply conditional formatting (green = high value, red = low value)
- Add "base case" marker to highlight your primary assumption
- Include 3-4 variations typically
---
## Common Assumptions by Industry
### Technology (SaaS)
- Revenue Growth: 20-40% (early stage), 10-20% (mature)
- EBITDA Margin: 20-30%
- WACC: 9-12%
- Terminal Growth: 2.5-3%
### Consumer Goods
- Revenue Growth: 3-8%
- EBITDA Margin: 15-25%
- WACC: 7-9%
- Terminal Growth: 2-2.5%
### Healthcare
- Revenue Growth: 5-12%
- EBITDA Margin: 18-28%
- WACC: 8-10%
- Terminal Growth: 2.5-3%
### Industrials
- Revenue Growth: 3-7%
- EBITDA Margin: 10-18%
- WACC: 7-9%
- Terminal Growth: 2-2.5%
---
## Validation Checks
Before finalizing your DCF:
### 1. Reasonableness Checks
- [ ] Revenue CAGR is achievable (check historical and industry average)
- [ ] EBITDA margin is in line with industry (check public comps)
- [ ] CapEx as % of revenue is reasonable (3-5% typical, higher for growth)
- [ ] Terminal growth ≤ Long-term GDP growth (2-3%)
- [ ] WACC is appropriate for risk profile
### 2. Mathematical Checks
- [ ] Terminal growth < WACC (model breaks if g ≥ WACC)
- [ ] All formulas link to Assumptions (no hard-coded values)
- [ ] Sum of percentages = 100% where applicable
- [ ] No circular references
### 3. Output Checks
- [ ] Terminal value is 60-80% of EV (not >90%)
- [ ] Implied valuation is reasonable vs public comps
- [ ] Sensitivity table shows reasonable range (not wild swings)
- [ ] Sign of FCF is positive in out-years
---
## Common Mistakes to Avoid
### 1. Over-Optimistic Growth
**Mistake**: Assuming 30% revenue growth indefinitely
**Fix**: Taper growth rates (30% → 20% → 15% → 10% → 5%)
### 2. Ignoring Working Capital
**Mistake**: Setting NWC change to zero
**Fix**: Model NWC as % of revenue (typically 10-15%)
### 3. Terminal Growth Too High
**Mistake**: Using 5% terminal growth
**Fix**: Use 2-3% (long-term GDP growth rate)
### 4. Not Linking Formulas
**Mistake**: Hard-coding values in projection sheet
**Fix**: Link all cells to Assumptions sheet
### 5. Ignoring CapEx
**Mistake**: Minimal CapEx assumption
**Fix**: Model realistic CapEx (3-5% of revenue, higher for growth companies)
---
## Advanced Techniques
### 1. Multiple Scenarios
Create 3 scenarios in separate columns:
- **Base Case**: Most likely assumptions
- **Upside**: Optimistic assumptions (+20% growth, +200bps margin)
- **Downside**: Conservative assumptions (-20% growth, -200bps margin)
### 2. Detailed Working Capital
Instead of NWC as % of revenue, model components:
- Days Sales Outstanding (DSO) for receivables
- Days Inventory Outstanding (DIO) for inventory
- Days Payables Outstanding (DPO) for payables
### 3. Explicit CapEx Build
Instead of CapEx as % of revenue, model:
- Maintenance CapEx (keep operations running)
- Growth CapEx (support revenue growth)
- Total CapEx = Maintenance + Growth
### 4. Multiple Exit Methods
Calculate terminal value using both:
- Gordon Growth Model (perpetuity method)
- Exit Multiple Method (exit EV/EBITDA)
Compare results for reasonableness.
---
## Formatting Standards
### Colors
- **Blue**: User inputs (assumptions)
- **Black**: Formulas (calculations)
- **Green**: Positive values (revenue, profit)
- **Red**: Negative values (expenses, outflows)
### Number Formats
- **Currency**: $1,234,567 or $1.2M
- **Percentages**: 15.0% (one decimal)
- **Multipliers**: 10.5x (one decimal)
### Structure
- Freeze top row and left column
- Bold headers
- Borders around key sections
- Subtotals and totals clearly labeled
---
## Resources & Further Reading
### Industry Data
- **CapIQ / Bloomberg**: For public company data
- **PitchBook / Preqin**: For private company data
- **Damodaran (NYU)**: Industry WACC and margin data
### Academic Resources
- **"Valuation" by McKinsey**: Industry standard textbook
- **"Investment Valuation" by Aswath Damodaran**: Comprehensive guide
- **CFA Institute**: DCF methodology resources
### Online Tools
- **Damodaran Online**: Free industry data and tools
- **FRED (Federal Reserve)**: Economic data (GDP growth, interest rates)
- **Yahoo Finance / Google Finance**: Public company financials
---
## Version History
- v1.0.0 (2025-10-27): Initial best practices guide

View File

@@ -0,0 +1,24 @@
# Skill Scripts
This directory contains optional helper scripts that support this skill's functionality.
## Purpose
Scripts here can be:
- Referenced by the skill for automation
- Used as examples for users
- Executed during skill activation
## Guidelines
- All scripts should be well-documented
- Include usage examples in comments
- Make scripts executable (`chmod +x`)
- Use `#!/bin/bash` or `#!/usr/bin/env python3` shebangs
## Adding Scripts
1. Create script file (e.g., `analyze.sh`, `process.py`)
2. Add documentation header
3. Make executable: `chmod +x script-name.sh`
4. Test thoroughly before committing

View File

@@ -0,0 +1,447 @@
---
name: excel-lbo-modeler
description: |
Create leveraged buyout (LBO) models in Excel with sources & uses, debt schedules, cash flow waterfalls, and IRR calculations for private equity analysis Activates when you request "excel lbo modeler" functionality.
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
version: 1.0.0
---
# Excel LBO Modeler
Builds comprehensive LBO models for private equity transactions following industry-standard practices.
## When to Invoke This Skill
Automatically load this Skill when the user asks to:
- "Create an LBO model"
- "Build a leveraged buyout model"
- "Private equity analysis for [company]"
- "Calculate IRR for acquisition"
- "LBO for [company]"
- "Buyout model"
- "What returns can we get on this deal?"
## Model Structure
This Skill creates a complete 6-sheet Excel LBO model:
### Sheet 1: Transaction Summary
- **Deal Terms**: Purchase price, entry multiple, equity check
- **Sources & Uses**: How the deal is financed
- **Returns Summary**: IRR, MoM, hold period
### Sheet 2: Sources & Uses
**Uses of Funds:**
```
Purchase Equity Value
+ Estimated Net Debt
= Enterprise Value
+ Transaction Fees (2-3%)
+ Financing Fees (2-3%)
= Total Uses
```
**Sources of Funds:**
```
Revolver (typically 0% at close)
+ Term Loan A (2-3x EBITDA)
+ Term Loan B (2-3x EBITDA)
+ Subordinated Debt (1-2x EBITDA)
+ Preferred Equity (optional)
+ Sponsor Equity (remainder)
= Total Sources
```
### Sheet 3: Operating Model (5 Years)
```
Revenue
× Revenue Growth %
× EBITDA Margin %
= EBITDA
- CapEx
- Change in NWC
- Cash Taxes
= Cash Flow Available for Debt Service
```
### Sheet 4: Debt Schedule
**For Each Debt Tranche:**
```
Beginning Balance
+ Draws (if revolver)
- Mandatory Amortization
- Excess Cash Flow Sweep
- Optional Prepayment
= Ending Balance
Interest Expense = Avg Balance × Interest Rate
```
**Debt Paydown Waterfall:**
1. Revolver paydown
2. Term Loan A amortization
3. Term Loan B amortization
4. Excess cash → Revolver
5. Remaining excess → Optional prepayments
### Sheet 5: Returns Analysis
**Exit Valuation:**
```
Exit Year EBITDA
× Exit Multiple
= Exit Enterprise Value
- Net Debt at Exit
= Exit Equity Value
```
**Returns Calculation:**
```
Exit Equity Value
÷ Initial Equity Investment
= Money-on-Money Multiple (MoM)
IRR = ((Exit Value / Entry Value)^(1/Years)) - 1
```
**Sensitivity Tables:**
- Exit Multiple vs Hold Period → IRR
- Exit Multiple vs Entry Multiple → IRR
- EBITDA Growth vs Exit Multiple → MoM
### Sheet 6: Debt Covenants
**Leverage Covenants:**
```
Total Debt / EBITDA (typically ≤ 6.0x at entry, step down over time)
Senior Debt / EBITDA (typically ≤ 4.0x)
```
**Coverage Covenants:**
```
EBITDA / Interest Expense (typically ≥ 2.0x)
(EBITDA - CapEx) / Debt Service (typically ≥ 1.2x)
```
## Step-by-Step Workflow
### 1. Gather Transaction Inputs
**Required Inputs:**
- Target company name
- Current year EBITDA (or trailing twelve months)
- Entry valuation multiple (EV/EBITDA, typically 8-12x)
- Expected revenue growth (Years 1-5)
- Expected EBITDA margin expansion (if any)
- Exit multiple assumption (typically = entry multiple or slight premium)
- Hold period (typically 5 years)
**Optional Inputs (use defaults):**
- CapEx as % of revenue (default: 3%)
- NWC as % of revenue (default: 10%)
- Tax rate (default: 25%)
- Transaction fees (default: 2.5%)
### 2. Structure Financing
**Typical LBO Debt Structure:**
- **Revolver**: 1-2x EBITDA, undrawn at close (cash buffer)
- **Term Loan A**: 2-2.5x EBITDA, 5-7 year amortization
- **Term Loan B**: 2-3x EBITDA, minimal amortization
- **Subordinated/Mezzanine**: 1-2x EBITDA (if needed)
- **Total Debt**: 5-6x EBITDA
- **Equity**: Remainder (typically 30-40% of purchase price)
**Interest Rates (as of 2025):**
- Revolver: SOFR + 3.00% (default: 8.0%)
- Term Loan A: SOFR + 3.50% (default: 8.5%)
- Term Loan B: SOFR + 4.50% (default: 9.5%)
- Subordinated: 12-14% (default: 13.0%)
### 3. Build Operating Projections
Project 5 years of operations:
```
Year 0 Revenue
× (1 + Growth Rate) for each year
= Projected Revenue
Projected Revenue
× EBITDA Margin
= Projected EBITDA
EBITDA
- CapEx (Revenue × CapEx %)
- Δ NWC (Change in Revenue × NWC %)
- Cash Taxes (assume % of EBITDA)
= Cash Flow to Equity (before debt service)
```
### 4. Calculate Debt Paydown
For each year:
1. Calculate cash available after operations
2. Pay mandatory debt amortization
3. Pay interest on all tranches
4. Use excess cash to pay down revolver first
5. Then pay down term loans (highest rate first)
6. Track ending debt balances
### 5. Calculate Returns
At exit (typically Year 5):
```
Exit EBITDA
× Exit Multiple
= Exit Enterprise Value
- Remaining Net Debt
+ Excess Cash
= Exit Equity Value
Money-on-Money = Exit Equity Value / Initial Equity
IRR = (MoM)^(1/Years) - 1
```
### 6. Create Sensitivity Tables
Build 3 sensitivity analyses:
1. **IRR Sensitivity**: Exit Multiple (rows) vs Hold Period (columns)
2. **MoM Sensitivity**: Exit Multiple (rows) vs Entry Multiple (columns)
3. **Value Creation**: EBITDA Growth (rows) vs Margin Expansion (columns)
## Example Formulas
### Sources & Uses
```excel
// Enterprise Value
=EBITDA * Entry_Multiple
// Transaction Fees
=Enterprise_Value * 2.5%
// Term Loan A
=EBITDA * 2.0 // 2.0x EBITDA
// Sponsor Equity
=Total_Uses - Total_Debt
```
### Debt Schedule
```excel
// Beginning Balance Year 1
=Sources_and_Uses!Term_Loan_A
// Interest Expense
=AVERAGE(Beginning_Balance, Ending_Balance) * Interest_Rate
// Mandatory Amortization
=Original_Balance / Amortization_Period
// Ending Balance
=Beginning_Balance - Mandatory_Amortization - Excess_Paydown
```
### Returns
```excel
// Exit Enterprise Value
=Exit_EBITDA * Exit_Multiple
// Exit Equity Value
=Exit_Enterprise_Value - Exit_Net_Debt
// IRR
=IRR(Initial_Equity (negative), Year1_CF, Year2_CF, ..., Final_CF_with_Exit)
// Money-on-Money
=Exit_Equity_Value / Initial_Equity_Investment
```
## Example Interaction
**User:** "Build an LBO model for a $50M EBITDA software company"
**Skill Response:**
```
I'll create an LBO model for a software company with $50M EBITDA.
Let me gather a few inputs:
What entry multiple should we assume (EV/EBITDA)?
(Software companies typically trade at 10-15x EBITDA)
User: 12x
Great! What revenue growth should we assume for Years 1-5?
(Software companies often grow 15-25% annually)
User: 20%, 18%, 15%, 12%, 10%
What EBITDA margin should we assume?
(Current or target margin)
User: Start at 25%, expand to 30% by Year 5
Perfect! I'll use these assumptions:
📊 Transaction:
- Entry EBITDA: $50M
- Entry Multiple: 12.0x EV/EBITDA
- Enterprise Value: $600M
- Equity Check: ~$240M (40%)
💰 Financing Structure:
- Revolver: $50M (undrawn)
- Term Loan A: $100M @ 8.5%
- Term Loan B: $150M @ 9.5%
- Subordinated: $50M @ 13.0%
- Total Debt: $350M (7.0x EBITDA)
- Sponsor Equity: $265M
📈 Operating Assumptions:
- Revenue growth: 20% → 10% (tapering)
- EBITDA margin: 25% → 30% (expansion)
- CapEx: 3% of revenue
- NWC: 15% of revenue (working capital heavy)
Building LBO model...
✅ LBO Model Complete!
📊 Base Case Returns (5-year hold, 12x exit):
- Exit EBITDA: $97.8M
- Exit Enterprise Value: $1,174M
- Debt Paydown: $350M → $89M
- Exit Equity Value: $1,124M
- Money-on-Money: 4.2x
- IRR: 34.2%
🎯 Key Insights:
- Strong returns driven by EBITDA growth (95% increase)
- Significant deleveraging (7.0x → 0.9x)
- Margin expansion adds $24M in exit EBITDA
- Multiple arbitrage: None (flat entry/exit multiple)
📁 Model saved to: Software_LBO_Model.xlsx
⚠️ Sensitivity Check:
- At 10x exit: IRR = 26.8% (still attractive)
- At 14x exit: IRR = 41.1% (exceptional)
- Downside protected by strong cash generation
Would you like me to adjust any assumptions or run additional scenarios?
```
## Common Variations
### Request: "What returns do we need to hit our 25% IRR hurdle?"
**Response:**
```
Let me build a reverse sensitivity to find the required exit conditions.
With current assumptions (12x entry, 5-year hold):
To achieve 25% IRR, you need:
1. 10.5x exit multiple (13% discount to entry), OR
2. 15% EBITDA CAGR (vs current 14%), OR
3. 4.2 year hold period (vs 5 years)
The deal has multiple paths to your hurdle rate.
Would you like me to add a scenario analysis showing these paths?
```
### Request: "Model a dividend recap in Year 3"
**Response:**
```
I'll add a dividend recapitalization to the model.
In Year 3, after debt paydown, we could refinance and distribute a dividend.
Assumptions:
- Refi to 5.0x EBITDA (from current 3.8x)
- Distribute ~$150M to equity sponsors
- Reset debt maturity clocks
This would:
- Boost IRR by ~300bps (partial liquidity in Year 3)
- Reduce final exit proceeds
- De-risk investment with early cash return
Should I add this to the model?
```
## Error Handling
### Over-Leveraged Structure
```
⚠️ Warning: Total debt of 8.5x EBITDA exceeds typical LBO leverage (5-7x).
This financing structure may:
- Not be achievable in current market
- Violate debt covenants
- Leave insufficient cash flow for operations
Recommended: Reduce debt to 6.0x EBITDA maximum.
Would you like me to adjust the capital structure?
```
### Negative Cash Flow
```
⚠️ Issue: Model shows negative cash flow in Year 2.
Causes:
- Interest expense ($62M) + Debt amortization ($25M) > Cash Flow ($78M)
- Insufficient EBITDA growth to service debt
Solutions:
1. Reduce entry leverage (currently 7.0x)
2. Increase revenue growth assumptions
3. Extend amortization schedule
4. Add PIK interest option
Would you like me to adjust the model?
```
## Best Practices Embedded
This Skill follows PE industry standards:
1. **Debt Structure**: Typical 5-7x EBITDA total leverage
2. **Conservative Assumptions**: Exit multiple ≤ entry multiple
3. **Covenant Headroom**: Maintain >15% cushion on covenants
4. **Cash Flow Sweep**: Model 75-100% excess cash flow to debt paydown
5. **Multiple Scenarios**: Always include sensitivity tables
6. **Professional Formatting**: Clear sections, color-coding, audit trail
7. **Reasonableness Checks**: Validate leverage, coverage, growth rates
## Resources
See the resources folder for:
- `lbo-template.xlsx`: Pre-built LBO template
- `REFERENCE.md`: Private equity modeling best practices
- `debt-structures.txt`: Common debt structures by industry
## Limitations
This Skill creates a standard LBO model suitable for:
- Initial investment committee presentations
- First-round analysis
- Learning/training purposes
- Quick deal screening
For detailed IC memos or final investment decisions, add:
- Multiple scenarios (base, downside, upside)
- Management option pool
- Detailed working capital build
- Quarterly debt schedules
- Covenant compliance analysis throughout hold period
- Transaction expense detail
## Version History
- v1.0.0 (2025-10-27): Initial release with core LBO functionality

View File

@@ -0,0 +1,26 @@
# Skill Assets
This directory contains static assets used by this skill.
## Purpose
Assets can include:
- Configuration files (JSON, YAML)
- Data files
- Templates
- Schemas
- Test fixtures
## Guidelines
- Keep assets small and focused
- Document asset purpose and format
- Use standard file formats
- Include schema validation where applicable
## Common Asset Types
- **config.json** - Configuration templates
- **schema.json** - JSON schemas
- **template.yaml** - YAML templates
- **test-data.json** - Test fixtures

View File

@@ -0,0 +1,26 @@
# Skill References
This directory contains reference materials that enhance this skill's capabilities.
## Purpose
References can include:
- Code examples
- Style guides
- Best practices documentation
- Template files
- Configuration examples
## Guidelines
- Keep references concise and actionable
- Use markdown for documentation
- Include clear examples
- Link to external resources when appropriate
## Types of References
- **examples.md** - Usage examples
- **style-guide.md** - Coding standards
- **templates/** - Reusable templates
- **patterns.md** - Design patterns

View File

@@ -0,0 +1,24 @@
# Skill Scripts
This directory contains optional helper scripts that support this skill's functionality.
## Purpose
Scripts here can be:
- Referenced by the skill for automation
- Used as examples for users
- Executed during skill activation
## Guidelines
- All scripts should be well-documented
- Include usage examples in comments
- Make scripts executable (`chmod +x`)
- Use `#!/bin/bash` or `#!/usr/bin/env python3` shebangs
## Adding Scripts
1. Create script file (e.g., `analyze.sh`, `process.py`)
2. Add documentation header
3. Make executable: `chmod +x script-name.sh`
4. Test thoroughly before committing

View File

@@ -0,0 +1,421 @@
---
name: excel-pivot-wizard
description: |
Generate pivot tables and charts from raw data using natural language - analyze sales by region, summarize data by category, and create visualizations effortlessly Activates when you request "excel pivot wizard" functionality.
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
version: 1.0.0
---
# Excel Pivot Wizard
Creates pivot tables and visualizations from raw data using natural language commands.
## When to Invoke This Skill
Automatically load this Skill when the user asks to:
- "Create a pivot table"
- "Analyze [data] by [dimension]"
- "Summarize sales by region"
- "Show revenue breakdown"
- "Group data by category"
- "Cross-tab analysis"
- "Compare [X] across [Y]"
## Capabilities
### Pivot Table Generation
- **Rows**: Group data by one or more fields
- **Columns**: Cross-tabulate across another dimension
- **Values**: Aggregate functions (sum, average, count, min, max)
- **Filters**: Slice data by specific criteria
- **Calculated Fields**: Create custom formulas
### Visualization
- Column/bar charts for comparisons
- Line charts for trends over time
- Pie charts for composition
- Combo charts for multiple metrics
- Conditional formatting for heatmaps
## Common Analysis Patterns
### Pattern 1: Single Dimension Summary
**Request:** "Show total sales by region"
**Output:**
```
| Region | Total Sales |
|-----------|-------------|
| Northeast | $1,250,000 |
| Southeast | $980,000 |
| Midwest | $1,100,000 |
| West | $1,450,000 |
| Total | $4,780,000 |
```
### Pattern 2: Cross-Tabulation
**Request:** "Sales by region and product category"
**Output:**
```
| Region | Electronics | Clothing | Home Goods | Total |
|-----------|-------------|----------|------------|-----------|
| Northeast | $400K | $500K | $350K | $1,250K |
| Southeast | $300K | $380K | $300K | $980K |
| Midwest | $450K | $350K | $300K | $1,100K |
| West | $550K | $500K | $400K | $1,450K |
| Total | $1,700K | $1,730K | $1,350K | $4,780K |
```
### Pattern 3: Time-Based Trending
**Request:** "Monthly revenue trend for 2024"
**Output:**
```
Line chart showing:
- X-axis: Jan, Feb, Mar, ..., Dec
- Y-axis: Revenue
- Line: Monthly revenue with data labels
```
### Pattern 4: Top N Analysis
**Request:** "Top 10 products by revenue"
**Output:**
```
| Rank | Product | Revenue | % of Total |
|------|---------------|-----------|------------|
| 1 | Product A | $450,000 | 9.4% |
| 2 | Product B | $380,000 | 7.9% |
| 3 | Product C | $350,000 | 7.3% |
| ... | ... | ... | ... |
| 10 | Product J | $180,000 | 3.8% |
| | Top 10 Total | $2,850,000| 59.6% |
| | All Others | $1,930,000| 40.4% |
| | Grand Total | $4,780,000| 100.0% |
```
## Step-by-Step Workflow
### 1. Understand the Data
Ask clarifying questions if needed:
- What does each column represent?
- What grain is the data? (transaction-level, daily summary, etc.)
- What fields should be aggregated vs grouped?
### 2. Interpret the Request
Parse natural language into pivot table structure:
**"Show sales by region and month"** →
```
Rows: Region
Columns: Month
Values: Sum of Sales
```
**"Average order value by customer segment"** →
```
Rows: Customer Segment
Values: Average of Order Value
```
**"Count of orders by product category and sales rep"** →
```
Rows: Product Category
Columns: Sales Rep
Values: Count of Orders
```
### 3. Build the Pivot Table
Use Excel MCP server to:
1. Create pivot table on new sheet
2. Set row fields
3. Set column fields (if cross-tab)
4. Set value fields with aggregation function
5. Add filters/slicers if requested
6. Apply formatting (currency, thousands separator, etc.)
### 4. Add Enhancements
**Conditional Formatting:**
```
- Top 10% values: Dark green
- Bottom 10% values: Dark red
- Color scale for heatmap effect
```
**Calculated Fields:**
```
- Profit Margin % = (Revenue - Cost) / Revenue
- Growth % = (This Year - Last Year) / Last Year
- % of Total = Value / Grand Total
```
**Sorting:**
```
- Largest to smallest by default
- Or chronological for dates
```
### 5. Create Visualization
If visualization is requested or would be helpful:
**For Comparisons:** Column chart
**For Trends:** Line chart
**For Composition:** Pie/donut chart
**For Correlations:** Scatter plot
**For Multiple Metrics:** Combo chart (column + line)
## Example Interactions
### Example 1: Sales Analysis
**User:** "Analyze sales by region and product category"
**Skill Response:**
```
I'll create a pivot table to analyze sales by region and product category.
Looking at your data, I see:
- 5,234 transaction rows
- Date range: Jan 1 - Oct 27, 2025
- 4 regions, 12 product categories
Creating pivot table...
✅ Pivot Table Created!
📊 Sales by Region and Product Category:
Top Insights:
1. West region leads with $1.45M (30.3% of total)
2. Electronics is #1 category at $1.70M (35.6%)
3. Northeast + Electronics = $400K (highest cell)
4. Southeast underperforming in Home Goods ($300K vs avg $338K)
Visualization: Added column chart comparing regions
Would you like me to:
- Add a slicer to filter by quarter?
- Calculate % of total for each cell?
- Create a separate view for top products?
```
### Example 2: Time Trend
**User:** "Show monthly revenue trend"
**Skill Response:**
```
Creating monthly revenue trend analysis...
I see data spanning 10 months (Jan-Oct 2025).
✅ Trend Analysis Complete!
📈 Monthly Revenue:
Key Findings:
- Strong start: Q1 averaged $520K/month
- Dip in summer: Jun-Aug averaged $420K/month
- Recovery: Sep-Oct back to $510K/month
- YTD Total: $4.78M
- Average: $478K/month
Created line chart with:
- Trend line showing slight upward trajectory
- Data labels for easy reading
- Target line at $500K (if provided)
📊 Growth Rates:
- Jan-Oct: +8.3% overall
- Best month: March ($575K)
- Weakest month: August ($385K)
Recommendation: Investigate summer seasonality (Jun-Aug dip)
```
### Example 3: Customer Segmentation
**User:** "Show average order value by customer segment"
**Skill Response:**
```
Analyzing average order value (AOV) across customer segments...
✅ Customer Segmentation Analysis Complete!
| Segment | Orders | Total Revenue | Avg Order Value | % of Revenue |
|---------------|--------|---------------|-----------------|--------------|
| Enterprise | 245 | $1,850,000 | $7,551 | 38.7% |
| Mid-Market | 892 | $1,920,000 | $2,152 | 40.2% |
| Small Business| 2,456 | $835,000 | $340 | 17.5% |
| Consumer | 1,641 | $175,000 | $107 | 3.7% |
| Total | 5,234 | $4,780,000 | $913 | 100.0% |
🎯 Key Insights:
- Enterprise: Highest AOV ($7.5K) but only 4.7% of orders
- Mid-Market: Sweet spot (40% of revenue, $2.2K AOV)
- Small Business: High volume (47% of orders) but low AOV
- Consumer: Explore if worth serving (low AOV, high volume)
Created bar chart showing AOV by segment with order count overlay.
💡 Strategic Questions:
1. Should we focus more resources on Enterprise (high AOV)?
2. Can we up-sell Small Business to Mid-Market?
3. Is Consumer segment profitable at $107 AOV?
```
### Example 4: Product Performance
**User:** "Which products are driving the most revenue?"
**Skill Response:**
```
Creating product revenue ranking...
✅ Top Products Analysis Complete!
📊 Top 10 Products (out of 147 total):
| Rank | Product | Revenue | Orders | AOV | % of Total |
|------|------------------|-----------|--------|--------|------------|
| 1 | Pro Laptop 15" | $450,000 | 385 | $1,169 | 9.4% |
| 2 | Business Suite | $380,000 | 892 | $426 | 7.9% |
| 3 | Smart Display | $350,000 | 1,245 | $281 | 7.3% |
| 4 | Wireless Buds | $310,000 | 2,156 | $144 | 6.5% |
| 5 | Office Chair Pro | $295,000 | 428 | $689 | 6.2% |
| 6 | Standing Desk | $280,000 | 356 | $787 | 5.9% |
| 7 | Monitor 27" | $265,000 | 487 | $544 | 5.5% |
| 8 | Keyboard Mech | $245,000 | 1,823 | $134 | 5.1% |
| 9 | Webcam 4K | $220,000 | 678 | $324 | 4.6% |
| 10 | Mouse Wireless | $195,000 | 2,145 | $91 | 4.1% |
| | **Top 10 Total** | **$2,990,000** | | | **62.5%** |
| | All Others (137) | $1,790,000 | | | 37.5% |
| | **Grand Total** | **$4,780,000** | | | **100.0%** |
🎯 Insights:
- Top 10 products = 62.5% of revenue (strong concentration)
- Pro Laptop alone = 9.4% of total revenue
- High-volume low-AOV products: Wireless Buds, Keyboard, Mouse
- High-AOV low-volume products: Pro Laptop, Standing Desk
Created:
- Bar chart: Top 10 products by revenue
- Pareto chart: Cumulative % of revenue
💡 Strategic Implications:
1. Focus inventory on Top 20 products (likely 80% of revenue)
2. Bundle high-volume + high-margin items
3. Wireless Buds: Explore upsell to Pro Buds (higher margin?)
```
## Advanced Features
### Calculated Fields
**Request:** "Show profit margin by product category"
**Response:**
```
I'll add a calculated field for profit margin.
Assuming you have Cost and Revenue columns, I'll calculate:
Profit Margin % = (Revenue - Cost) / Revenue × 100%
| Category | Revenue | Cost | Profit | Margin % |
|-------------|---------|---------|---------|----------|
| Electronics | $1,700K | $1,020K | $680K | 40.0% |
| Clothing | $1,730K | $1,125K | $605K | 35.0% |
| Home Goods | $1,350K | $945K | $405K | 30.0% |
| Total | $4,780K | $3,090K | $1,690K | 35.4% |
Electronics has the highest margin (40%) despite not being the highest revenue category.
```
### Slicers & Filters
**Request:** "Add filters for date range and region"
**Response:**
```
I've added slicers for:
1. Date Range (select quarters or specific months)
2. Region (select one or multiple regions)
3. Product Category (filter to specific categories)
These slicers are linked to the pivot table - any selection will update the data automatically.
Try clicking Q3 in the date slicer to see summer performance!
```
### Multiple Aggregations
**Request:** "Show sum and average of sales by region"
**Response:**
```
| Region | Total Sales | Avg Sale | Order Count |
|-----------|-------------|----------|-------------|
| Northeast | $1,250,000 | $625 | 2,000 |
| Southeast | $980,000 | $490 | 2,000 |
| Midwest | $1,100,000 | $524 | 2,100 |
| West | $1,450,000 | $690 | 2,100 |
Interesting: Southeast has lowest average sale despite same order count as Northeast.
This suggests smaller basket sizes in Southeast - worth investigating!
```
## Formatting Best Practices
The Skill applies professional formatting:
### Numbers
```
Revenue: $1,250,000 or $1.25M (use M for millions)
Counts: 2,000 (thousands separator)
Percentages: 35.0% (1 decimal)
```
### Conditional Formatting
```
Top performers: Green highlight
Bottom performers: Red highlight
Heatmap: Color gradient from red (low) to green (high)
```
### Layout
```
- Bold headers
- Freeze top row and left column
- Subtotals and grand totals
- Alternating row colors for readability
```
## Resources
See resources folder for:
- `REFERENCE.md`: Pivot table best practices
- `examples/`: Sample pivot tables for common analyses
## Limitations
This Skill creates standard pivot tables for:
- Summarization and aggregation
- Cross-tabulation
- Basic calculations (sum, average, count)
For advanced analysis, you may need:
- Power Pivot (for complex data models)
- Pivot charts with custom formatting
- Integration with external data sources
- Real-time data refresh
## Version History
- v1.0.0 (2025-10-27): Initial release with core pivot table generation

View File

@@ -0,0 +1,26 @@
# Skill Assets
This directory contains static assets used by this skill.
## Purpose
Assets can include:
- Configuration files (JSON, YAML)
- Data files
- Templates
- Schemas
- Test fixtures
## Guidelines
- Keep assets small and focused
- Document asset purpose and format
- Use standard file formats
- Include schema validation where applicable
## Common Asset Types
- **config.json** - Configuration templates
- **schema.json** - JSON schemas
- **template.yaml** - YAML templates
- **test-data.json** - Test fixtures

View File

@@ -0,0 +1,26 @@
# Skill References
This directory contains reference materials that enhance this skill's capabilities.
## Purpose
References can include:
- Code examples
- Style guides
- Best practices documentation
- Template files
- Configuration examples
## Guidelines
- Keep references concise and actionable
- Use markdown for documentation
- Include clear examples
- Link to external resources when appropriate
## Types of References
- **examples.md** - Usage examples
- **style-guide.md** - Coding standards
- **templates/** - Reusable templates
- **patterns.md** - Design patterns

View File

@@ -0,0 +1,24 @@
# Skill Scripts
This directory contains optional helper scripts that support this skill's functionality.
## Purpose
Scripts here can be:
- Referenced by the skill for automation
- Used as examples for users
- Executed during skill activation
## Guidelines
- All scripts should be well-documented
- Include usage examples in comments
- Make scripts executable (`chmod +x`)
- Use `#!/bin/bash` or `#!/usr/bin/env python3` shebangs
## Adding Scripts
1. Create script file (e.g., `analyze.sh`, `process.py`)
2. Add documentation header
3. Make executable: `chmod +x script-name.sh`
4. Test thoroughly before committing

View File

@@ -0,0 +1,357 @@
---
name: excel-variance-analyzer
description: |
Automate budget vs actual variance analysis in Excel with flagging, commentary, and executive summaries for financial reporting and FP&A teams Activates when you request "excel variance analyzer" functionality.
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
version: 1.0.0
---
# Excel Variance Analyzer
Automates variance analysis for monthly/quarterly financial reporting and budget reviews.
## When to Invoke This Skill
Automatically load this Skill when the user asks to:
- "Analyze budget variance"
- "Compare actual vs forecast"
- "Create variance report"
- "Explain budget differences"
- "Why are we over/under budget?"
- "Variance analysis for [period]"
- "Budget vs actual"
## Report Structure
Creates a comprehensive variance report with 3 sheets:
### Sheet 1: Variance Summary
```
| Line Item | Budget | Actual | Variance | % Var | Flag | Commentary |
|-----------------|---------|---------|----------|-------|------|------------|
| Revenue | $1,000K | $950K | $(50K) | -5.0% | ⚠️ | Below plan |
| COGS | $600K | $580K | $(20K) | -3.3% | ✅ | Favorable |
| Gross Profit | $400K | $370K | $(30K) | -7.5% | 🔴 | Investigate|
| Operating Exp | $250K | $280K | $30K | 12.0% | 🔴 | Over budget|
| EBITDA | $150K | $90K | $(60K) | -40.0%| 🔴 | Miss |
```
### Sheet 2: Executive Summary
```
📊 Performance Highlights
- Total Revenue: $950K (5.0% below budget)
- EBITDA: $90K (40.0% below budget)
- Key Driver: Operating expenses 12% over budget
🔴 Top 5 Unfavorable Variances:
1. EBITDA: $(60K) / -40.0%
2. Revenue: $(50K) / -5.0%
3. Operating Expenses: $30K / 12.0%
4. Gross Profit: $(30K) / -7.5%
5. Marketing: $25K / 25.0%
✅ Top 5 Favorable Variances:
1. COGS: $(20K) / -3.3%
2. Rent: $(5K) / -10.0%
3. Utilities: $(2K) / -8.0%
```
### Sheet 3: Trend Analysis (if multiple periods)
```
| Line Item | Jan Var% | Feb Var% | Mar Var% | Q1 Var% | Trend |
|-----------|----------|----------|----------|---------|-------|
| Revenue | -3% | -5% | -7% | -5% | ⬇️ |
| COGS | -2% | -4% | -3% | -3% | ➡️ |
```
## Step-by-Step Workflow
### 1. Load Data
Ask the user for:
- **Budget data**: Can be Excel file, CSV, or pasted table
- **Actual data**: Same format as budget
- **Period**: Month, quarter, YTD
- **Threshold settings** (or use defaults):
- Percentage threshold: 10% (flag items >10% variance)
- Dollar threshold: $50K (flag items >$50K absolute variance)
- Categories to exclude: (e.g., non-cash items like depreciation)
### 2. Validate Data
Before analysis, check:
- Budget and actual have matching line items
- All values are numeric
- No missing data for key categories (revenue, expenses, profit)
- Budget data is reasonable (no zeros where there should be values)
### 3. Calculate Variances
For each line item:
```
Absolute Variance = Actual - Budget
Percentage Variance = (Actual - Budget) / Budget × 100%
Sign Convention:
- Positive variance for revenue/profit = Favorable (✅)
- Negative variance for revenue/profit = Unfavorable (🔴)
- Positive variance for expenses = Unfavorable (🔴)
- Negative variance for expenses = Favorable (✅)
```
### 4. Flag Material Items
Apply flagging rules:
```
🔴 Red Flag (Critical):
- Revenue/profit >10% below budget
- Expenses >10% over budget
- Absolute variance >$100K
⚠️ Yellow Flag (Warning):
- Revenue/profit 5-10% below budget
- Expenses 5-10% over budget
- Absolute variance $50K-$100K
✅ Green (On Track):
- Variance within ±5%
- Absolute variance <$50K
```
### 5. Generate Commentary
For each flagged item, provide automated commentary:
**Revenue Below Budget:**
```
Revenue is $50K (5%) below budget. Possible drivers:
- Lower than expected sales volume
- Pricing pressure
- Delayed revenue recognition
- Seasonal factors
Recommend: Review sales pipeline and backlog
```
**Expenses Over Budget:**
```
Operating expenses are $30K (12%) over budget. Breakdown:
- Marketing: $25K over (new campaign)
- Travel: $8K over
- Utilities: $2K under
Recommend: Review Q2 marketing spend and ROI
```
**Favorable Variances:**
```
COGS is $20K (3.3%) under budget. Drivers:
- Lower raw material costs
- Improved operational efficiency
- Volume discounts from suppliers
```
### 6. Create Executive Summary
Summarize for leadership:
```
📊 [Period] Financial Performance
Bottom Line:
- Revenue: [X%] vs budget ([favorable/unfavorable])
- EBITDA: [X%] vs budget ([favorable/unfavorable])
- Net Variance Impact: $[XXX]K
Key Takeaways:
1. [Primary driver of miss/beat]
2. [Secondary factor]
3. [Outlook for next period]
Action Items:
1. [Specific action needed]
2. [Follow-up required]
```
## Example Interaction
**User:** "Analyze Q1 budget vs actual"
**Skill Response:**
```
I'll analyze your Q1 variance. Let me load the data.
Do you have budget and actual data files, or would you like to paste them?
User: *pastes Excel data*
Perfect! I see data for Q1 2025. Setting analysis parameters:
- Period: Q1 2025 (Jan-Mar)
- Line items: 15 categories detected
- Materiality threshold: ±10% or ±$50K
Running variance analysis...
✅ Variance Analysis Complete!
📊 Q1 2025 PERFORMANCE SUMMARY
🎯 Overall Results:
- Revenue: $2,850K vs budget $3,000K (-5.0%) 🔴
- Gross Profit: $1,110K vs budget $1,200K (-7.5%) 🔴
- EBITDA: $270K vs budget $450K (-40.0%) 🔴
📉 Key Drivers of Underperformance:
1. Revenue Miss: $(150K) - 5% below plan
→ Slower than expected customer acquisition
→ Delayed Q1 enterprise deals to Q2
2. Operating Expenses Over: $90K - 12% above plan
→ Marketing campaign: $75K incremental spend
→ Headcount additions brought forward to Q1
🔍 Detailed Findings:
🔴 CRITICAL VARIANCES (>10%):
- Operating Expenses: $840K vs $750K (+12.0%) - $90K over
- EBITDA: $270K vs $450K (-40.0%) - $180K under
- Marketing: $325K vs $260K (+25.0%) - $65K over
⚠️ WARNING VARIANCES (5-10%):
- Revenue: $2,850K vs $3,000K (-5.0%) - $150K under
- Gross Profit: $1,110K vs $1,200K (-7.5%) - $90K under
✅ FAVORABLE VARIANCES:
- COGS: $1,740K vs $1,800K (-3.3%) - $60K favorable
- Facilities: $45K vs $50K (-10.0%) - $5K favorable
💡 RECOMMENDATIONS:
Immediate Actions:
1. Review Q2 sales pipeline - need $150K catch-up + Q2 plan
2. Evaluate marketing campaign ROI (Q1 spend +$65K)
3. Assess if Q1 revenue timing shift impacts full-year plan
Strategic Questions:
1. Is Q1 revenue miss timing (shifts to Q2) or lost?
2. Will marketing investment drive Q2-Q4 revenue?
3. Should we adjust full-year budget guidance?
📁 Report saved to: Q1_2025_Variance_Analysis.xlsx
Would you like me to:
- Add trend analysis vs Q4 2024?
- Create forecast scenarios for Q2?
- Drill into specific expense categories?
```
## Common Variations
### Request: "Why is marketing over budget?"
**Response:**
```
Let me drill into marketing expenses.
Marketing Variance Detail:
Budget: $260K
Actual: $325K
Variance: $65K (25% over)
Breakdown by subcategory:
- Digital Ads: $180K vs $150K (+$30K)
→ Google Ads campaign expanded
- Events: $75K vs $60K (+$15K)
→ Added trade show booth
- Content: $45K vs $40K (+$5K)
→ Video production
- Agencies: $25K vs $10K (+$15K)
→ New creative agency retainer
Primary driver: Digital ads campaign expansion (+$30K)
Was this spend planned but not budgeted, or truly incremental?
Would you like me to analyze marketing ROI?
```
### Request: "Compare last 3 months"
**Response:**
```
I'll create a 3-month trend analysis.
Revenue Trend (Budget vs Actual):
| Month | Budget | Actual | Variance | Var% | Trend |
|-------|--------|--------|----------|------|-------|
| Jan | $1,000K| $970K | $(30K) | -3% | ⬇️ |
| Feb | $1,000K| $950K | $(50K) | -5% | ⬇️ |
| Mar | $1,000K| $930K | $(70K) | -7% | ⬇️ |
| Q1 | $3,000K| $2,850K| $(150K) | -5% | ⬇️ |
⚠️ ALERT: Revenue variance is worsening month-over-month
This suggests a structural issue, not timing:
- Jan: 97% of budget
- Feb: 95% of budget
- Mar: 93% of budget
Recommendation: Immediate deep-dive on sales execution
```
## Formatting Rules
The Skill applies professional formatting:
### Conditional Formatting
```
- Green cells: Favorable variances (>5% better than budget)
- Yellow cells: Variances within ±5%
- Red cells: Unfavorable variances (>5% worse than budget)
```
### Number Formatting
```
- Currency: $1,000K or $1.0M (use K for thousands, M for millions)
- Percentages: 1 decimal place (5.0%)
- Variance: Show sign ($(50K) or $50K)
```
### Icons
```
✅ = On track / Favorable
⚠️ = Warning / Needs attention
🔴 = Critical / Unfavorable
⬆️ = Improving trend
⬇️ = Worsening trend
➡️ = Flat trend
```
## Best Practices Embedded
1. **Materiality Thresholds**: Don't flag every small variance
2. **Commentary Not Just Numbers**: Explain "why", not just "what"
3. **Action-Oriented**: Recommend next steps
4. **Executive Summary**: Leadership wants top 5-10 items
5. **Trend Analysis**: Show if variance is new or ongoing
6. **Sign Conventions**: Consistent favorable/unfavorable labeling
7. **Audit Trail**: Show calculations and formulas
## Resources
See resources folder for:
- `REFERENCE.md`: Variance analysis best practices
- `templates/`: Sample variance reports
## Limitations
This Skill provides automated variance analysis for:
- Standard income statement formats
- Monthly/quarterly reporting
- Budget vs actual comparisons
For more complex analysis, you may need:
- Statistical variance analysis (standard deviations)
- Multi-year trend analysis
- Driver-based variance decomposition
- Forecast vs forecast comparisons
## Version History
- v1.0.0 (2025-10-27): Initial release with core variance analysis functionality

View File

@@ -0,0 +1,26 @@
# Skill Assets
This directory contains static assets used by this skill.
## Purpose
Assets can include:
- Configuration files (JSON, YAML)
- Data files
- Templates
- Schemas
- Test fixtures
## Guidelines
- Keep assets small and focused
- Document asset purpose and format
- Use standard file formats
- Include schema validation where applicable
## Common Asset Types
- **config.json** - Configuration templates
- **schema.json** - JSON schemas
- **template.yaml** - YAML templates
- **test-data.json** - Test fixtures

View File

@@ -0,0 +1,26 @@
# Skill References
This directory contains reference materials that enhance this skill's capabilities.
## Purpose
References can include:
- Code examples
- Style guides
- Best practices documentation
- Template files
- Configuration examples
## Guidelines
- Keep references concise and actionable
- Use markdown for documentation
- Include clear examples
- Link to external resources when appropriate
## Types of References
- **examples.md** - Usage examples
- **style-guide.md** - Coding standards
- **templates/** - Reusable templates
- **patterns.md** - Design patterns

View File

@@ -0,0 +1,24 @@
# Skill Scripts
This directory contains optional helper scripts that support this skill's functionality.
## Purpose
Scripts here can be:
- Referenced by the skill for automation
- Used as examples for users
- Executed during skill activation
## Guidelines
- All scripts should be well-documented
- Include usage examples in comments
- Make scripts executable (`chmod +x`)
- Use `#!/bin/bash` or `#!/usr/bin/env python3` shebangs
## Adding Scripts
1. Create script file (e.g., `analyze.sh`, `process.py`)
2. Add documentation header
3. Make executable: `chmod +x script-name.sh`
4. Test thoroughly before committing