SEC Filing Analyzer
Turns raw SEC filings into structured research artifacts: financial tables, risk-factor diffs, MD&A digests, and red-flag summaries. Built for retail/independent research workflows where a Bloomberg terminal isn't available.
When to use this vs. plain web search
Use this skill for anything involving the structure of a filing (sections, XBRL tags, filing-to-filing deltas). Don't use it for simple "what's the stock price" queries — that's a plain search.
Core workflow
Step 1: Resolve the filing
Given a ticker or company name, resolve to a CIK (Central Index Key) via EDGAR's company search:
https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&company={NAME}&type={FORM_TYPE}&dateb=&owner=include&count=10
Or if the user gives a direct EDGAR URL / accession number, fetch it directly. Always confirm which specific filing (company, form type, period, filing date) before deep analysis — ambiguity here silently produces wrong numbers.
Step 2: Fetch structured data first, HTML second
SEC's XBRL "company facts" API returns machine-readable financials — always prefer this over parsing the HTML filing for numbers:
https://data.sec.gov/api/xbrl/companyfacts/CIK{10-digit-cik}.json
This gives every reported XBRL fact (Revenues, NetIncomeLoss, Assets, etc.) with period and unit. Use it to build the financial summary table (see references/financial-tables.md for the standard table schema and common XBRL tag mappings).
Only fall back to fetching the full filing HTML/text for qualitative sections (Risk Factors, MD&A, Legal Proceedings) that aren't in XBRL.
Step 3: Structure the output
Default output is a research note with these sections (skip any that don't apply to the form type):
- Filing snapshot — company, CIK, form type, period, filed date, accession number
- Financial summary table — revenue, net income, EPS, cash, total debt, YoY deltas (see reference for exact line items by form type)
- Risk factor changes — if a prior filing is available, diff the risk factors section; call out new risks, removed risks, and materially reworded ones. Never reproduce the filing's risk factor text verbatim beyond a short paraphrase (copyright discipline applies even to public filings — SEC filings are public domain, so verbatim short quotes are fine here, but keep them minimal and cite the section).
- MD&A digest — 3-5 bullet summary of management's stated drivers, in your own words
- Flags — going concern language, restatements, auditor changes, insider 10b5-1 plan activity, unusual related-party transactions
Step 4: Comparative analysis (multi-filing requests)
For "compare last two 10-Ks" style requests, fetch both via the XBRL API in one pass (the companyfacts endpoint already returns multi-period history — you often don't need two separate fetches), then present as a comparison table rather than two separate notes.
Output format
- Default: structured markdown note (not a downloadable file) for quick research
- If user asks to "save" or wants a shareable doc: build an artifact or
.docx using the docx skill, with the same section structure
- Financial tables: always tabular, never prose-embedded numbers
Common pitfalls
- Fiscal year ≠ calendar year: check
fiscalYearEnd before labeling periods
- Units matter: XBRL facts specify
USD vs USD/shares — mislabeling this produces nonsense per-share figures
- Amended filings (10-K/A) supersede the original — check for amendments before treating a filing as final
- 8-Ks are event-driven, not periodic — don't apply the financial-summary-table workflow to an 8-K about an executive departure
Reference
references/financial-tables.md — standard table schemas per form type + common XBRL tag reference
1---2name: sec-filing-analyzer3description: Extract, structure, and summarize SEC filings (10-K, 10-Q, 8-K, S-1) into research-ready formats — financial tables, risk factor deltas vs. prior filing, MD&A summaries, and insider-trading flags. Use this skill whenever the user mentions a ticker + filing type, pastes or links an SEC filing (EDGAR URL, accession number), asks to "summarize the 10-K", "what changed in the risk factors", "pull the financials from the latest 10-Q", or wants filing data turned into a structured research note. Also trigger for comparative filing analysis ("compare AAPL's last two 10-Ks") or building a filing-monitoring workflow.4---56# SEC Filing Analyzer78Turns raw SEC filings into structured research artifacts: financial tables, risk-factor diffs, MD&A digests, and red-flag summaries. Built for retail/independent research workflows where a Bloomberg terminal isn't available.910## When to use this vs. plain web search1112Use this skill for anything involving the **structure** of a filing (sections, XBRL tags, filing-to-filing deltas). Don't use it for simple "what's the stock price" queries — that's a plain search.1314## Core workflow1516### Step 1: Resolve the filing17Given a ticker or company name, resolve to a CIK (Central Index Key) via EDGAR's company search:18```19https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&company={NAME}&type={FORM_TYPE}&dateb=&owner=include&count=1020```21Or if the user gives a direct EDGAR URL / accession number, fetch it directly. Always confirm which specific filing (company, form type, period, filing date) before deep analysis — ambiguity here silently produces wrong numbers.2223### Step 2: Fetch structured data first, HTML second24SEC's XBRL "company facts" API returns machine-readable financials — always prefer this over parsing the HTML filing for numbers:25```26https://data.sec.gov/api/xbrl/companyfacts/CIK{10-digit-cik}.json27```28This gives every reported XBRL fact (Revenues, NetIncomeLoss, Assets, etc.) with period and unit. Use it to build the financial summary table (see `references/financial-tables.md` for the standard table schema and common XBRL tag mappings).2930Only fall back to fetching the full filing HTML/text for qualitative sections (Risk Factors, MD&A, Legal Proceedings) that aren't in XBRL.3132### Step 3: Structure the output33Default output is a research note with these sections (skip any that don't apply to the form type):34351. **Filing snapshot** — company, CIK, form type, period, filed date, accession number362. **Financial summary table** — revenue, net income, EPS, cash, total debt, YoY deltas (see reference for exact line items by form type)373. **Risk factor changes** — if a prior filing is available, diff the risk factors section; call out new risks, removed risks, and materially reworded ones. Never reproduce the filing's risk factor text verbatim beyond a short paraphrase (copyright discipline applies even to public filings — SEC filings are public domain, so verbatim short quotes are fine here, but keep them minimal and cite the section).384. **MD&A digest** — 3-5 bullet summary of management's stated drivers, in your own words395. **Flags** — going concern language, restatements, auditor changes, insider 10b5-1 plan activity, unusual related-party transactions4041### Step 4: Comparative analysis (multi-filing requests)42For "compare last two 10-Ks" style requests, fetch both via the XBRL API in one pass (the companyfacts endpoint already returns multi-period history — you often don't need two separate fetches), then present as a comparison table rather than two separate notes.4344## Output format45- Default: structured markdown note (not a downloadable file) for quick research46- If user asks to "save" or wants a shareable doc: build an artifact or `.docx` using the docx skill, with the same section structure47- Financial tables: always tabular, never prose-embedded numbers4849## Common pitfalls50- **Fiscal year ≠ calendar year**: check `fiscalYearEnd` before labeling periods51- **Units matter**: XBRL facts specify `USD` vs `USD/shares` — mislabeling this produces nonsense per-share figures52- **Amended filings** (10-K/A) supersede the original — check for amendments before treating a filing as final53- **8-Ks are event-driven, not periodic** — don't apply the financial-summary-table workflow to an 8-K about an executive departure5455## Reference56- `references/financial-tables.md` — standard table schemas per form type + common XBRL tag reference