How to pull SEC EDGAR data with the edgartools Python package — company lookup, filings, XBRL financial statements, and filing sections like Item 1A risk factors. Use whenever a task involves SEC filings, 10-K/10-Q data, or company financials.
npx skills add https://github.com/anthropics/cwc-workshops --skill edgartools-sec-data
edgartools is the desk's standard way to read SEC data. It is preinstalled in your environment. Work in Python (a script or python -c), not by fetching sec.gov pages by hand.
The SEC requires a contact identity on automated requests. Do this before any other call, every session:
from edgar import set_identity
set_identity("Research Desk workshop [email protected]") # use the EDGAR_IDENTITY value you were given
(Equivalently, the EDGAR_IDENTITY environment variable, exported before running Python.)
from edgar import Company
company = Company("NVDA") # by ticker (or CIK)
company.name, company.cik, company.industry
filings = company.get_filings(form="10-K") # also "10-Q", "8-K", "DEF 14A", ...
latest_10k = filings.latest() # most recent of that form
latest_10q = company.get_filings(form="10-Q").latest()
latest_10k.form, latest_10k.filing_date, latest_10k.accession_no
Pick whichever of the latest 10-K / 10-Q is more recent when asked for "the most recent filing". Foreign private issuers file 20-F instead of 10-K.
filing = latest_10k
tenk = filing.obj() # rich object for 10-K/10-Q: sections, financials
# Sections (10-K item numbers; 10-Q uses Part/Item naming)
risk_factors = tenk["Item 1A"] # Risk Factors text
mda = tenk["Item 7"] # Management's Discussion & Analysis
business = tenk["Item 1"]
# Plain text of the whole filing if you need to search it
text = filing.text()
Sections are long — extract what you need rather than pasting whole sections into your reply.
financials = tenk.financials # also: company.get_financials() for the latest annual figures
income = financials.income_statement()
balance = financials.balance_sheet()
cashflow = financials.cashflow_statement()
These return tabular objects (pandas-friendly). Typical fields: total revenue, gross profit, operating income, net income, cash and equivalents, total debt, inventory, R&D expense. The same statement usually carries the prior period's column — use it for year-over-year comparisons instead of fetching another filing.
Consolidated revenue hides the story; the segment note is where concentration and regional shifts show up. Segment data lives in the financial-statement notes (ASC 280), not the primary statements:
# The segment/geography breakdown is a note, not a primary statement.
# Search the filing text for the segment note and read the tables around it.
text = filing.text()
for marker in ["Segment Information", "revenue by geographic", "Disaggregation of Revenue"]:
idx = text.find(marker)
if idx != -1:
print(text[idx : idx + 3000]) # the note's tables follow the heading
break
Report segment/geography revenue alongside the consolidated figure and call out: any region or segment that moved more than ~20% year over year, and any customer-concentration disclosure (usually phrased "one customer accounted for X% of revenue").
company.get_filings(form="10-K") is sorted; take the first two) and compare.company.get_filings(form="4") lists Form 4 insider transaction filings.dir(obj), help(obj)) or fall back to filing.text() and targeted searching, and note the fallback in your output.value / 1e6) and label them.Python library for accessing, analyzing, and extracting data from SEC EDGAR filings. Use when working with SEC filings, financial statements (income statement, balance sheet, cash flow), XBRL financial data, insider trading (Form 4), institutional holdings (13F), company financials, annual/quarterly reports (10-K, 10-Q), proxy statements (DEF 14A), 8-K current events, company screening by ticker/CIK/industry, multi-period financial analysis, or any SEC regulatory filings.
Use this skill when the user asks to list, create, inspect, update, disable, re-enable, or revoke AltLLM Portal API keys for external agents or applications. Do NOT use for wallet login, billing history, or payment links.
Use this skill when the user asks to log in or out with a wallet session, fetch a wallet sign-in challenge, verify an externally signed challenge, or troubleshoot AltLLM Portal wallet login for the local altllm CLI. Do NOT use for API key management, billing history, or payment links.
Use this umbrella skill when the request spans multiple AltLLM Portal CLI domains, or when you need to navigate the local altllm CLI in this repository across auth, API keys, billing history, NOWPayments payment links, and related x402 Portal top-up guidance.
Build with the ChainGPT Web3 AI developer platform. Full API/SDK reference and project scaffolding for: Web3 AI Chatbot & LLM, AI NFT Generator, Smart Contract Generator, Smart Contract Auditor, AI Crypto News, AgenticOS Twitter agents, and Solidity LLM. Use when building blockchain apps, Web3 chatbots, NFT tools, smart contract tools, crypto news feeds, AI agents, or integrating any ChainGPT API. Triggers: chaingpt, web3 ai, nft generator, smart contract audit, crypto news api, agenticos, solidity llm, cgpt, blockchain ai, token analytics.
TypeScript SDK for the Payment HTTP Authentication Scheme. Handles 402 Payment Required flows with Tempo, Stripe, and other payment methods. Use when integrating payments or mppx into a client or server application.
>- Guide for developing with near-api-js v7 - the JavaScript/TypeScript library for NEAR blockchain interaction. (3) calling smart contracts, (4) managing accounts and keys, (5) working with NEAR RPC API, (6) handling FT/NFT tokens on NEAR, (7) using NEAR cryptographic operations (KeyPair, signing), (8) converting between NEAR units (yocto, gas), (9) gasless/meta transactions with relayers, (10) NEP-413 message signing for authentication, (11) storage deposit management for FT contracts. Triggers on any NEAR blockchain development tasks.
TypeScript library for NEAR Protocol blockchain interaction. Use this skill when writing code that interacts with NEAR Protocol, including viewing contract data, calling contract methods, sending NEAR tokens, building transactions, creating type-safe contract wrappers, integrating wallets (Wallet Selector, HOT Connect), React hooks and providers (@near-kit/react), managing keys, testing with sandbox, meta-transactions (NEP-366), and message signing (NEP-413).
Take anthropics/edgartools-sec-data from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.