Agent skill

Sec Filing Puller

by OneWave-AI in OneWave-AI/claude-skills

Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table.

MITAuto-check passedBusiness, Finance & HR

Install Sec Filing Puller

skills CLI
$ npx skills add OneWave-AI/claude-skills --skill sec-filing-puller -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OneWave-AI/claude-skills sec-filing-puller --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sec-filing-puller .claude/skills/sec-filing-puller && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sec-filing-puller
GitHub stars
328
Token cost
~2.1k tokens
SKILL.md length
932 words
Files
8 (incl. scripts, references)
Skills in repo
69
Repo updated
First seen
Licence
MIT

At a glance

Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table.

  • Works in 5 steps: Resolve the company → Pull → Check before presenting → …
  • Wants 10-K numbers
  • SKILL.md covers Setup (once), Workflow, Drill-down tools and Tests, plus 1 more section
  • Runs Python scripts from its folder; calls python3 and pip

What it does

Sec Filing Puller is an agent skill from OneWave-AI/claude-skills. Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table. Every value carries its accession number, form, fiscal period, filed date, XBRL tag and a link to the filing, and the tool handles fiscal-year ends, quarterly vs YTD vs TTM, derived Q4, restatements and units. Use this whenever the user wants 10-K numbers or 10-Q numbers, says "pull financials for", asks for public company revenue, net…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `references/edgar-api.md`, `references/xbrl-concepts.md` and `scripts/compare.py`).

It sits in Business, Finance & HR, covering Financial analysis. It works with SEC EDGAR. The repository describes itself as: 200+ production-ready Claude Code skills for sales, marketing, design, engineering, and AI agent architecture. Built and maintained by OneWave AI. The licence is MIT.

When your agent uses it

  • Wants 10-K numbers
  • Says pull financials for
  • Asks for public company revenue
  • A competitor side-by-side

Example prompts

  • “pull financials for”
  • “Use the sec-filing-puller skill to pull financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs…”
  • “/sec-filing-puller”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Resolve the company
  2. Pull
  3. Check before presenting
  4. Present with citations
  5. When a number isn't in XBRL, say so

What it can do on your machine

Read from SKILL.md and the folder at commit fc5b785. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • sec.gov

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sec Filing Puller loads about 2.1k tokens when it runs, and up to ~6.1k if it reads all its reference files. Until then it costs about 214 tokens; SKILL.md has 932 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~214
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from OneWave-AI/claude-skills at commit fc5b785, republished under its MIT licence (© OneWave-AI). 932 words, ~2,082 tokens.

Download SKILL.mdSave it as .claude/skills/sec-filing-puller/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
sec-filing-puller
description
Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table. Every value carries its accession number, form, fiscal period, filed date, XBRL tag and a link to the filing, and the tool handles fiscal-year ends, quarterly vs YTD vs TTM, derived Q4, restatements and units. Use this whenever the user wants 10-K numbers or 10-Q numbers, says "pull financials for", asks for public company revenue, net income, EPS, cash, debt or capex, wants comps or a competitor side-by-side, a credit check, prospect research, or model inputs, or mentions SEC filings or EDGAR, even if they never say XBRL. Free and primary-source, no paid data terminal needed. Do not use it for private companies, stock prices or valuation multiples.

SEC Filing Puller

Analysts lose a day prompting for 10-K numbers and still distrust the result. Models get these numbers wrong in predictable ways: they mix fiscal years, blend restated and originally reported figures, confuse quarterly with YTD or TTM, and slip on units. Do not recall financials from memory and do not scrape them from websites. Run the scripts. They read SEC's structured data and attach a filing citation to every number. Spend your own effort on judgment: whether the periods line up, whether the definitions match, and what the XBRL cannot tell you.

Setup (once)

SEC requires a declared User-Agent with contact info. Without one, requests get HTTP 403. Ask the user for their name/company and email if you don't have them, then run:

bash
export SEC_USER_AGENT="Acme Research jane@acme.com"   # the user's own contact, never a made-up one
pip install pandas                                     # the only dependency; everything else is stdlib

The scripts stay under SEC's 10 requests/second limit and cache responses in ~/.cache/sec-filing-puller (override with SEC_CACHE_DIR, bypass with --refresh). Endpoint details are in references/edgar-api.md.

