Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Performs financial ratio analysis, DCF valuation, budget variance analysis, and rolling forecast construction for strategic decision-making. Use when analyzing financial statements, building valuation models, assessing budget variances, or constructing financial projections and forecasts. Also applicable when users mention financial modeling, cash flow analysis, company valuation, financial projections, or spreadsheet analysis.
.claude/skills/financial-analyst/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | — | — |
| case-17 | ✗→✓ | ▲ Improved | — | — |
| case-05 | ✗→✓ | ▲ Improved | — | — |
| case-15 | ✗→✓ | ▲ Improved | — | — |
| case-23 | ✗→✓ | ▲ Improved | — | — |
Production-ready financial analysis toolkit providing ratio analysis, DCF valuation, budget variance analysis, and rolling forecast construction. Designed for financial modeling, forecasting & budgeting, management reporting, business performance analysis, and investment analysis.
scripts/ratio_calculator.py)Calculate and interpret financial ratios from financial statement data.
Ratio Categories:
bashpython scripts/ratio_calculator.py sample_financial_data.json python scripts/ratio_calculator.py sample_financial_data.json --format json python scripts/ratio_calculator.py sample_financial_data.json --category profitability
scripts/dcf_valuation.py)Discounted Cash Flow enterprise and equity valuation with sensitivity analysis.
Features:
bashpython scripts/dcf_valuation.py valuation_data.json python scripts/dcf_valuation.py valuation_data.json --format json python scripts/dcf_valuation.py valuation_data.json --projection-years 7
scripts/budget_variance_analyzer.py)Analyze actual vs budget vs prior year performance with materiality filtering.
Features:
bashpython scripts/budget_variance_analyzer.py budget_data.json python scripts/budget_variance_analyzer.py budget_data.json --format json python scripts/budget_variance_analyzer.py budget_data.json --threshold-pct 5 --threshold-amt 25000
scripts/forecast_builder.py)Driver-based revenue forecasting with rolling cash flow projection and scenario modeling.
Features:
bashpython scripts/forecast_builder.py forecast_data.json python scripts/forecast_builder.py forecast_data.json --format json python scripts/forecast_builder.py forecast_data.json --scenarios base,bull,bear
| Reference | Purpose | |-----------|---------| | references/financial-ratios-guide.md | Ratio formulas, interpretation, industry benchmarks | | references/valuation-methodology.md | DCF methodology, WACC, terminal value, comps | | references/forecasting-best-practices.md | Driver-based forecasting, rolling forecasts, accuracy | | references/industry-adaptations.md | Sector-specific metrics and considerations (SaaS, Retail, Manufacturing, Financial Services, Healthcare) |
| Template | Purpose | |----------|---------| | assets/variance_report_template.md | Budget variance report template | | assets/dcf_analysis_template.md | DCF valuation analysis template | | assets/forecast_report_template.md | Revenue forecast report template |
| Metric | Target | |--------|--------| | Forecast accuracy (revenue) | +/-5% | | Forecast accuracy (expenses) | +/-3% | | Report delivery | 100% on time | | Model documentation | Complete for all assumptions | | Variance explanation | 100% of material variances |
All scripts accept JSON input files. See assets/sample_financial_data.json for the complete input schema covering all four tools.
None - All scripts use Python standard library only (math, statistics, json, argparse, datetime). No numpy, pandas, or scipy required.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-23 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +43 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.