> Performs financial ratio analysis, DCF valuation, budget variance analysis, and rolling forecast construction for strategic decision-making
npx skills add https://github.com/borghei/Claude-Skills --skill financial-analyst
Production-ready financial analysis toolkit providing ratio analysis, DCF valuation, budget variance analysis, and rolling forecast construction. Designed for financial analysts with 3-6 years experience performing financial modeling, forecasting & budgeting, management reporting, business performance analysis, and investment analysis.
Before the analysis, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
scripts/ratio_calculator.py)Calculate and interpret financial ratios from financial statement data.
Ratio Categories:
python 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:
python 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:
python 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:
python 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 |
| 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.
| Problem | Cause | Solution |
|---------|-------|----------|
| All ratios return 0.00 | Missing or zeroed financial statement fields in input JSON | Verify income_statement, balance_sheet, and cash_flow keys are populated with non-zero values; check field names match expected schema |
| DCF yields negative equity value | Net debt exceeds enterprise value, or WACC is set lower than terminal growth rate | Confirm net_debt is accurate; ensure terminal_growth_rate < WACC (typically 2-3% vs 8-12%); review capital structure assumptions |
| Sensitivity table shows "N/A" across entire row | WACC value in that row is less than or equal to every terminal growth rate in the range | Widen the gap between WACC and terminal growth; raise WACC inputs or lower the growth range in assumptions.terminal_growth_rate |
| Budget variance analyzer flags every line as material | Materiality thresholds set too low relative to the data scale | Increase --threshold-pct (e.g., from 5 to 10) and --threshold-amt (e.g., from 25000 to 100000) to match organizational materiality policy |
| Forecast builder produces flat projections | Historical data has fewer than 2 periods, or revenue_growth_rate is set to 0 | Provide at least 3-4 historical periods in historical_periods; set a non-zero revenue_growth_rate in assumptions |
| JSON parsing error on script execution | Malformed JSON input file (trailing commas, unquoted keys, encoding issues) | Validate input with python -m json.tool input_file.json; ensure UTF-8 encoding; remove trailing commas and comments |
| Valuation ratios all show "Insufficient data" | Missing market_data section in input JSON (share price, shares outstanding) | Add the market_data object with share_price, shares_outstanding, and earnings_growth_rate fields to the input file |
This skill covers:
This skill does NOT cover:
| Anti-pattern | Failure mode | Fix |
|--------------|--------------|-----|
| Building a DCF on a single-scenario forecast | False precision; one number presented as a target price | Always run base/bull/bear; present valuation as a range with sensitivity tables |
| Terminal growth rate ≥ long-run GDP growth | Valuation dominated by terminal value assuming perpetual above-economy growth | Cap terminal growth at 2-3% (long-run GDP proxy); if comps justify higher, flag explicitly |
| WACC inputs more than a quarter old | Rate environment moved; discount rate is wrong; valuation wrong | Refresh risk-free rate, ERP, and beta quarterly; document "last reviewed" date per input |
| Benchmarking ratios against a generic "industry average" | Peer set is wrong; conclusions are wrong | Use a specific comparable-company set (size, geography, business model) — see industry benchmarks in references/financial-ratios-guide.md |
| Reporting every variance instead of filtering by materiality | Stakeholders tune out; real issues buried | Apply a materiality threshold (absolute $ or % of budget); below threshold goes into an appendix, not the report |
| Favorable variance = "good"; unfavorable = "bad" | Misses revenue shortfalls masked by expense underspend; misses over-delivery hiding scope cuts | Always pair the classification with a root-cause note — direction alone is not insight |
| Mixing forecast periods (quarterly actuals against annual budget) | Variances that don't reconcile; trust collapses | Run the tools on matched periods only; if a period is partial, annotate and use period-adjusted comparisons |
| Treating model output as the answer | Model is a reasoning aid, not a decision | Lead the executive summary with the decision; put the model outputs in support |
| Related Skill | Domain | Integration Use Case |
|---------------|--------|---------------------|
| c-level-advisor/ceo-advisor | C-Level Advisory | Feed DCF valuation outputs and scenario comparisons into CEO strategic investment decisions and board-ready presentations |
| c-level-advisor/cto-advisor | C-Level Advisory | Provide technology investment ROI analysis and CapEx forecasts to support build-vs-buy and infrastructure scaling decisions |
| business-growth/revenue-operations | Business & Growth | Connect revenue forecasts and unit-economics metrics (CAC, LTV, payback period) to pipeline and go-to-market planning |
| product-team/product-manager | Product Team | Supply budget variance data and RICE-weighted financial projections for feature prioritization and resource allocation |
| data-analytics/data-analyst | Data Analytics | Export ratio analysis and forecast outputs as structured JSON for BI dashboard integration and trend visualization |
| project-management/project-financial-management | Project Management | Align budget variance analysis with project-level cost tracking, earned value management, and milestone-based funding releases |
scripts/ratio_calculator.pyCalculate and interpret financial ratios across 5 categories with industry benchmarking.
usage: ratio_calculator.py [-h] [--format {text,json}]
[--category {profitability,liquidity,leverage,efficiency,valuation}]
input_file
positional arguments:
input_file Path to JSON file with financial statement data
(must contain income_statement, balance_sheet,
cash_flow, and optionally market_data objects)
options:
-h, --help Show help message and exit
--format {text,json} Output format (default: text)
--category {profitability,liquidity,leverage,efficiency,valuation}
Calculate only a specific ratio category;
omit to calculate all 5 categories (20 ratios)
Ratios computed: ROE, ROA, Gross Margin, Operating Margin, Net Margin, Current Ratio, Quick Ratio, Cash Ratio, Debt-to-Equity, Interest Coverage, DSCR, Asset Turnover, Inventory Turnover, Receivables Turnover, DSO, P/E, P/B, P/S, EV/EBITDA, PEG Ratio.
scripts/dcf_valuation.pyDiscounted Cash Flow enterprise and equity valuation with WACC calculation and sensitivity analysis.
usage: dcf_valuation.py [-h] [--format {text,json}]
[--projection-years PROJECTION_YEARS]
input_file
positional arguments:
input_file Path to JSON file with valuation data
(must contain historical and assumptions objects)
options:
-h, --help Show help message and exit
--format {text,json} Output format (default: text)
--projection-years PROJECTION_YEARS
Number of projection years; overrides the value
in the input file (default: 5)
Outputs: WACC (CAPM), projected revenue and FCF, terminal value (perpetuity growth + exit multiple), enterprise value, equity value, value per share, and a two-way sensitivity table (WACC vs terminal growth rate).
scripts/budget_variance_analyzer.pyAnalyze actual vs budget vs prior year performance with materiality filtering and executive summaries.
usage: budget_variance_analyzer.py [-h] [--format {text,json}]
[--threshold-pct THRESHOLD_PCT]
[--threshold-amt THRESHOLD_AMT]
input_file
positional arguments:
input_file Path to JSON file with budget data
(must contain line_items array with actual,
budget, and optionally prior_year values)
options:
-h, --help Show help message and exit
--format {text,json} Output format (default: text)
--threshold-pct THRESHOLD_PCT
Materiality threshold as percentage (default: 10.0)
--threshold-amt THRESHOLD_AMT
Materiality threshold as dollar amount (default: 50000.0)
Outputs: Executive summary (revenue/expense/net impact), all variances with favorability classification, material variances filtered by threshold, department summary, and category summary.
scripts/forecast_builder.pyDriver-based revenue forecasting with rolling cash flow projection and multi-scenario modeling.
usage: forecast_builder.py [-h] [--format {text,json}]
[--scenarios SCENARIOS]
input_file
positional arguments:
input_file Path to JSON file with forecast data
(must contain historical_periods, drivers,
assumptions, cash_flow_inputs, and scenarios objects)
options:
-h, --help Show help message and exit
--format {text,json} Output format (default: text)
--scenarios SCENARIOS
Comma-separated list of scenarios to model
(default: base,bull,bear)
Outputs: Trend analysis (linear regression, growth rates, seasonality index), scenario comparison table, per-period forecast detail (revenue, COGS, gross profit, OpEx, operating income), and 13-week rolling cash flow projection with runway calculation.
Automatically organizes invoices and receipts for tax preparation by reading messy files, extracting key information, renaming them consistently, and sorting them into logical folders. Turns hours of manual bookkeeping into minutes of automated organization.
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
This skill calculates key financial ratios and metrics from financial statement data for investment analysis
This skill provides an advanced financial modeling suite with DCF analysis, sensitivity testing, Monte Carlo simulations, and scenario planning for investment decisions
This skill retrieves upcoming earnings announcements for US stocks using the Financial Modeling Prep (FMP) API. Use this when the user requests earnings calendar data, wants to know which companies are reporting earnings in the upcoming week, or needs a weekly earnings review. The skill focuses on mid-cap and above companies (over $2B market cap) that have significant market impact, organizing the data by date and timing in a clean markdown table format. Supports multiple environments (CLI, Desktop, Web) with flexible API key management.
Crypto wallet operations via the awal CLI — sign in, check balances, send USDC/ETH/POL/SOL, trade tokens, fund the wallet, and use the x402 payment protocol to discover paid services, pay for API calls, monetize an API, or query onchain data. Use whenever the user mentions signing in, login, authentication, wallet status, balance, address, sending money, paying someone, transferring tokens, ENS names, swapping/trading/converting tokens, funding/topping up/onramp, USDC, ETH, POL, SOL, the x402 bazaar, paid APIs, monetizing an endpoint, or querying onchain data on Base.
Access real-time and historical stock market data, forex rates, cryptocurrency prices, commodities, economic indicators, and 50+ technical indicators via the Alpha Vantage API. Use when fetching stock prices (OHLCV), company fundamentals (income statement, balance sheet, cash flow), earnings, options data, market news/sentiment, insider transactions, GDP, CPI, treasury yields, gold/silver/oil prices, Bitcoin/crypto prices, forex exchange rates, or calculating technical indicators (SMA, EMA, MACD, RSI, Bollinger Bands). Requires a free API key from alphavantage.co.
Braintree Automation: manage payment processing via Stripe-compatible tools for customers, subscriptions, payment methods, and transactions
Take borghei/financial-analyst from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.