Workflow

1. Resolve the company
bash
python3 scripts/sec_pull.py resolve "BRK.B"      # ticker, CIK or a name fragment

The command resolves the company to a CIK through SEC's company_tickers.json. If the name is ambiguous it lists the candidates, so ask the user which one they mean. Delisted companies are not in the ticker file, so use the CIK instead.

2. Pull
bash
python3 scripts/sec_pull.py pull AAPL                          # last 3 FYs + latest quarter + TTM, all metrics
python3 scripts/sec_pull.py pull MSFT --metrics revenue,net_income --years 5 --quarters 4
python3 scripts/sec_pull.py pull WMT --all-periods --format all --out ./sec   # full history for a model
python3 scripts/compare.py AAPL MSFT WMT --out ./comps                        # side-by-side comps

Metrics: revenue, gross_profit, operating_income, net_income, eps_diluted, diluted_shares, operating_cash_flow, capex, total_assets, cash, lt_debt_noncurrent, lt_debt_current, short_term_borrowings, shares_outstanding.

Output is a markdown table on stdout. With --out, the tool also writes a tidy CSV/JSON with one row per metric and period. Each row has these columns: value (raw units), unit, basis (reported / derived / not in XBRL), formula, tag, form, accn, filed, filing_index_url, document_url, original_value, original_accn, revised and notes.

3. Check before presenting

Read the > WARNING lines and the notes column. They carry the parts that matter:

  • Fiscal alignment. AAPL's year ends in late September, MSFT's on June 30 and WMT's on January 31. "FY2025" covers a different 12 months for each, and compare.py prints the exact dates. For comps, lead with TTM, or say plainly that the fiscal years are offset.
  • Derived values. Q4 is almost never tagged, so it is computed as FY minus the 9M YTD figure. 10-Q cash flows are YTD-only, so Q2 and Q3 cash flow is derived. Present derived numbers as derived and show the formula. EPS and share counts are never derived because they are not additive.
  • Restatements. By default the tool uses the latest-filed value. revised=True means a later filing changed the number, and the originally reported value and accession are kept next to it. Use --as-reported when the user wants what the company said at the time, for example to check an old model or a guidance comparison.
  • Tag and definition differences. Walmart's revenue is Revenues (total, including membership income) while Apple and Microsoft use RevenueFromContract... (net sales). The note gives the alternative value. When a comp mixes definitions, say so. The pitfalls for each metric are in references/xbrl-concepts.md.
  • Coverage. If the tool warns that a newer 10-K/10-Q/20-F exists without XBRL facts, the table is stale for that company. Read the newer filing and cite it. Do not present the older period as the latest.
  • Currency. Foreign filers report in their own currency (TSMC in TWD). Never label those numbers USD, and convert before comparing, stating the rate and its source.
Show full SKILL.md (398 more words)Show less
4. Present with citations

Keep the source on every number in the answer, not only in a footnote. Show the form, fiscal period, filed date and a linked accession, for example: Revenue FY2025 $416,161M (10-K, filed 2025-10-31, 0000320193-25-000079, us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax). Give the period dates next to fiscal labels. Round consistently (millions by default) and state the unit once.

When the stakes are high (a credit memo, a board slide, a number someone will quote), spot-check one or two values against the filing text. Open document_url and find the line in the income statement. The scripts were validated this way: Apple's FY2025 $416,161M net sales and $112,010M net income, and Walmart's FY2026 $713,163M total revenues and $21,893M net income, all match the 10-K text.

5. When a number isn't in XBRL, say so

Companyfacts contains only non-dimensional facts from standard taxonomies. These are not in the data:

  • Segment and geographic revenue, product lines, and backlog. Point to the segment note ("Segment Information" or "Revenue by geography") in the 10-K and quote it from the document.
  • Non-GAAP figures (adjusted EBITDA, adjusted EPS, free cash flow as the company defines it). These appear only in earnings releases, which are 8-K Exhibit 99.1. Label them non-GAAP and cite the exhibit.
  • KPIs such as subscribers, same-store sales and units shipped. They live in MD&A text.
  • Company-extension tags (aapl:...). Use sec_pull.py concept only for standard tags. For extensions, read the filing.
  • Quarterly data for foreign private issuers (20-F/40-F filers report interims on 6-K).

