Institutional-grade stock research, on autopilot.
34 InvestSkill analysis frameworks, driven by GitHub Actions and Gemini 3.6 Flash. Pick a ticker, pick a depth, and a full research report lands in the repo — no data vendor, no subscription, no API bill beyond your own key.
Free market data via yfinance · Reports in Traditional Chinese (繁體中文) by default
Showcase · 繁體中文
All 27 frameworks, run on one four-stock basket.
A worked example in Traditional Chinese: MU, SKHY, MRVL and SNDL — three memory/AI semis plus one deliberate outlier — all four of which gapped down 7.8–9.6% on the same day. Eight report pages covering the full framework catalogue and all seven cookbook workflows.
result-validator to catch記憶體超級循環的第一道裂縫
The hub. Why four unrelated tickers fell together, the central valuation question, and a map of all 27 frameworks to where each one is used.
- 總覽
- framework coverage
四檔對決
All 22 sub-factors shown with the raw input beside every score, plus every exclusion named rather than back-filled with a neutral 5.0.
- 5 dimensions
- sector-analysis
- result-validator
MU — 循環頂點的估值數學
Micron at $820.53 prices in an 80.4% operating margin sustained for ever at 15×. Its TTM profit is 16.6× the four-year average, and insiders sold $169M with zero buys.
- full-report
- bear-case
- position-ladder
SKHY — 當框架抓出自己的錯
Possibly the best business in the basket, and the report still refuses to give a target. KRW filings against a USD ADR yield a −31.5tn enterprise value and 13 trading days of history.
- result-validator 47/100
- LOW confidence
工作流 A–G
Seven chained workflows on real tickers. Two stop at the screening gate — and one of them proves the drawdown came from longs selling, not shorts attacking.
- 18 frameworks chained
- 2 gated
HBM 產業鏈地圖
The AI-memory chain as an 11-layer directed graph: three chokepoints, where the profit pool sits today, where it migrates next, and four second-order ideas.
- mermaid + ASCII
- 4 second-order names
Also in the showcase:
MRVL — GAAP 與 non-GAAP 的鴻溝
(goodwill is 77% of equity; three valuation methods disagree by an order of magnitude) and
SNDL — 0.41 倍淨值,但淨值在融化
(a value trap anatomy where even the bear-case DCF sits above the current price).
Every figure is computed from one shared yfinance
snapshot dated 29 Jul 2026 and is independently recomputable.
What we analyse
Every angle on a ticker, one framework at a time.
Each framework is a structured prompt from the InvestSkill plugin. Every one ends in the same investment signal block — score out of 10, direction, confidence, and a buy / hold / avoid call — so modules can be compared and combined.
Core analysis
Valuation and quality from first principles — the modules every report starts with.
- stock-eval
- fundamental-analysis
- technical-analysis
- dcf-valuation
- stock-valuation
- economics-analysis
Filings & calls
Deep reads of the primary documents, including a prior-year promise tracker.
- 10k-digest
- financial-report-analyst
- earnings-call-analysis
- earnings-preview
Positioning signals
Who is buying, who is selling, and how crowded the trade already is.
- insider-trading
- institutional-ownership
- short-interest
- dividend-analysis
Advanced research
Moats, supply chains, catalysts, and a deliberate short-seller red team.
- competitor-analysis
- industry-map
- bear-case
- catalyst-calendar
- position-ladder
- stock-screener
- options-analysis
- portfolio-review
- sector-analysis
- thesis-tracker
- etf-analysis
- tax-lens
- risk-stress-test
Output & validation
Chains the modules together, renders them, and scores how much to trust the result.
- full-report
- report-generator
- chart-master
- result-validator
- fact-check
- learning-coach
- research-bundle
34 frameworks in total. Three are kept as redirects to the skill they were merged into:
dcf-valuation → stock-valuation,
fundamental-analysis → stock-eval, and
research-bundle → full-report's depth flag.
Pick your depth
Five modules or fifteen — same pipeline.
One shared market-data snapshot feeds every module in the run, then a synthesis pass reconciles the signal blocks into a single verdict. A module that fails is recorded and skipped; it never takes the run down with it.
Quick
Rapid screen when time is the constraint.
stock-evaltechnical-analysisdcf-valuationinsider-tradingearnings-call-analysis
Standard
Balanced research before opening a position.
- Everything in Quick, plus:
institutional-ownershipcompetitor-analysissector-analysisoptions-analysisshort-interest
Comprehensive
Full pre-commitment due diligence.
- Everything in Standard, plus:
fundamental-analysisstock-valuationeconomics-analysisfinancial-report-analystdividend-analysis
How it works
Four steps, no infrastructure.
The whole thing is a Python package and a handful of GitHub Actions workflows. Trigger one by hand, or let the weekday schedule do it.
Load the frameworks
The workflow clones yennanliu/InvestSkill so GEMINI.md becomes the system context and prompts/*.md supply the frameworks.
Snapshot the market
One yfinance fetch per run — price history, financials, and valuation inputs — shared across every module so the numbers can't drift mid-report.
Run the modules
Each framework goes to the model with the shared snapshot. Gemini 3.6 Flash by default; --provider openai or claude swaps it.
Commit the report
Markdown is written to output/<type>/<ticker>/, Mermaid charts are linted, and the bot commits it back to main.
Coverage
16 tickers, 156 reports, all in the open.
Every report is committed to the repository, including the ones that aged badly. Main keeps the last 30 days, and older reports stay in git history. These links open the repository as of 2026-09-27, before the first cleanup.
Dates show the latest full report per ticker in that snapshot. Also archived: stock-eval, DCF valuation, fundamental analysis, and CrewAI multi-agent runs.
Bring your own model
One pipeline, three providers.
Set the matching API key as a repository secret and pass --provider. Defaults live in one file.
Secret: GEMINI_API_KEY
Secret: OPENAI_API_KEY
Secret: ANTHROPIC_API_KEY
Get started
Fork it, add one key, get a report tomorrow morning.
Add GEMINI_API_KEY
to your repository secrets, edit the scheduled ticker, and the weekday cron takes over from there.