English | 简体中文
An AI-oriented Skill for downloading, parsing, searching, and analyzing SEC filings with EdgarTools. It preserves the requested SEC source and produces reusable local evidence: HTML/TXT, sections, tables, XBRL facts, SQLite metadata, and FTS5 indexes.
- Find companies, filing metadata, accession numbers, and Form types;
- Download and analyze 10-K, 10-Q, 8-K, 20-F, 6-K, F-1, S-1, S-4/F-4, 424B prospectuses, proxy, ownership, and fund filings;
- Parse filings into bounded sections, tables, XBRL facts, and searchable local indexes;
- Reuse downloaded filings offline for repeatable, evidence-backed analysis without placing an entire report in the model context.
The Skill is intended to trigger when a user explicitly mentions $edgartools, EdgarTools, or asks to use this Skill.
ChatGPT is useful for interpreting text that has already been provided or producing a one-off summary. This Skill solves a different problem: obtaining the correct SEC source first and making later analysis repeatable. ChatGPT handles interpretation, comparison, and writing; the Skill makes acquisition, parsing, and evidence management deterministic.
| Direct conversation | Using this Skill |
|---|---|
| You upload or paste the document, or rely on a temporary web result | Retrieves the requested accession from SEC EDGAR and records Form, CIK, filing date, and source |
A primary document may omit a 6-K EX-99.x attachment, tables, or XBRL context |
Archives relevant documents, parses sections, tables, and XBRL facts, and reports missing or failed parts |
| Long filings can exceed context limits, and repeated questions require another upload | Keeps raw filings and indexes local so bounded queries can be reused offline |
| It is difficult to reproduce which version and source supported a number | Retains accession, raw-file hash, parser version, and locatable SQLite/FTS5 evidence |
| Best for a fast, one-off answer | Best for multi-filing comparison, offline reuse, recovery, and a durable research trail |
The goal is not to push an entire filing into the model. The goal is to create a controlled chain: raw source → deterministic parsing → bounded evidence → analysis. This verifies the requested accession, preserves the source for offline review, applies the right handling to each Form, and carries period, unit, currency, dimensions, and source location with financial conclusions. If download or parsing is incomplete, the raw source is retained and the failure is reported instead of being called successful.
If you only need a quick summary of a short document you already uploaded, direct ChatGPT is faster. If you need reliable provenance, complete attachments, reusable local evidence, or comparison across filings, this Skill is the better fit.
Use EdgarTools 5.47.0 or newer:
python -m pip install "edgartools>=5.47.0"Install the Skill through EdgarTools when using the official package:
from edgar.ai import install_skill
install_skill() # default Claude skills directory
install_skill(to="C:/path/to/skills") # custom directoryTo distribute a portable package:
from edgar.ai import package_skill
package_skill(output="C:/path/to/output") # creates edgartools.zipFor this repository's modified source, follow PUBLISHING.md and use the Skill Creator packager.
SEC requests require a meaningful User-Agent identity containing a name or organization and a contact email. Set it locally; never commit a real identity to the repository:
$env:EDGAR_IDENTITY = "Your Name your.email@example.com"
python .agents/skills/edgartools/scripts/filing_store.py doctordoctor is read-only, does not contact SEC, and never prints the identity value. If it reports IDENTITY_NOT_SET, configure the identity in the current process and retry. Installing the Skill and reusing existing local filings do not require an email.
Download, parse, and index a filing in one step:
python .agents/skills/edgartools/scripts/filing_store.py ingest `
--accession "0000320193-25-000079"For several filings, use a bounded batch:
python .agents/skills/edgartools/scripts/filing_store.py ingest-many `
--accession "0000320193-25-000079" `
--accession "0000320193-25-000081" `
--workers 2Then use bounded local queries such as search, context, section, table-search, facts, and batch. The default local data directory is data/edgartools/; use --data-dir for a separate workspace.
The bundled mapping covers 23 unique SEC Form codes:
| Area | Forms |
|---|---|
| Corporate | 10-K, 10-Q, 8-K |
| Foreign issuers | 20-F, 40-F, 6-K |
| Capital raising | S-1, 424B2, 424B3, 424B4, 424B5, S-4, F-4, C, D, 1-A |
| Ownership | 3, 4, 13F-HR, SC 13D, SC 13G |
| Proxy | DEF 14A, DEFM14A |
The workflow has been tested with representative Chinese concept stocks, U.S. domestic issuers, Korean/Taiwanese issuers, registration statements, prospectuses, ownership notices, proxy statements, and fund-related filings.
- For 6-K/6-K/A, substantive material may be in the primary document or an
EX-99.xattachment; the pipeline checks both. readymeans core evidence was persisted. It does not mean every filing has XBRL facts, tables, or every optional field.- Some Forms do not have a specialized EdgarTools object. A 1-A filing, for example, may still provide raw documents, attachments, text, and search evidence even when
.obj()is unavailable. - HTML/TXT filings are the primary supported path. Scanned PDFs, images, unusual binary attachments, and new SEC Forms require an ingest-first compatibility check.
- 简体中文说明
- Full English guide
- User guide
- Publishing guide
- Third-party notices
- Model routing rules
- Local storage protocol
- SEC Form mappings
- Sharp edges
- EdgarTools official documentation
- SEC EDGAR
The Skill's original workflow, scripts, and documentation are released under the MIT License in LICENSE. The Skill uses the edgartools Python package at runtime and does not copy that package's source code. See THIRD_PARTY_NOTICES.md for attribution, source, and trademark guidance.