Write "not in XBRL; see 10-K Note X / MD&A / 8-K Ex. 99.1" rather than estimating. A guessed number next to cited ones spoils the whole table.

Drill-down tools

bash
python3 scripts/sec_pull.py tags WMT --grep revenue           # which standard tags a company files, date ranges
python3 scripts/sec_pull.py concept AAPL us-gaap:NetIncomeLoss # every filed value of one tag, with index links
python3 scripts/sec_pull.py frame us-gaap:Revenues CY2025      # one value per company for a calendar period (screens)

Use tags when a metric comes back "not in XBRL". The company may use a tag outside the curated list, and you can report that tag by name. Use concept to trace a surprising number back to every filing that reported it. Frames align facts to calendar periods, not fiscal ones, so print start/end with every frame value.

Tests

bash
python3 -m unittest discover -s tests -v    # offline, uses saved fixtures, no User-Agent needed

The fixtures cover Q4 derivation (FY minus 9M, plus the three-quarter fallback), YTD-only cash flow, restatement through a 10-K/A, --as-reported, the max-tag revenue rule, and a real Apple subset (FY2025 Q4 = $102,466M).

Scope

This is data retrieval, not investment advice. Present figures as reported by the company to the SEC, with their limitations stated, and leave conclusions about buying, selling or lending to the user.

© OneWave-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in sec-filing-puller of OneWave-AI/claude-skills.

  • SKILL.md
  • references/edgar-api.md
  • references/xbrl-concepts.md
  • scripts/compare.py
  • scripts/sec_pull.py
  • tests/fixtures/aapl_companyfacts_subset.json
  • tests/fixtures/synthetic_restatement.json
  • tests/test_sec_pull.py

Open the folder on GitHubat commit fc5b785

Compare with similar skills

Sec Filing Puller next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sec Filing Puller compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sec Filing Puller this skillOneWave-AI/claude-skills328—~2.1kAutomated safety check: PassMIT
Edgartoolsagent-skills-hub/agent-skills-hub1112 repos~1.4kAutomated safety check: PassMIT
Sec Datagauss314/skills247—~1.4kAutomated safety check: PassMIT
Equibles Researchdavepoon/buildwithclaude3.6k1 repos~906Automated safety check: PassMIT
Datapack Builderw95/awesome-claude-corporate-skills2391 repos~6kAutomated safety check: PassMIT
Financial Researchfirecrawl/web-agent1.2k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Edgartools

    agent-skills-hub/agent-skills-hub

    Python library for accessing, analyzing, and extracting data from SEC EDGAR filings.

    111 GitHub starsUsed in 2 repos~1.4k tokens
    Business, Finance & HRAuto-check passed
  • Sec Data

    gauss314/skills

    SEC EDGAR financial data: secfi library + structured JSON income statements, balance sheets, cash flow from XBRL facts.

    247 GitHub stars~1.4k tokensUpdated 3 mo ago
    Business, Finance & HRAuto-check passed
  • Equibles Research

    davepoon/buildwithclaude

    A skill your agent uses when the user asks about a US-listed company or the US market and wants sourced numbers, such as SEC filings and what a 10-K or 10-Q says, income statements and balance…

    3.6k GitHub starsUsed in 1 repo~906 tokens
    Business, Finance & HRAuto-check passed
  • Datapack Builder

    w95/awesome-claude-corporate-skills

    Build professional financial services data packs from various sources including CIMs, offering memorandums, SEC filings, web search, or MCP servers.

    239 GitHub starsUsed in 1 repo~6k tokens
    Business, Finance & HRAuto-check passed
  • Financial Research

    firecrawl/web-agent

    Pulls a public company's latest 10-K or 10-Q figures and analyst consensus from SEC EDGAR and Yahoo Finance, then cross-checks the two sources.

    1.2k GitHub stars~1.1k tokensUpdated 5 mo ago
    Business, Finance & HRAuto-check passed
  • US Market Data Toolkit

    Geeksfino/finskills

    Free Python scripts that fetch US stock data, SEC filings, insider trades and macro indicators, and run financial score calculators and portfolio analytics.

    283 GitHub stars~1.2k tokensUpdated 7 mo ago
    Business, Finance & HRAuto-check passed

