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/alirezarezvani-financial-analyst/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 103% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 90% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 48% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 37% | 0% |
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 assets/sample_financial_data.json python scripts/ratio_calculator.py assets/sample_financial_data.json --format json python scripts/ratio_calculator.py assets/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 assets/sample_financial_data.json python scripts/dcf_valuation.py assets/sample_financial_data.json --format json python scripts/dcf_valuation.py assets/sample_financial_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 assets/sample_financial_data.json python scripts/budget_variance_analyzer.py assets/sample_financial_data.json --format json python scripts/budget_variance_analyzer.py assets/sample_financial_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 assets/sample_financial_data.json python scripts/forecast_builder.py assets/sample_financial_data.json --format json python scripts/forecast_builder.py assets/sample_financial_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 in either of two shapes:
income_statement / balance_sheet for the ratio calculator, historical / assumptions for DCF, line_items for variance, historical_periods / drivers / assumptions / cash_flow_inputs for forecasting).ratio_analysis, dcf_valuation, budget_variance, forecast. See assets/sample_financial_data.json for the complete bundled schema; every quick-start command above runs directly against it.Each script auto-detects the shape (flat keys win if present) and exits non-zero with a clear error if neither shape yields usable data.
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-01 | pass→fail | 20,231 | 5,155 | -75% | 1 | 1 | 0% | 4,715 | 1,892 | -60% | 0 | 0 | — |
case-02 | fail→pass | 5,406 | 2,414 | -55% | 1 | 1 | 0% | 996 | 2,023 | +103% | 0 | 0 | — |
case-03 | pass→pass | 4,465 | 1,747 | -61% | 1 | 1 | 0% | 709 | 1,913 | +170% | 0 | 0 | — |
case-04 | pass→pass | 5,000 | 2,190 | -56% | 1 | 1 | 0% | 918 | 1,934 | +111% | 0 | 0 | — |
case-05 | fail→pass | 5,514 | 2,001 | -64% | 1 | 1 | 0% | 1,038 | 1,969 | +90% | 0 | 0 | — |
case-06 | pass→pass | 4,711 | 2,833 | -40% | 1 | 1 | 0% | 894 | 2,101 | +135% | 0 | 0 | — |
case-07 | fail→pass | 10,807 | 7,501 | -31% | 1 | 1 | 0% | 1,943 | 2,872 | +48% | 0 | 0 | — |
case-08 | fail→pass | 6,120 | 1,586 | -74% | 1 | 1 | 0% | 1,096 | 1,852 | +69% | 0 | 0 | — |
case-09 | pass→pass | 8,828 | 2,072 | -77% | 1 | 1 | 0% | 1,512 | 1,886 | +25% | 0 | 0 | — |
case-10 | pass→pass | 9,681 | 1,929 | -80% | 1 | 1 | 0% | 1,650 | 1,900 | +15% | 0 | 0 | — |
case-11 | pass→pass | 11,378 | 1,988 | -83% | 1 | 1 | 0% | 2,019 | 1,841 | -9% | 0 | 0 | — |
case-12 | pass→pass | 7,913 | 1,603 | -80% | 1 | 1 | 0% | 1,511 | 1,841 | +22% | 0 | 0 | — |
case-13 | fail→pass | 8,719 | 2,235 | -74% | 1 | 1 | 0% | 1,430 | 1,955 | +37% | 0 | 0 | — |
case-14 | pass→pass | 6,323 | 2,215 | -65% | 1 | 1 | 0% | 1,049 | 1,925 | +84% | 0 | 0 | — |
case-15 | fail→pass | 8,641 | 2,750 | -68% | 1 | 1 | 0% | 1,638 | 2,120 | +29% | 0 | 0 | — |
case-16 | pass→pass | 10,596 | 4,866 | -54% | 1 | 1 | 0% | 1,803 | 2,536 | +41% | 0 | 0 | — |
case-17 | pass→pass | 12,305 | 8,939 | -27% | 1 | 1 | 0% | 2,337 | 3,228 | +38% | 0 | 0 | — |
case-18 | pass→pass | 13,649 | 13,774 | +1% | 1 | 1 | 0% | 2,710 | 4,175 | +54% | 0 | 0 | — |
case-19 | pass→pass | 13,604 | 10,160 | -25% | 1 | 1 | 0% | 2,534 | 3,447 | +36% | 0 | 0 | — |
case-20 | fail→pass | 15,836 | 10,505 | -34% | 1 | 1 | 0% | 2,919 | 3,403 | +17% | 0 | 0 | — |
case-21 | fail→fail | 19,737 | 27,554 | +40% | 1 | 1 | 0% | 4,205 | 7,102 | +69% | 0 | 0 | — |
case-22 | pass→pass | 3,508 | 10,060 | +187% | 1 | 1 | 0% | 636 | 3,562 | +460% | 0 | 0 | — |
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. 22 cases were attempted, and 21 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 +27 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.