Financial Research
Extract official financials from SEC filings and cross-reference with analyst consensus. Public companies only.
When to use
- User asks for a company's financials: "revenue of NVIDIA", "Apple's latest 10-K"
- User asks for analyst sentiment: "what are analysts saying about TSLA?"
- User provides a ticker with no clear verb: "MSFT" → assume they want a financial overview
- User wants an earnings summary before or after a release
Do NOT use for private company research, crypto, or macro/market commentary — deep-research handles those better.
Strategy
Resolve the ticker.
- User gave a ticker: use it directly.
- User gave a company name: search
"<company> stock ticker" and confirm from the top result.
Get the latest SEC filing.
- Use the sec.gov playbook to locate the most recent 10-K (annual) or 10-Q (quarterly).
- Scrape the filing index page, then the primary filing document.
- Extract: revenue, net income, operating income, EPS (basic and diluted), gross margin, forward guidance if given.
Get analyst consensus.
- Use the finance.yahoo.com playbook for the analyst tab.
- Extract: consensus rating, average / low / high price target, number of analysts covering.
Cross-reference.
- If the user asked for a specific metric, verify it against at least two sources.
- Flag discrepancies between the filing and third-party aggregators.
Call formatOutput with the structured result.
Quick start
// Full financial overview
await agent.run({
prompt: 'Get a complete financial overview of NVIDIA',
skills: ['financial-research'],
format: 'json',
})
// Specific metric
await agent.run({
prompt: 'What was AAPL revenue in the most recent quarter?',
skills: ['financial-research'],
})
// Earnings preparation for multiple tickers — delegate per-ticker
await agent.run({
prompt: 'Get the latest reported revenue, EPS, and guidance for NVDA, AMD, and INTC',
skills: ['financial-research'],
format: 'json',
})
Output schema
{
"ticker": "NVDA",
"company": "NVIDIA Corporation",
"fiscalPeriod": "FY2026 Q4 ended 2026-01-26",
"filing": {
"type": "10-K",
"url": "https://www.sec.gov/...",
"filedDate": "2026-02-21"
},
"financials": {
"revenue": null,
"netIncome": null,
"operatingIncome": null,
"epsBasic": null,
"epsDiluted": null,
"grossMargin": null,
"unit": "USD millions"
},
"guidance": "",
"analyst": {
"rating": "Strong Buy",
"priceTarget": { "average": null, "low": null, "high": null },
"numAnalysts": null,
"sourceUrl": ""
},
"sources": []
}
Tips
- SEC EDGAR is the source of truth for the numbers. Yahoo and aggregators can lag or be wrong. If a number in the 10-K disagrees with Yahoo, trust EDGAR.
- Watch the fiscal calendar. NVIDIA, Apple, and others don't use calendar quarters — always capture the exact
fiscalPeriod the numbers apply to.
- Units matter. SEC filings report in millions or thousands with a table-header note. Capture
financials.unit so downstream consumers don't multiply by the wrong power of 10.
- Don't fabricate analyst data. If Yahoo's analyst page 404s or loads empty, set
analyst.rating to null and note it in sources. Never guess.
- For earnings-release watches, include
filing.filedDate so users can see if they're looking at yesterday's filing or last quarter's.
See also
1---2name: financial-research3description: Pull company financials, SEC filings, and analyst consensus for a public company. Use this skill whenever the user says "10-K", "10-Q", "earnings", "revenue of", "financials for", "analyst rating for", "price target for", or provides a stock ticker. Combines SEC EDGAR for official filings with Yahoo Finance / TipRanks for analyst data. Search + scrape only; no interact needed.4---56# Financial Research78Extract official financials from SEC filings and cross-reference with analyst consensus. Public companies only.910## When to use1112- User asks for a company's financials: "revenue of NVIDIA", "Apple's latest 10-K"13- User asks for analyst sentiment: "what are analysts saying about TSLA?"14- User provides a ticker with no clear verb: "MSFT" → assume they want a financial overview15- User wants an earnings summary before or after a release1617Do NOT use for private company research, crypto, or macro/market commentary — `deep-research` handles those better.1819## Strategy20211. **Resolve the ticker.**22 - User gave a ticker: use it directly.23 - User gave a company name: search `"<company> stock ticker"` and confirm from the top result.24252. **Get the latest SEC filing.**26 - Use the [sec.gov](sites/sec-gov.md) playbook to locate the most recent 10-K (annual) or 10-Q (quarterly).27 - Scrape the filing index page, then the primary filing document.28 - Extract: revenue, net income, operating income, EPS (basic and diluted), gross margin, forward guidance if given.29303. **Get analyst consensus.**31 - Use the [finance.yahoo.com](sites/yahoo-finance.md) playbook for the analyst tab.32 - Extract: consensus rating, average / low / high price target, number of analysts covering.33344. **Cross-reference.**35 - If the user asked for a specific metric, verify it against at least two sources.36 - Flag discrepancies between the filing and third-party aggregators.37385. **Call `formatOutput`** with the structured result.3940## Quick start4142```typescript43// Full financial overview44await agent.run({45 prompt: 'Get a complete financial overview of NVIDIA',46 skills: ['financial-research'],47 format: 'json',48})49```5051```typescript52// Specific metric53await agent.run({54 prompt: 'What was AAPL revenue in the most recent quarter?',55 skills: ['financial-research'],56})57```5859```typescript60// Earnings preparation for multiple tickers — delegate per-ticker61await agent.run({62 prompt: 'Get the latest reported revenue, EPS, and guidance for NVDA, AMD, and INTC',63 skills: ['financial-research'],64 format: 'json',65})66```6768## Output schema6970```json71{72 "ticker": "NVDA",73 "company": "NVIDIA Corporation",74 "fiscalPeriod": "FY2026 Q4 ended 2026-01-26",75 "filing": {76 "type": "10-K",77 "url": "https://www.sec.gov/...",78 "filedDate": "2026-02-21"79 },80 "financials": {81 "revenue": null,82 "netIncome": null,83 "operatingIncome": null,84 "epsBasic": null,85 "epsDiluted": null,86 "grossMargin": null,87 "unit": "USD millions"88 },89 "guidance": "",90 "analyst": {91 "rating": "Strong Buy",92 "priceTarget": { "average": null, "low": null, "high": null },93 "numAnalysts": null,94 "sourceUrl": ""95 },96 "sources": []97}98```99100## Tips101102- **SEC EDGAR is the source of truth for the numbers.** Yahoo and aggregators can lag or be wrong. If a number in the 10-K disagrees with Yahoo, trust EDGAR.103- **Watch the fiscal calendar.** NVIDIA, Apple, and others don't use calendar quarters — always capture the exact `fiscalPeriod` the numbers apply to.104- **Units matter.** SEC filings report in millions or thousands with a table-header note. Capture `financials.unit` so downstream consumers don't multiply by the wrong power of 10.105- **Don't fabricate analyst data.** If Yahoo's analyst page 404s or loads empty, set `analyst.rating` to null and note it in `sources`. Never guess.106- **For earnings-release watches**, include `filing.filedDate` so users can see if they're looking at yesterday's filing or last quarter's.107108## See also109110- [deep-research](../deep-research/SKILL.md) — for qualitative research (moats, macro, competitive dynamics)111- [structured-extraction](../structured-extraction/SKILL.md) — lower-level helper for custom financial schemas112- [competitor-analysis](../competitor-analysis/SKILL.md) — when comparing multiple public companies head-to-head