How to install FinanceReport
npx skills add https://github.com/aojdevstudio/finance-guru --skill financereportFull instructions (SKILL.md)
Source of truth, from aojdevstudio/finance-guru.
name: FinanceReport description: Generate institutional-quality PDF analysis reports for stocks and ETFs. USE WHEN user mentions generate report, create pdf, stock analysis, ticker report, watchlist analysis, OR regenerate reports. Includes VGT-style headers, embedded charts, portfolio sizing, and Perplexity sentiment integration.
FinanceReport
Generate comprehensive 8-10 page PDF investment analysis reports with Finance Guru branding.
Workflow Routing
When executing a workflow, output this notification directly:
Running the **WorkflowName** workflow from the **FinanceReport** skill...
| Workflow | Trigger | File |
|---|---|---|
| GenerateSingleReport | "generate report for TSLA", "create PDF" | workflows/GenerateSingleReport.md |
| RegenerateBatch | "regenerate batch", "redo all reports" | workflows/RegenerateBatch.md |
| FullResearchWorkflow | "full analysis", "thorough research" | workflows/FullResearchWorkflow.md |
Examples
Example 1: Generate single ticker report
User: "Generate a report for NVDA"
-> Invokes GenerateSingleReport workflow
-> Runs quant tools (risk_metrics, momentum, volatility)
-> Fetches sentiment via Perplexity MCP
-> Builds 8-10 page PDF with VGT-style header
-> Saves to fin-guru-private/fin-guru/analysis/reports/NVDA-analysis-2025-12-18.pdf
Example 2: Regenerate all watchlist reports
User: "Regenerate batch 1 reports"
-> Invokes RegenerateBatch workflow
-> Launches 8 subagents in parallel
-> Each runs FullResearchWorkflow
-> Replaces existing PDFs with improved versions
Example 3: Deep research with full workflow
User: "Do a full analysis on AMZN for the 2026 watchlist"
-> Invokes FullResearchWorkflow
-> Phase 1: Market research (Perplexity/Exa for catalysts, risks)
-> Phase 2: Quant analysis (252-day risk metrics, 90-day momentum)
-> Phase 3: Strategy recommendation (buy/hold/sell, position sizing)
-> Phase 4: Generate comprehensive PDF report
Report Structure (8-10 Pages)
Cover Page (VGT-Style Header) - UNIFORM STANDARD
CRITICAL: Every report MUST follow this EXACT format:
┌─────────────────────────────────────────────────────────────┐
│ FINANCE GURU™ │
│ Family Office Investment Analysis │
│ ───────────────────────────────────────────────────────── │
│ │
│ TICKER - Full Company/Fund Name │
│ 2026 Watchlist Analysis & Investment Report │
│ │
├─────────────────────────────────────────────────────────────┤
│ Report Date: December 18, 2025 │
│ Analyst Team: Finance Guru Multi-Agent System │
│ • Market Researcher (Dr. Aleksandr Petrov)│
│ • Quant Analyst │
│ • Strategy Advisor │
│ Current Price: $XXX.XX │
│ YTD Performance: +XX.XX% │
│ Expense Ratio: 0.XX% (ETFs only) │
└─────────────────────────────────────────────────────────────┘
UNIFORMITY RULES:
- Analyst team names MUST be listed on EVERY report
- "Finance Guru Multi-Agent System" header REQUIRED
- Individual analyst names with personas (e.g., Dr. Aleksandr Petrov)
- Same format, same structure, every single time
Executive Summary
- Investment thesis (200+ words)
- Key findings with bold labels
- Final verdict box (rating, conviction, risk level)
Quantitative Analysis
- Risk metrics table (VaR, Sharpe, Beta, Alpha)
- Momentum indicators (RSI, MACD, Stochastic)
- Volatility assessment (ATR, Bollinger regime)
- Embedded charts where applicable
TABLE FORMATTING - CRITICAL:
- All table cells use Paragraph objects (text wraps, never overflows)
- Column widths explicitly set to fit within 7.5" content area
- Header row: Navy background, white text, bold
- Data rows: Alternating white/light gray backgrounds
Market Research
- Company overview and positioning
- 2026 catalysts and risks
- Analyst ratings and sentiment
- Perplexity MCP integration
Portfolio Sizing (NEW)
Shows BOTH percentage AND dollar amount:
Recommended Allocation: 2-3%
For $250,000 portfolio:
- Dollar amount: $5,000 - $7,500
- Share count: ~25-38 shares at $200
Strategy Recommendations
- Entry strategy with price targets
- Risk management (stop-loss levels)
- Position management approach
Sources & Disclaimer - UNIFORM STANDARD
CRITICAL: Every report MUST end with this EXACT format:
─────────────────────────────────────────────────────────────
DISCLAIMER: This analysis is provided for educational and
informational purposes only. [full disclaimer text]
Powered by Finance Guru™
Report Date: December 18, 2025
─────────────────────────────────────────────────────────────
"Powered by Finance Guru™" is REQUIRED on every report.
Tool Usage
ChartKit.py
uv run python .claude/skills/FinanceReport/tools/ChartKit.py \
--ticker TSLA \
--chart-type line \
--data-source cli
ReportGenerator.py
uv run python .claude/skills/FinanceReport/tools/ReportGenerator.py \
--ticker TSLA \
--portfolio-value 250000 \
--output-dir fin-guru-private/fin-guru/analysis/reports/
Integration Points
Perplexity MCP (Sentiment & Research)
# Search for market sentiment
mcp__perplexity__search(query=f"{ticker} stock analysis 2025 catalysts risks")
# Deep reasoning for thesis
mcp__perplexity__reason(query=f"Analyze {ticker} investment thesis for 2026")
Existing Finance Guru CLI Tools
src/analysis/risk_metrics_cli.py- VaR, CVaR, Sharpe, Sortino, Beta, Alphasrc/utils/momentum_cli.py- RSI, MACD, Stochastic, Williams %Rsrc/utils/volatility_cli.py- ATR, Bollinger Bands, Keltner Channelssrc/analysis/correlation_cli.py- Portfolio correlation matrix
User Profile
Reads portfolio value from fin-guru/data/user-profile.yaml for sizing:
investment_portfolio.total_value= Current portfolio value- Calculates exact dollar amounts for recommendations
Reference Files
- StyleGuide.md - Brand colors, typography, table styling
- VisGuide.md - Chart selection dictionary, labeling standards
Skill Type: Domain Enforcement: Suggest Priority: High Line Count: < 200 lines
Related skills
More from aojdevstudio/finance-guru and the wider catalog.

silicon-paddle-ocr
OCR skill using PaddleOCR model via SiliconFlow API. This skill should be used when the user asks to "recognize text from an image", "extract text from a photo", "OCR this image", "read text from screenshot", or mentions "PaddleOCR", "image text recognition", "text extraction from images".

agent-xlsx
Interact with Excel files (.xlsx, .xlsm, .xlsb, .xls, .ods) using the agent-xlsx CLI for data extraction, analysis, writing, formatting, visual capture, VBA analysis, and sheet management. Use when the user asks to: (1) Read, analyse, or search data in spreadsheets, (2) Write values or formulas to cells, (3) Inspect formatting, formulas, charts, or metadata, (4) Take screenshots or visual captures of sheets, (5) Export sheets to CSV/JSON/Markdown, (6) Manage sheets (create, rename, delete, copy, hide), (7) Analyse or execute VBA macros, (8) List/export embedded objects (charts, shapes, pictures), (9) Check for formula errors, or (10) Any task involving Excel file interaction. Prefer over openpyxl/pandas scripts — faster, structured JSON optimised for AI.
agent-memory
Agent skill from api/git.
mws-shared
Agent skill from api/git.
vip-test-executor
Agent skill from api/git.
vip-test-plan
Agent skill from api/git.