More from OneWave-AI/claude-skills

All 69 skills in this repo
  • CRM Data Cleanup

    OneWave-AI/claude-skills

    Finds duplicate and junk records in a CRM CSV export with fuzzy matching, normalizes fields and writes a reviewable merge plan plus import-ready files without touching the live CRM.

    328 GitHub stars~2.5k tokensUpdated 7 days ago
    Auto-check passed
  • Design Export Repair

    OneWave-AI/claude-skills

    Repairs broken decks and PDFs exported from Claude Design or similar AI deck generators: clipped text, wrong fonts and corrupted .pptx package structure.

    328 GitHub stars~2.6k tokensUpdated 7 days ago
    Auto-check passed
  • Bi Measure Builder

    OneWave-AI/claude-skills

    Writes, explains, debugs, and optimizes BI calculations - Power BI / Fabric DAX measures and calculated columns, Tableau calculated fields (FIXED/INCLUDE/EXCLUDE LOD expressions, table…

    328 GitHub stars~2.2k tokensUpdated 7 days ago
    Auto-check passed
  • Bookkeeping Close

    OneWave-AI/claude-skills

    Categorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance.

    328 GitHub stars~2k tokensUpdated 7 days ago
    Auto-check passed
  • CSV and Excel Merger

    OneWave-AI/claude-skills

    Combines CSV, TSV and Excel files into one verified table with pandas, by stacking or joining, mapping columns, normalizing keys and removing duplicates.

    328 GitHub stars~1.6k tokensUpdated 7 days ago
    Auto-check passed
  • Spreadsheet QA

    OneWave-AI/claude-skills

    Answers business questions about the user's own spreadsheet or data export (CSV, TSV, XLSX from a CRM, Shopify, Stripe, QuickBooks, ad platforms, HR or payroll systems) correctly and auditably.

    328 GitHub stars~2.2k tokensUpdated 7 days ago
    Auto-check passed

Works with

Questions about Sec Filing Puller

What does Sec Filing Puller do?

Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table. Sec Filing Puller is an agent skill from OneWave-AI/claude-skills. Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table.

When should I use Sec Filing Puller?

Sec Filing Puller fits situations like: wants 10-K numbers; says pull financials for; asks for public company revenue; A competitor side-by-side.

How do I install Sec Filing Puller in Claude Code?

Run `npx skills add OneWave-AI/claude-skills --skill sec-filing-puller -a claude-code`. Or copy the skill folder (sec-filing-puller in OneWave-AI/claude-skills) into .claude/skills/sec-filing-puller in your project. Claude Code loads it when a task matches its description.

How do I install Sec Filing Puller in Codex?

Run `npx skills add OneWave-AI/claude-skills --skill sec-filing-puller -a codex`. Or copy the skill folder (sec-filing-puller in OneWave-AI/claude-skills) into .agents/skills/sec-filing-puller in your project. Codex loads it when a task matches its description.

Can I use Sec Filing Puller in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OneWave-AI/claude-skills --skill sec-filing-puller -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sec-filing-puller, .gemini/skills/sec-filing-puller, .github/skills/sec-filing-puller and .opencode/skills/sec-filing-puller in your project.

What does Sec Filing Puller need to run?

Going by SKILL.md and its folder, Sec Filing Puller needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and pip). Our summary lists: Python 3.

Does Sec Filing Puller access the network?

SKILL.md names 1 domain. As links in the text: sec.gov. This is read from the text; nothing was executed.

Is Sec Filing Puller safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Sec Filing Puller use?

Sec Filing Puller is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sec Filing Puller use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.

What are the alternatives to Sec Filing Puller?

Skills that share tags, products or a category with Sec Filing Puller: Edgartools (agent-skills-hub/agent-skills-hub, 111 stars), Sec Data (gauss314/skills, 247 stars), Equibles Research (davepoon/buildwithclaude, 3.6k stars) and Datapack Builder (w95/awesome-claude-corporate-skills, 239 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sec Filing Puller?

OneWave-AI (a GitHub organization) maintains it in OneWave-AI/claude-skills, which has 328 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on October 2, 2026.

Source: OneWave-AI/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.