geogons/skill-financial-analyst/skill-financial-analyst
Claude Code and agent skill by geogons/skill-financial-analyst
- community
Checking that the SKILL.md file is still in the repository.
Comprehensive financial analysis skill for stock research, portfolio review, and opportunity discovery. Use this skill when the user wants to: analyze stocks, review a portfolio, scan for new stock ideas, get buy/sell ratings, compute support/resistance levels, check insider or Congress trades, assess sentiment from Reddit/StockTwits/news, pull analyst ratings, or generate entry/exit price targets. Triggers: stock analysis, portfolio review, stock scanner, financial analysis, buy/sell rating, price target, technical analysis, sentiment analysis, insider trading, Congress trades, stock ideas, swing trade, entry levels, exit levels, support resistance, watchlist, deep dive, stock report.
Install
npx vskill@latest install geogons/skill-financial-analyst/skill-financial-analystSKILL.md
Financial Analysis Skill
A multi-source financial analysis engine that aggregates data from 14+ free APIs and 20+ RSS feeds to produce professional-grade stock analysis with actionable buy/sell ratings and price targets.
First-Time Setup
Before using this skill, read the API setup guide and configure API keys:
Then initialize the config:
Install Python dependencies:
Architecture Overview
How the API System Works
Every API call flows through scripts/api_caller.py which:
- Checks rate limits before calling (per-minute, per-day, per-month)
- Enforces delays between calls to avoid IP blocks
- Logs every call to
~/.financial-analysis/logs/api_usage.jsonl - On failure: logs to
error_log.jsonland tries the next API in the fallback chain - On all failures: returns an error with details of every attempt
The tracker at scripts/usage_tracker.py aggregates usage and generates:
- Daily usage reports with % of free limit consumed per API
- Error reports showing which APIs failed and which fallbacks worked
- Paid tier recommendations when any API exceeds 70% of its free limit
Fallback Chains
Every data category has a prioritized chain of APIs. If the primary fails or is rate-limited, the next one is tried automatically. The chains are defined in scripts/api_config.py → FALLBACK_CHAINS. Key chains:
| Data Category | Primary → Fallback(s) | |
|---|---|---|
| Price History | yfinance → Polygon → Alpha Vantage → FMP | |
| Financial Statements | yfinance + SEC EDGAR → Finnhub → FMP | |
| Analyst Ratings | Finnhub → yfinance → SA RapidAPI → Mboum | |
| Insider Trades | SEC EDGAR → Finnhub → Mboum → yfinance | |
| Congress Trades | Mboum → Quiver (paid) | |
| Technical Indicators | Alpha Vantage → Mboum → Polygon → FMP | |
| News Sentiment | Finnhub → Alpha Vantage → Alpaca | |
| Reddit Sentiment | ApeWisdom → StockTwits |
Three Use Cases
This skill supports three distinct workflows. The user will ask for one of them (or you can suggest the appropriate one based on context).
Use Case 1: Weekly Portfolio Review
Trigger: User provides a PDF, CSV, or list of current holdings and asks for a review, analysis, or buy/hold/sell recommendations.
Input: Portfolio holdings (tickers + optional quantities/cost basis) Output: Per-ticker rating (Buy / Hold / Trim / Sell) with confidence score, 3 entry levels, 3 sell targets, and key reasons. Frequency: Once per week (Sunday/Monday)
Workflow
Execute these phases in order. Use call_with_fallback() from scripts/api_caller.py for every API call to get automatic fallback + logging.
Phase A — Data Collection (for each ticker in portfolio):
- Fetch current price + 1yr daily OHLCV history (yfinance)
- Pull quarterly financial statements: income, balance sheet, cash flow (yfinance + SEC EDGAR)
- Get analyst ratings consensus: buy/hold/sell counts (Finnhub)
- Scan insider activity last 90 days: Form 4 filings (SEC EDGAR)
- Check insider sentiment score: MSPR (Finnhub)
- Pull front-month options chain (yfinance)
- Get news sentiment (Finnhub + Alpha Vantage)
- Single call: Reddit trending tickers + mention velocity (ApeWisdom)
- Single call: recent Congress trades (Mboum)
- Single call: upcoming earnings calendar (Finnhub)
Phase B — Technical Analysis (computed locally with pandas-ta, no API calls):
- SMA/EMA suite (10/20/50/100/200)
- RSI (14), MACD (12,26,9), Bollinger Bands (20,2)
- Stochastic Oscillator, ADX
- Volume analysis + OBV
- Pivot points (Classic + Fibonacci)
- Fibonacci retracement + extensions from recent swing
- ATR for position sizing
Phase C — Scoring (all local compute):
- Fundamental score (0-100): revenue growth, margins, FCF, ratios, peer comparison
- Technical score (0-100): trend, momentum, volatility, S/R positioning
- Sentiment score (0-100): analyst + insider + Congress + news + social
- Composite score: 40% fundamental + 30% technical + 30% sentiment
- Rating: 75-100 = Buy · 40-74 = Hold · 0-39 = Trim/Sell
Phase D — Output Generation (per ticker):
| Field | Description | |
|---|---|---|
| Rating | Buy / Hold / Trim / Sell | |
| Composite Score | 0-100 | |
| Confidence | Strong / Moderate / Weak (based on phase alignment) | |
| Entry 1 (Aggressive) | Current price (high conviction) | |
| Entry 2 (Moderate) | Nearest support / Fib 38.2% | |
| Entry 3 (Conservative) | Strong support / Fib 61.8% | |
| Target 1 (T1) | Nearest resistance / Fib ext 127.2% | |
| Target 2 (T2) | Major resistance / Fib ext 161.8% | |
| Target 3 (T3) | Full extension / Fib ext 261.8% | |
| Stop Loss | Below key support or 1.5× ATR | |
| Key Catalysts | Top 3-5 bullish drivers | |
| Key Risks | Top 3-5 bearish risks |
After all tickers are analyzed, run the usage report:
Use Case 2: Daily Opportunity Scanner
Trigger: User asks to find new stock ideas, scan for opportunities, or identify swing trades.
Input: User's portfolio focus (e.g., "growth", "value", "income") and optional current holdings to avoid duplicates. Output: Top 5 Portfolio Adds + Top 5 Swing Trades, each with score, 3 entries, 3 exits. Frequency: Daily (before market open)
Workflow
Phase A — Source Aggregation (cast a wide net):
- Scan all Tier 1+2 RSS feeds using
scripts/rss_feeds.py→scan_all_feeds(). Extract tickers mentioned across all feeds. - Pull Seeking Alpha per-ticker RSS for top 5 tickers from step 1.
- Get Reddit trending tickers (ApeWisdom) — cross-reference with RSS mentions.
- StockTwits sentiment scan for top 10 overlapping tickers.
- Check new Congress trades (Mboum).
- Pull upcoming earnings in next 5 days (Finnhub).
Phase B — Screening (narrow down to top 20 candidates):
- News sentiment on top 20 candidates (Finnhub).
- SA quant ratings + factor grades for top 5 (SA RapidAPI).
- AI sentiment score for top 5 (Alpha Vantage — 5 of 25/day).
- Price + volume screening (yfinance) — 52wk range positioning, volume vs avg.
- Financial health check for top 10 (yfinance) — revenue growth, margins, PE.
- Analyst consensus for top 10 (Finnhub).
- Insider activity for top 10 (SEC EDGAR).
Phase C — Analysis (for top 10 survivors):
- Compute S/R levels + entry/exit targets (pandas-ta locally).
- Check unusual options activity for top 5 (Mboum).
- Multi-factor scoring + final ranking (local compute).
Phase D — Output:
Present two lists:
Portfolio Adds (growth-aligned, longer horizon):
- Ticker, Score, Rating, 3 Entries, 3 Exits, Stop Loss, R:R, Catalysts
Swing Trades (momentum-based, shorter horizon):
- Ticker, Score, Rating, 3 Entries, 3 Exits, Stop Loss, R:R, Catalysts, Time Horizon
Use Case 3: On-Demand Stock Deep Dive
Trigger: User asks to analyze a specific stock, do a deep dive on a ticker, or asks "should I buy X?"
Input: 1-10 tickers Output: Full analyst-grade report per ticker with Buy / Watch·Hold / Sell rating, 3 entries, 3 exits, and comprehensive analysis.
Workflow
This is the most thorough analysis — every available data source is queried. Four phases, ~30 API calls per ticker.
Phase A — Fundamentals (11 steps per ticker): Company profile, 5yr income statement, quarterly income trends, balance sheet, cash flow, XBRL cross-validation from SEC EDGAR, key ratio computation (PE/PB/PS/PEG/EV-EBITDA/ROE/ROA/D-E/FCF yield), peer comparison (5 peers), earnings history + surprises, upcoming earnings date, dividend history.
Phase B — Technicals (17 steps, mostly local via pandas-ta): 2yr daily + 6mo intraday price history, SMA/EMA suite, RSI, MACD, Bollinger Bands, Stochastic, ADX, Volume + OBV, VWAP, Pivot Points, Fibonacci Retracement, Fibonacci Extensions, Volume Profile, ATR, Ichimoku Cloud. Cross-validate 2 indicators via Alpha Vantage API.
Phase C — Sentiment & Alternative Data (16 steps): Analyst ratings consensus (Finnhub), price targets (yfinance), insider Form 4 filings (SEC EDGAR), insider MSPR (Finnhub), Congress trades (Mboum), institutional holders (yfinance), short interest, news sentiment (Finnhub + AV AI), Reddit mentions (ApeWisdom), StockTwits sentiment, SA quant ratings + factor grades (SA RapidAPI), SA per-ticker articles (RSS), options flow (yfinance), unusual options (Mboum), recent SEC filings scan.
Phase D — Scoring & Output (12 steps, all local): Fundamental score (0-100), Technical score (0-100), Sentiment score (0-100), Composite score (weighted 40/30/30), Rating assignment (Buy ≥75 / Watch·Hold 40-74 / Sell <40), 3 Entry levels, 3 Exit targets, Stop Loss, Risk:Reward ratio, Confidence level, Key Catalysts, Key Risks.
Output a comprehensive per-ticker report with all findings. Only recommend trades where R:R ≥ 2:1.
Error Handling
When any API call fails, the system:
- Logs the error to
~/.financial-analysis/logs/error_log.jsonlwith timestamp, API, category, and error message - Tries the fallback — next API in the chain for that data category
- Logs fallback result — records which fallback was used and whether it succeeded
- If all fallbacks fail, continues with available data and notes the gap in the output
Viewing Errors
Common Errors and Fixes
| Error | API | Fix | |
|---|---|---|---|
| 429 Too Many Requests | yfinance | Increase delay to 5s. Reduce batch size. | |
| 429 Rate Limited | Alpha Vantage | 25/day limit hit. Wait or use pandas-ta locally. | |
| 403 Forbidden | SEC EDGAR | Set User-Agent email in config. | |
| API key invalid | Any | Check ~/.financial-analysis/api_keys.json | |
| Connection timeout | Any | Automatic fallback triggers. Check internet. |
Usage Reports & Paid Tier Recommendations
After each workflow run, the usage tracker saves a daily summary. When any API exceeds 70% of its free limit, it generates a paid tier recommendation:
The summary includes per-API: calls today/this month, % of free limit, error count, and a severity rating (SAFE / WARNING / CRITICAL).
The APIs most likely to need upgrading (in order):
- Alpha Vantage (25/day) — first to hit limits. Upgrade: $29.99/mo
- Mboum (600/mo) — tight if running all 3 use cases daily. Upgrade: $9.95/mo
- SA RapidAPI (1K/mo) — tight with heavy deep dive usage. Check RapidAPI pricing.
Important Notes
- This skill provides data-driven analysis, not financial advice. Always do your own due diligence.
- yfinance is an unofficial library — data may be delayed or temporarily unavailable.
- SEC EDGAR data is authoritative but requires parsing.
- All timestamps are in the timezone of the market being analyzed (US Eastern for US stocks).
- The scoring system weights can be adjusted based on user preference.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingSKILL.md
Popularity
- Repository stars
- 62
- Repository forks
- 22
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 May 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/geogons/skill-financial-analyst/skill-financial-analyst)