equity-research-skill: A Nine-Chapter Research Discipline for AI Agents
Possibly the deepest AI equity-research skill: nine-chapter single-stock deep dives and earnings deep-dives, with scripted DCF/EPV/EVA and reproducible valuation. Covers US, HK and A-shares. Docs in EN and ZH.
At a glance
- What is it?
- rollingSirius/equity-research-skill is an MIT-licensed Python skill that forces an AI agent through a nine-chapter single-stock report, with DCF, reverse DCF, EPV and EVA executed by scripts/dcf.py and assumptions filed as JSON. It is built for coverage work, not for a fast verdict.
- Who is it for?
- Adopt it if you already run an agent workflow (Claude or otherwise) and need repeatable, source-tagged valuation rather than prose. Do not adopt it if you want a one-line buy or sell signal, or if your coverage is outside US, HK and A-shares.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 28 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The Gap equity-research-skill Is Aiming At
Ask a general-purpose model to analyze a stock and you get a company profile, some recent headlines, and a valuation paragraph with a number that cannot be reconstructed. The README states the project's goal directly: not a few paragraphs of stock summary, but something close to institutional research discipline, producing a report that is fact-traceable, valuation-reproducible, and conclusion-auditable. That is the specific problem it solves, and it is a narrower problem than "AI for investing."
The intended user is someone doing long-term coverage, earnings reviews, investment memos, or valuation calibration. The README is explicit that it is not for delivering a one-line verdict as fast as possible. That framing matters when you evaluate it: a tool that refuses to emit a buy or sell action without an independent view will feel obstructive to someone who wants a quick screen, and that obstruction is the design.
Expectations Gap as the Spine of Every Report
Since v2, according to the README, every report is organized around an expectations gap: what the market has priced in versus your independent view. The mechanism is a reverse DCF plus PVGO decomposition, which together decode what the current price implies about revenue growth, margin, or return on capital, and how much of the price is paying for future growth. The output is an expectations-gap table and a falsifiable variant thesis. No independent view, no buy or sell action.
This is the most opinionated choice in the project. A reverse DCF inverts the usual direction of the calculation: instead of forecasting cash flows and discounting them to a price, it takes the market price as given and solves for the growth and margin assumptions embedded in it. The practical consequence is that the report's central claim is not "this stock is worth X" but "the market is assuming Y, and here is why Y is wrong." That is a claim you can falsify later, which is presumably the point.
Before any valuation runs, an earnings-quality review is performed. The README lists accrual quality, Beneish M-Score, revenue-recognition red flags, and governance signals feeding an A to D earnings-credibility grade, with grades C and D vetoing any buy action outright. A veto that fires before valuation is a blunt instrument, but it is a legible one: the grade is a gate, not a score that gets averaged into a final answer.
Nine Chapters, Two Modes, One Checker
Full research mode outputs a nine-chapter report: one-page summary with a verdict box and expectations-gap table, company and business detail, competitive landscape and moat, management and governance scorecard, financial analysis with earnings-quality review, multi-method valuation with a football-field chart, analyst views and divergence attribution, news and risks and catalysts, and finally the investment verdict with a counter-case and position-sizing reference.
Earnings mode is a separate nine-chapter structure, not a shortened version of the first. The README describes it as a nine-chapter earnings deep-dive covering surprise quality, segments and KPIs, GAAP versus Non-GAAP, cash flow, the call, and model and valuation changes. It splits into two cases: continuing coverage when a prior report or model exists, focused on what the print changes; and initiation from the earnings event when none exists, in which case the skill first rebuilds a baseline of at least three years and eight quarters.
Every earnings run also executes a minimum check set: accrual ratio, cash conversion, DSO and deferred-revenue divergence, and whether Non-GAAP adjustments are recurring. The repository layout shows an industries/ directory with twenty industry appendices, each changing the KPIs, model, valuation, and disconfirming-evidence framework, with required KPIs enforced by the checker. A tests/ directory sits alongside scripts/ and references/. The README does not describe a command for running the checker, so treat the enforcement as a property of the skill's workflow rather than something you invoke by hand.
Installing equity-research-skill and Running a First Valuation
The README does not give a pip install line or a package name. It presents the project as a skill, with SKILL.md at the repository root and scripts/ alongside it. What the README does document is the repository URL on GitHub, which is the only acquisition path it implies:
git clone https://github.com/rollingSirius/equity-research-skill.gitAfter cloning, the two things worth opening first are SKILL.md, which is the instruction surface the agent reads, and Example/EXAMPLE_NVDA.en.md, the English sample report the README links. Reading the sample before running anything tells you what the nine chapters actually look like when filled in, which is faster than inferring it from the chapter list.
The reproducible valuation runs through scripts/dcf.py, and the README states that key assumptions are filed as JSON. The README does not print the argument names or the JSON schema, so the honest next step is to open the script and read its interface rather than guess a flag. Do not assume an option exists because a similar tool has one. If the script requires an assumptions file, the schema will be visible in the script or in the tests directory. The README does describe one optional path: Monte Carlo, which outputs a fair-value distribution and P(intrinsic value < current price). It is listed as optional, so a first run does not need it.
One more acquisition detail: the README links a Chinese documentation file at README.zh-CN.md and an English one at README.en.md, so you can read the same material in either language before committing to the workflow.
Where the Discipline Breaks Down
The strongest limitation is also the most obvious: the whole thing depends on data you supply. Every key number is supposed to carry a source and timestamp, conflicting data is reconciled, and missing data must be written as "not obtained." That last rule is a real constraint on output quality. A model that is forbidden from filling gaps will produce reports with visible holes, and a reader who expects a complete financial table will find it incomplete by design. If your data pipeline cannot supply segment KPIs or a call transcript, the earnings mode has less to work with, and the report will say so rather than estimate.
The second constraint is scope. Coverage is US, HK, and A-share markets, including A/H dual-listing comparison and China ADR/VIE structural-risk pricing. A company listed elsewhere is outside the stated design, and the twenty industry appendices are a fixed set, so a sector without an appendix loses the KPI enforcement that the checker provides.
The third is the veto. An A to D earnings-credibility grade that blocks any buy action at C or D is a hard gate. Beneish M-Score and accrual screens are known to flag legitimate businesses in some periods, particularly asset-heavy or fast-growing ones. The README does not document an override path, so if you disagree with a C grade, the workflow does not appear to offer a documented way to proceed to a buy conclusion. That is a deliberate trade of flexibility for auditability, and it is the wrong tool for anyone who wants the model to defer to their own judgment at that step.
How It Differs from a General-Purpose Agent or a Spreadsheet Model
The natural alternative is not another stock tool; it is the workflow most analysts already have, which is a language model plus a spreadsheet. In that setup the model writes prose and the spreadsheet holds the model, and the two drift apart because nothing forces the prose to match the cells. This project's difference is that valuation is not left to the model's arithmetic: DCF, reverse DCF, probability-weighted three-scenario DCF, EPV and the three-factor method, EVA and residual income, SOTP, and optional Monte Carlo are all required to be executed by scripts/dcf.py, with assumptions filed as JSON. The prose and the numbers share one source.
A second difference is the outside view. Key assumptions are marked with their percentile against historical base rates, and beating the base rate requires a structural reason, with terminal value passing a three-point sanity check. A spreadsheet has no concept of a base rate unless you build one; here it is part of the assumption record.
A third is the calibration layer. The verdict label (undervalued, fairly valued, overvalued, plus action) maps through pre-registered calibration rules with a plus or minus 15 percent buffer band. Pre-registering the mapping before seeing the result is the part a manual process rarely does, and it is the part that makes the conclusion auditable rather than persuasive.
Maintenance, Licence and What an Upgrade Costs You
The repository is not archived, and the last push was on 2026-08-21. Two releases are listed: v2.0.0 on 2026-07-24 and v3.0.0 on 2026-08-12. The cadence between those two is under three weeks, which tells you the report structure is still moving, and the README itself marks the expectations-gap spine as arriving "since v2." A skill whose output format changes between minor versions is one where saved reports are not directly comparable across versions, so if you keep a research archive, record the version alongside each report.
The licence is MIT, which permits commercial use and modification. The repository also carries a LICENSE file at the root. Nothing in the README discusses data licensing, and that is the real exposure: the skill's source discipline requires you to attach a source and timestamp to every key number, but the MIT grant covers the code, not the market data or transcripts you feed it. Whether you may redistribute a report containing licensed data is a question for your data provider's terms, not this project's licence.
Upgrade cost is mostly re-reading SKILL.md. Since the agent's behaviour is driven by that file and by the industry appendices, a version bump can change what the agent does without any change to scripts/dcf.py. Pin a commit if you need stable output.
Editorial conclusion
Adopt it if you already run an agent workflow (Claude or otherwise) and need repeatable, source-tagged valuation rather than prose. Do not adopt it if you want a one-line buy or sell signal, or if your coverage is outside US, HK and A-shares. Before trusting an output, open scripts/dcf.py, read the bundled Example/EXAMPLE_NVDA.en.md case, and confirm that every key number in the report carries a source and timestamp.
Frequently asked questions
What is equity research?
The README frames it as the discipline this skill imitates: a nine-chapter single-stock report covering business, competition, governance, financials, valuation, catalysts, and a verdict. The project's stated aim is to make AI output fact-traceable, valuation-reproducible, and conclusion-auditable rather than a short summary.
Is equity research part of IB?
The README does not discuss investment banking or how research sits inside a bank. It describes the skill's own workflow, including a buy-side lens where conclusions map through pre-registered calibration rules and a pre-mortem is completed before finalizing.
What are the 6 research skills and examples?
The README does not list six skills. It documents two modes, full deep-dive research and earnings mode, each producing a nine-chapter report, and it links worked examples at Example/EXAMPLE_NVDA.en.md and Example/EXAMPLE_GOOGL.en.md.
Is equity research a good career?
The repository is a software skill for producing research reports and says nothing about careers or hiring. The README's only positioning statement is that the tool is built for serious investment research, long-term coverage, earnings reviews, and valuation calibration.
Community notes