HomeLibraryServicesCase studiesBlogAbout
consultance.ai
Book a discovery call →

Services

  • AI consulting
  • AI implementation
  • AI agents
  • Workflow automation
  • RAG systems
  • Voice AI
  • Custom AI development
  • All services

Library

  • AI build library
  • Finance AI automation
  • AiToEarn content agent
  • Fincept Terminal
  • ERPNext
  • SEO + GEO Claude skill
  • Claude for Legal
  • Free Claude Code proxy

Resources

  • Case studies
  • Blog
  • Industries
  • Locations
  • Guide: AI for property management
  • Guide: AI for marketing agencies
  • Guide: AI agents vs Zapier
  • AI glossary
  • vs traditional consulting

Company

  • About
  • Book a call
  • Contact
  • Privacy
  • Terms

© 2026 consultance.ai · AI, implemented.

audit → build → deploy

← Libraryconsultance.ai
Book a build call
Finance and data

SEC Filings Reader in Claude

For analysts, CFOs and family office teams who read public company filings: 12 prompts that answer from 10-Ks, 8-Ks, Form 4s and 13Fs in your own Claude, with every figure traced to the filing.

Free — runs in your own ClaudeMedium setup · 5 steps12 ready-to-run prompts
Set it up free — takes 3 minutes ↓Or have us wire it in →
watch first

How to run these prompts

A short walkthrough of the exact mechanic: where the prompts go, what to answer when the first one asks, and what a good first output looks like. Same for every pack in the library.

Step 1 · setup
Three minutes, four steps, nothing to install by hand

Claude sets it up for you. You just paste.

Never used Claude? It is free and takes 30 seconds to open. Copy the instruction below, paste it into Claude, and it reads this page and walks you through everything, one question at a time.

  1. 1

    Tell Claude how to talk to you

    One tap. It changes how much Claude explains, and how slowly it goes. You can change it any time.

  2. 2

    Copy your setup instruction

    A short instruction plus a link to this page lands on your clipboard. First copy asks for your email once. That unlocks every button across the whole library.

  3. 3

    Open Claude in a new tab

    Free account, no card, 30 seconds. This tab stays open so you can come back.

    Open claude.ai ↗
  4. 4

    Paste, send, and answer one question

    Claude reads this page, asks which computer you are on, then guides you step by step until it works. If anything errors, tell Claude what you see, and it fixes it with you.

▸Prefer the full prompt instead of the link? (optional)
Click to copy
I am comfortable copy-pasting and following instructions, but I am not a developer.
- Plain English. Define jargon the first time it appears.
- One step at a time, then wait for me to confirm before the next one.
- Tell me what success looks like at each step, and diagnose any error before moving on.

Follow the instructions below with those rules applied.

If you can browse the web, open and read this page in full first, it has the complete guide and every prompt you will run (the vault is under the-vault anchor): https://consultance.ai/library/sec-filings-reader#the-vault . If you cannot open links, tell me and I will paste the page in, do not guess the prompts.

I want to set up the SEC Filings Reader pack so I can ask finance questions and get answers straight from SEC filings: three years of statements, what moved them, risk factor and auditor changes, 8-K events, insider trades by transaction code, and 13F fund holdings. Walk me through it one step at a time and wait for my answer before moving on. Define every term once. I may not be a developer.

## Step one, ask me this first, nothing else
"How do you want to work: (A) one company, and you are happy to download a few filings yourself, (B) ask about any company in plain English and let Claude fetch the filings, on a Mac or Windows computer with the Claude desktop app, or (C) a watchlist of companies rerun every quarter, with results saved as files?"

Wait for my answer. Then pick the path, tell me which one and why.

## Path A, the Claude app, no install. Not a Terminal install.
1. Open claude.ai or the Claude app. In the left sidebar click Projects, then + New Project. Name it Filings. Projects work on every plan, including free (up to five projects).
2. Pick Claude Opus 5.5 in the model picker. If it is not there, tell me my plan does not include it.
3. Get the filings: open https://www.sec.gov/edgar/search/ , type the company name, open the filings I need (for example the latest 10-K, the 10-Qs since, recent Form 4s) and save each one as a PDF with the browser's Print, Save as PDF, or as the HTML page itself. Claude reads both, up to 30MB per file in a Project. EDGAR is the SEC's free filing system. A 10-K is the annual report, a 10-Q the quarterly one, an 8-K reports an event, a Form 4 reports an insider trade. A company that files a 20-F instead of a 10-K is a foreign private issuer: it files no 10-Q, 8-K or Form 4.
4. Add them to the Project with the + button in Project knowledge.
5. Privacy: filings are public. Anything of my own I add goes only to my own Claude account, never to the author of this pack.
6. Paste prompt 01 from the page into a new chat in the Project and answer its questions. Then paste prompt 02, the calibration run, and check for eight MATCH lines before my own question.

Do NOT tell me any of this is "not possible" in the app. One company and a few filings is exactly what the app handles. If I paste a file path or a folder name instead of a file, tell me that is a Claude Code job and switch to Path C.

## Path B, Claude desktop app plus the free edgartools connector
A connector (the technical name is MCP server) lets Claude fetch filings itself. edgartools is free and MIT licensed, needs no API key, and asks only for my name and email as my SEC identity: the SEC asks every automated tool to identify itself. Two words I will meet: Terminal (Mac) and PowerShell (Windows) are the apps where I type commands; JSON is the plain text settings format Claude's config file uses.

Mac:
1. Install uv, a small tool that runs Python programs without touching my system Python. Open Terminal (Applications, Utilities), paste this one line and press Return:
   `curl -LsSf https://astral.sh/uv/install.sh | sh`
   Then close Terminal and open a new window.
2. Type `which uvx` and press Return. Copy the full path it prints, for example /Users/myname/.local/bin/uvx. If it prints nothing, step 1 did not finish: run it again and open a new Terminal window.
3. Open the Claude desktop app. Click the Claude menu in the menu bar at the top of the screen (not the settings inside the Claude window) and select Settings... Go to the Developer tab in the left sidebar and click Edit Config. A file named claude_desktop_config.json opens.
4. Paste this, replacing the command with my path from step 2 and the identity with my own name and email:
```json
{
  "mcpServers": {
    "edgartools": {
      "command": "/Users/yourname/.local/bin/uvx",
      "args": ["--from", "edgartools[ai]", "edgartools-mcp"],
      "env": {
        "EDGAR_IDENTITY": "Your Name your.email@example.com"
      }
    }
  }
}
```
   If the file already has an "mcpServers" block, add only the "edgartools" part inside it, with a comma after the entry before it. Save the file.
5. Quit Claude completely and open it again.
6. Check: click the "Add files, connectors, and more /" button at the bottom left of the message box, move to Connectors, click Manage connectors, and look for edgartools.
7. Ask: "What did Apple file with the SEC this quarter?" A good answer lists real filings with dates.

Mac errors:
- "spawn ... ENOENT": Claude cannot find the program. Use the full path from `which uvx`, not the word uvx.
- Anything else: read the log with `tail -n 20 -f ~/Library/Logs/Claude/mcp*.log` in Terminal.

Windows:
1. Install Python with the Python install manager, from python.org/downloads or from the Microsoft Store app (the two are identical; in the Store click Install). Then open PowerShell (Start menu, type PowerShell) and type `python`. If it says "command not found" or opens the Store, click Start, open "Manage app execution aliases", and check that "Python (default)" is on; if it already is, turn it off and on again. Type `exit()` to leave Python.
2. In PowerShell, install edgartools: `python -m pip install "edgartools[ai]"`
3. Test it before touching Claude. First set my identity for this PowerShell window only: `$Env:EDGAR_IDENTITY = "Your Name your.email@example.com"` then run `python -m edgar.ai --test`. Success ends with "All checks passed - MCP server is ready to run".
4. Open the Claude app's Settings from the app menu, go to the Developer tab and click Edit Config. The official docs do not show where the menu sits on Windows; if I cannot find Developer, open the file directly in Notepad: %APPDATA%\Claude\claude_desktop_config.json. Paste:
```json
{
  "mcpServers": {
    "edgartools": {
      "command": "python",
      "args": ["-m", "edgar.ai"],
      "env": {
        "EDGAR_IDENTITY": "Your Name your.email@example.com"
      }
    }
  }
}
```
5. Quit Claude completely, reopen, and check Manage connectors as in Mac step 6.

Windows errors:
- "spawn python ENOENT": Claude cannot find Python. In PowerShell run `where.exe python` (plain `where` means something else in PowerShell), copy the first full path it prints, and put it in "command" with every backslash doubled, for example "C:\\path\\to\\python.exe".
- An error mentioning ${APPDATA} in the logs: add my expanded APPDATA folder to the "env" block, as the MCP docs describe.
- Anything else: read the log with `type "%APPDATA%\Claude\logs\mcp*.log"`, run in Command Prompt (Start menu, type cmd), where %APPDATA% expands.

Both:
- edgartools not in the list: the JSON has a typo, often a missing comma or bracket. Show me the file and I will fix it.
- Slow or refused answers from the SEC: the identity is missing or not a real email.

## Path C, Claude Code, for a watchlist
Claude Code runs on my own machine and writes results as files. It needs a Pro, Max, Team, Enterprise or Console plan.
1. Install it, one command, then wait for it to finish:
   - Mac or Linux, in Terminal: `curl -fsSL https://claude.ai/install.sh | bash`
   - Windows, in PowerShell: `irm https://claude.ai/install.ps1 | iex`
   Success looks like `claude --version` printing a version number.
2. Install uv:
   - Mac or Linux: `curl -LsSf https://astral.sh/uv/install.sh | sh`
   - Windows, in PowerShell: `powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"`
   Then open a new Terminal or PowerShell window.
3. Make the project folder and go into it FIRST. The connector is added to the folder I am in, and only loads there. Mac: `mkdir filings` then `cd filings`. Windows PowerShell: `New-Item -Name "filings" -ItemType "Directory"` then `cd filings`.
4. In that folder, add the connector with my identity in one line (this works the same on Mac and Windows, and the identity stays saved):
   `claude mcp add edgartools --env EDGAR_IDENTITY="Your Name your.email@example.com" -- uvx --from "edgartools[ai]" edgartools-mcp`
   Success prints "Added stdio MCP server edgartools". Keep the order: the name edgartools comes before --env.
5. Type `claude` in the same folder. Inside, type /mcp and check edgartools shows as connected.
6. Paste prompt 01 (tell it this folder is the project folder), then prompt 02. Then prompt 11, which writes the project, installs pinned edgartools and pytest, writes the tests from the prompt 02 figures first, and builds a one command watchlist run. Prompt 12 adds the guards and a monthly schedule.

## First session drill, whichever path
1. Prompt 01: my question in my own words, the company, the window.
2. Prompt 02: eight MATCH lines, with the six month insider line reading OPEN. That is the pack refusing to total a window it cannot see.
3. The prompt my question needs: insider sales, 08; three years of numbers, 04 then 05; fund holdings, 09; what changed this year, 06; an earnings night, 07.
4. Good output: every figure has a form, an accession number and a section I can open on sec.gov.
5. Before I trust it: open one filing myself and check one number. Then prompt 10 writes the brief and blocks itself if a figure does not tie.
Step 2 · run it on your data

Step 1 set it up. These 12 prompts do the work.

the vault

The 12 prompts

Grab the whole pack as one file, or tap any prompt below to copy it on its own. Placeholders that look like {{THIS}} get swapped for your own numbers — and if you ran Step 1, Claude fills them in for you.

One .md file · all 12 prompts, numbered, in order · nothing left out.
Click to copy
<role>Colleague who has read filings for a research desk and a CFO's office for years. Neutral: you report what the filings say, with the filing and section for every figure, and you say plainly when a filing needed for the answer is not in front of you.</role>

<objective>Answer the human's question from SEC filings, so that anyone can open the same filing and find the same number. A research read, not investment advice and not a diligence opinion.</objective>

<privacy>Nothing in this pack is hosted by its author. SEC filings are public. Anything of your own you add (a model, notes, a watchlist) goes only to your own Claude account, never to us. Before adding confidential material, use a Team or Enterprise plan, or a personal plan with "Help Improve our AI models" turned off under Settings, Privacy.</privacy>

<surface>
First, in one short paragraph, say whether the human is in the right place.
- ONE company, a handful of filings they downloaded from https://www.sec.gov/edgar/search/ : Claude app, a private Project, filings uploaded as files. Chat is correct here. No install.
- ANY company, questions in plain English, Claude fetching the filings itself: Claude Desktop with the edgartools connector (free, MIT licensed, no API key, an email as SEC identity). Setup is in the guided setup prompt on the page.
- A WATCHLIST, the same pass every quarter, many companies, results written to files: Claude Code with edgartools (prompts 11 and 12).
MODEL: Claude Opus 5.5 for every step. Claude Sonnet 5 only for a first pass over a very large set, such as forty 8-Ks, and never for the final brief. Never switch model inside a prompt.
WHOLE-PACK STOPS: the human pastes a file path or folder listing instead of files (that is a Claude Code job: say so, stop); the job needs the same pass over many companies by hand (Claude Code: say so, stop); a filing arrives cut off (name what is missing and do not answer from the part you saw).
ITEM STOPS never end the run: a figure that lives in a filing not loaded. Name the filing by form and period, mark the figure OPEN, answer the rest.
Advise, do not apologise, and do not continue past a whole-pack stop.
</surface>

<onboarding>
Ask one block at a time and wait.
1. THE QUESTION in the human's words, and what they will do with the answer (a note, an IC question, a board line, a watchlist).
2. THE COMPANY OR COMPANIES: {{TICKER_OR_NAME}}. Confirm the CIK (the SEC's permanent ID number for a filer) and the legal name from the filing cover before anything else. Say whether the company files 10-Ks (US domestic) or 20-Fs (foreign private issuer).
3. THE WINDOW: {{WINDOW}} (for example the last three fiscal years, the last six months of Form 4s, the last two 13F quarters).
4. DATA SOURCE: (A) filings uploaded to this Project (B) text pasted from a filing (C) the edgartools connector in Claude Desktop (D) a folder in Claude Code (E) a mix. With A or B, list what you were given: form, period, and accession number if shown. With D, ask for {{PROJECT_DIR}}, the folder Claude Code will work in.
5. MODE: (A) CONVERSATION, default: run only the prompts the question needs. Question sets: earnings night, 07 then 04 and 05; insider sales, 08; fund holdings, 09; what changed this year, 06. (B) FULL READ: 02, then 03 to 10 in order.
</onboarding>

<evidence_tiers>
TIER 1: the filing itself, with form, period and accession number: face statements, notes, the Form 4 table and footnotes, the 13F information table, 8-K item text.
TIER 2: a value returned by a tool (edgartools standardized statements, trends, XBRL facts). Tie it to TIER 1 before it becomes a headline figure.
TIER 3: press, data sites, a vendor screen, the model's own memory. It generates a question, never a number.
Every figure carries its tier and source, and every derived figure shows its arithmetic.
</evidence_tiers>

<flag_discipline>
1. The question comes first (prompt 03). A finding matters only if it changes the answer to that question.
2. Anything in NORMAL PATTERNS, or explained by the filing's own words, goes in one untagged line: "Checked, normal: ..." with the reason and the section.
3. A finding that survives gets one tag: CHANGES THE ANSWER, WORTH A QUESTION, or EXPLAINED BY CONTEXT. WORTH A QUESTION only if the reply could move a figure the human uses by more than 1 percent, or change the answer.
4. A filing that is not loaded is an OPEN input listed once, never a flag.
5. A finding the human or a filing closes stays closed and does not colour later prompts.
6. Arithmetic outranks this list: a figure that does not tie to the filed statement blocks, whatever the pattern says.
</flag_discipline>

<normal_patterns>
Looks wrong, is normal, unless the condition holds.
- Form 4 code F on a vesting date: shares withheld to pay tax, not a market sale. Abnormal if no vesting or exercise that day.
- Code M rows, which edgartools shows as "Derivative_Sale" legs: RSUs or options consumed on settlement, not sales. Count code S only.
- Equal sized S trades every week, 10b5-1 box checked: a pre-set plan. Abnormal if adopted or changed just before material news, or inside the cooling off period.
- An officer sells exactly the shares left after withholding on a vest: routine. Abnormal if sales reach into long held shares at an unusual time.
- Net income growing far faster than revenue: often a prior year one time charge. Abnormal if the filing names no one time item.
- Prior year figures that differ from last year's 10-K: recast comparatives. Abnormal if the filing says restated for an error, or an 8-K Item 4.02 exists.
- Effective tax rate moving several points: mix and discrete items. Abnormal if the tax note does not explain it.
- A 13F with no hedges or shorts: the form cannot show them. Abnormal only if other filings contradict the direction.
- A holder missing from the next 13F: sold, below threshold, or confidential. Abnormal only with other evidence.
- Non GAAP above GAAP with a reconciliation: normal. Abnormal if the same "one time" item recurs every year.
</normal_patterns>

<rules>
- Never invent a figure, filing, date or accession number. Missing: ask once, or mark OPEN.
- Units on every table (filings present in millions; tools return dollars). Fiscal years as the filing labels them.
- Comparatives come from the latest filing that presents them, and the table says which.
- Research, not investment advice. No buy, sell or hold language.
- Every <review_gate> is the human's own sign off. Run 02 first, then only what the question needs.
- End every prompt with "Next step:".
</rules>

<how_to_adapt>Your house style: change the output format block in prompt 10 only. Scope: US domestic filers (10-K, 10-Q, 8-K, Form 4). A foreign private issuer files a 20-F and furnishes 6-Ks, files no 10-Q or 8-K, and is exempt from Section 16, so it files no Form 4: prompts 07 and 08 do not apply to it, and an empty result there means the form does not exist, never that nothing happened. Prompts 04 to 06 adapt to the 20-F's own items. More companies: move to Claude Code, prompt 11. A tighter or looser materiality bar: the 1 percent line in flag discipline.</how_to_adapt>

<trap>The plausible answer quotes a number from memory or a data site, with the right shape and the wrong period. Every headline figure needs a filing and a section a human can open.</trap>

<review_gate>Read the answers back before prompt 02. If the CIK or fiscal calendar is unconfirmed, stop there.</review_gate>
Click to copy
<task>Run the reader on this sample first. The figures below were pulled from EDGAR on 2026-09-25. Work every figure yourself from the sample rows, compare line by line with EXPECTED OUTPUT, and print MATCH or MISMATCH per line. Judge substance, not layout; a cleared normal pattern counts as MATCH. If any line mismatches, say which and STOP. Do not start the human's own question until every line matches.</task>

<sample>
FILING 1: Apple Inc. 10-K, accession 0000320193-25-000079, filed 2025-10-31, fiscal year ended 2025-09-27. Income statement, USD millions:
Net sales: FY2025 416,161 | FY2024 391,035 | FY2023 383,285
Gross margin: FY2025 195,201 | FY2024 180,683
Operating income: FY2025 133,050 | FY2024 123,216
Income before income taxes: FY2025 132,729 | FY2024 123,485
Provision for income taxes: FY2025 20,719 | FY2024 29,749
Net income: FY2025 112,010 | FY2024 93,736
Tax text, verbatim: "effective tax rate for 2025 was lower compared to 2024 due to a $10.7 billion year-over-year decrease in the provision for income taxes related to the State Aid Decision". FY2024 carried "a one-time income tax charge of $10.2 billion, net".

FILING 2: Form 4, Timothy D Cook, accession 0001140361-26-013190, filed 2026-04-03. Transaction dates from the filed XML: M and F on 2026-04-01, S on 2026-04-02.
M 131,576 RSUs settled | F 66,627 at $255.63, footnote "Shares withheld by Apple to satisfy tax withholding requirements on vesting of RSUs."
S 5,087 at 251.25 | 9,147 at 252.11 | 1,878 at 253.13 | 16,083 at 254.37 | 28,188 at 255.17 | 4,566 at 256.00 (weighted average prices)
10b5-1 box checked; footnote "made pursuant to a Rule 10b5-1 trading plan adopted by the reporting person on May 24, 2024."

QUESTION 3: "Total shares Apple insiders sold in the last six months." Only FILING 2 is loaded.
</sample>

<expected_output>
E1 REVENUE GROWTH: 416,161 / 391,035 minus 1 = 6.4 percent FY2025; 391,035 / 383,285 minus 1 = 2.0 percent FY2024. TIER 1, 10-K income statement.
E2 GROSS MARGIN: 195,201 / 416,161 = 46.9 percent vs 180,683 / 391,035 = 46.2 percent.
E3 OPERATING INCOME GROWTH: 133,050 / 123,216 minus 1 = 8.0 percent.
E4 NET INCOME GROWTH: 112,010 / 93,736 minus 1 = 19.5 percent. EXPLAINED BY CONTEXT: FY2024 carried the $10.2 billion one time State Aid tax charge. Effective tax rate 20,719 / 132,729 = 15.6 percent vs 29,749 / 123,485 = 24.1 percent. Pre-tax income grew 7.5 percent. Reading 19.5 percent as underlying growth is a MISMATCH.
E5 INSIDER SALES, FILING 2: code S total 64,949 shares; 5,087 + 9,147 + 1,878 + 16,083 + 28,188 + 4,566. Value 16,512,197.73 dollars from shares times each weighted average price.
E6 WITHHOLDING: 66,627 shares at $255.63 = 17,031,860 dollars withheld for tax, code F. Adding it to sales ("$33.5 million sold") is a MISMATCH.
E7 PATTERN: 131,576 settled minus 66,627 withheld = 64,949, exactly the shares sold. Under a 10b5-1 plan adopted 2024-05-24. Checked, normal: the vest was sold under a pre-set plan.
E8 QUESTION 3: OPEN. One Form 4 cannot answer a six month question. Name what is missing: every Form 4 filed by Apple insiders in the six months before the question date, and stop for that figure. Printing a six month total is a MISMATCH. This is the STOP path firing once, in safety.
</expected_output>

<review_gate>Eight MATCH lines, with E8 reading OPEN, then go to 03.</review_gate>
Click to copy
<role>Research colleague setting up the read.</role>
<task>
Using the data source from prompt 01:
1. Restate the question as the two or three figures or facts that would answer it.
2. The entity: CIK, legal name from the cover, fiscal year end, filer status if shown on the cover.
3. The filing map for {{WINDOW}}: every 10-K, 10-Q, 8-K, Form 4, 13F or proxy that bears on the question, one row each, with form, period, filing date, accession number. Flag amendments (10-K/A, 4/A) and late filing notices (NT 10-K, NT 10-Q).
4. Which filings answer which part of the question, and which part has no filing loaded yet (OPEN).
</task>
<trap>A ticker is not an identity. Tickers are reused and changed; a filing map built on a ticker can mix two companies. Confirm the CIK against the cover of the first filing.</trap>
<stop>If the ticker maps to more than one filer, or the cover name differs from what the human expects, stop and ask which filer.</stop>
<output_format>Three short blocks: the question as figures, the entity, the filing map table (form, period, filed, accession, answers which part).</output_format>
<review_gate>The human confirms the entity and the map before 04. Next step: the prompt the question needs.</review_gate>
Click to copy
<role>Colleague building the numbers table an analyst will check line by line.</role>
<task>
Using the data source from prompt 01, for {{WINDOW}}:
1. Revenue, gross profit, operating income, pre-tax income, tax, net income, diluted EPS, operating cash flow, capital expenditure, cash and debt, per period.
2. Take each column from the LATEST filing that presents it, and name that filing per column.
3. Tie revenue, operating income and net income to the face statement of the filing (TIER 1). If a tool value (TIER 2) differs from the face by more than rounding, show both and use the face.
4. Growth and margins with the arithmetic shown, one line each.
5. Units stated on the table.
</task>
<trap>Taking last year's figures from last year's 10-K. The new filing recasts comparatives for discontinued operations, segment changes and new standards, and the recast column is the one to use.</trap>
<stop>If a period in the window has no filing loaded, mark its column OPEN and name the filing. Do not fill it from a tool alone.</stop>
<output_format>The table (figure, periods, filing per column, tier), the growth and margin lines with arithmetic, "Checked, normal" line, OPEN list.</output_format>
<review_gate>Every headline figure carries accession and tier. Next step: 05 for what moved them.</review_gate>
Click to copy
<role>Colleague explaining the change the way the company is required to explain it.</role>
<task>
Using the data source from prompt 01 and the table from 04:
1. For the three largest changes in the table, find the explanation in MD&A (Item 7) and the relevant note (tax, segments, revenue, debt, contingencies). Quote the sentence and give the section.
2. Split each change into recurring and one time, using only the filing's words. A one time item needs a filed sentence calling it that.
3. Restate the growth figure the human cares about with and without the one time item, arithmetic shown.
4. If a non GAAP figure matters to the question, take it from the 8-K Item 2.02 exhibit and show its reconciliation to GAAP.
</task>
<trap>Calling something one time because it looks unusual. Only the filing can say it is one time, and a "one time" item that recurs in three filings is a cost.</trap>
<stop>If the explanation for a change of more than 5 percent is not in the filings loaded, say which section would hold it and mark the driver OPEN.</stop>
<output_format>Per change: the change, the quoted explanation with section, recurring or one time, the adjusted figure with arithmetic.</output_format>
<review_gate>No driver without a quoted sentence. Next step: 06 for what changed in the words.</review_gate>
Click to copy
<role>Colleague comparing this year's filing with last year's, looking for substance.</role>
<task>
Using the data source from prompt 01, compare the two most recent 10-Ks (or the 10-K and the latest 10-Q):
1. Item 1A risk factors: new, removed and materially rewritten risks. Ignore wording edits. Quote the new sentence and the old one side by side.
2. Item 9A controls: any material weakness, and whether the auditor attested to internal control.
3. The auditor: name, location, PCAOB firm ID; any change, and whether an 8-K Item 4.01 exists.
4. Exhibit 21 subsidiaries: count and jurisdictions, and what was added or dropped.
5. Legal proceedings (Item 3) changes.
</task>
<trap>Reading every edited risk factor as news. Most edits are drafting. A risk is new in substance only if it names a new exposure, a new fact, or moves from hypothetical ("could") to happened ("has").</trap>
<stop>If only one year's filing is loaded, say the comparison needs the prior 10-K by name and do only the single year items (auditor, controls, subsidiaries).</stop>
<output_format>A short table per item: what changed, quoted old vs new, tag (CHANGES THE ANSWER, WORTH A QUESTION, EXPLAINED BY CONTEXT), section.</output_format>
<review_gate>Substance only; wording edits go in the "Checked, normal" line. Next step: 07 for events.</review_gate>
Click to copy
<role>Colleague keeping the event log a desk reads the morning after.</role>
<task>
Using the data source from prompt 01, list every 8-K in {{WINDOW}}: filing date, event date, item numbers, one line on what happened, accession.
Read closely: 4.02 non reliance on earlier financials, 4.01 auditor change, 5.02 officer or director change, 1.01 material agreement, 2.02 results (furnished), 8.01 other.
For an earnings night question: the 2.02 release and its exhibit, the headline figures against the prior period, and the guidance sentence quoted, with the matching 10-Q to follow.
</task>
<scope>US domestic filers only. A foreign private issuer furnishes 6-Ks instead: say so, and read its 6-Ks as text without 8-K item numbers.</scope>
<trap>Treating every 8-K as equal. Most are routine. A 4.02 changes how every earlier number in this read is used, and it goes to the top whatever else happened.</trap>
<stop>If the question depends on an event after the latest filing loaded, say so and name the date range to fetch. Do not infer an event from press.</stop>
<output_format>The log table, then the two or three entries that bear on the question, with quoted text.</output_format>
<review_gate>Any 4.02 or 4.01 is flagged back to prompt 04 before the brief. Next step: 08 or 10.</review_gate>
Click to copy
<role>Colleague who reads Form 4s every week and knows what the codes mean.</role>
<task>
Using the data source from prompt 01, for every Form 4 in {{WINDOW}}:
1. One row per transaction: insider, role, date, code, shares, price, 10b5-1 flag and plan adoption date from the footnote, shares held after.
2. Totals by code, per insider and in total. Sales are code S only. F is tax withholding. M is settlement or exercise; edgartools shows its derivative legs as "Derivative_Sale", which are not sales.
3. Open market purchases (code P) listed separately, with the price and the insider's holding after.
4. Patterns: plan sales, sell the vest, gifts, and any discretionary S (no plan flag) with its size against the insider's holding.
5. Answer the question in three lines.
</task>
<scope>US domestic filers only. A foreign private issuer's insiders are exempt from Section 16 and file no Form 4: say so, and never report "no insider selling" from an absence of Form 4s.</scope>
<trap>Adding withholding to sales. "The CEO sold $33.5 million" when half of it was shares the company withheld for tax is the most common wrong headline read from a Form 4.</trap>
<stop>If the window needs Form 4s that are not loaded, name the date range and insiders, mark the total OPEN. Never total a window from a subset.</stop>
<output_format>The transaction table, the totals by code with the arithmetic, P purchases, the pattern notes with footnote quotes, the three line answer.</output_format>
<review_gate>S totals re-derived from the rows before they are quoted. Next step: 09 or 10.</review_gate>
Click to copy
<role>Colleague reading 13Fs for an allocator or an IR team.</role>
<task>
Using the data source from prompt 01:
1. For a manager: the two most recent 13F-HR filings, period and filing date, top positions, new, exited, increased and cut positions, and the share of the reported portfolio in the top ten.
2. For a company: which managers reported it last quarter and how their share counts changed, from the filings loaded.
3. State the lag in days from period end to filing date, and what the form cannot show.
</task>
<trap>Reading a 13F as the manager's current view. It is long 13(f) securities only, up to 45 days late, with no shorts, hedges or cash, and a put or call line is an option position, not a direction.</trap>
<stop>If the prior quarter's 13F-HR is not loaded, new, exited and changed positions are OPEN: name the missing 13F-HR by manager and period, and stop for those columns. For a company, the holder list covers only the 13Fs loaded: say so, and never call it the full holder base. If one filing is dated before January 3, 2023 and the other after, values are in thousands in one and dollars in the other: convert before comparing, or compare share counts only.</stop>
<output_format>Changes table (security, shares prior, shares latest, change), the lag line, the "cannot show" line.</output_format>
<review_gate>Share counts before values when rounding rules differ. Next step: 10.</review_gate>
Click to copy
<role>Colleague writing the one page answer and checking it before anyone reads it.</role>
<task>
Using everything above:
1. The question, and the answer in three lines.
2. The figures table: figure, value, unit, filing, accession, section, tier.
3. The arithmetic for every derived figure, one line each.
4. "Checked, normal:" one line.
5. OPEN items, each with the filing that would close it.
6. SELF CHECK, blocking: re-derive every headline figure from the rows a second way (sum the S rows, divide the face lines again). If any figure differs beyond rounding, print BLOCKED, the two values and where each came from, and do not produce the final brief until a named human resolves it.
7. If file creation is on, also write brief.html: one self contained page with the answer, the figures table and a small bar chart of the table's main series, no external links or scripts.
</task>
<trap>A brief that reads well with one figure from memory in it. The reader checks the one they doubt first; one untraceable number sinks the page.</trap>
<stop>If any headline figure is TIER 3 only, it is removed from the brief and listed as OPEN.</stop>
<output_format>The brief, then the self check result, then "Next step:".</output_format>
<review_gate>A named person reads the self check before the brief is shared.</review_gate>
Click to copy
<role>Engineer setting up a repeatable filings run on the human's machine.</role>
<task>
In Claude Code, create this tree at {{PROJECT_DIR}}. Write every file. Do not summarise the plan back to me. Print `ls -R` when done.
  pyproject.toml     python 3.12, dependencies edgartools[ai]==5.58.0 and pytest
  config.toml        identity (name and email), tickers, window, output folder
  reader/pull.py     statements, 8-Ks, Form 4s, 13F per ticker, with CIK confirmed from the cover
  reader/insiders.py Form 4 rows to a table, totals by code, S only as sales
  reader/brief.py    writes out/<ticker>/brief.md with figures, accession numbers and tiers
  tests/test_calibration.py
  run.py             one command for the whole watchlist
Install: uv venv -p 3.12 .venv, then uv pip install -p .venv/bin/python "edgartools[ai]==5.58.0" pytest (quote the brackets, zsh globs them). Identity: set_identity from config.toml before any request.
Tests first: write tests/test_calibration.py from prompt 02: Apple 10-K accession 0000320193-25-000079 net sales 416,161,000,000; Form 4 accession 0001140361-26-013190 code S total 64,949 shares and code F 66,627. Run .venv/bin/python -m pytest, watch them fail, then write pull.py and insiders.py until they pass.
On native Windows the environment's Python is .venv\Scripts\python.exe, not .venv/bin/python: use that path in every command.
First run pass condition: pytest green, then .venv/bin/python run.py writes out/AAPL/brief.md with net sales FY2025 416,161 million and the S total above.
</task>
<trap>Counting every row edgartools returns in a Form 4 table as a trade. The M settlement legs appear as "Derivative_Sale"; filter on the code column, S for sales, in one function, and test it.</trap>
<stop>If the calibration test fails on the net sales figure, stop and report the value returned and the accession used. Do not loosen the test.</stop>
<output_format>The tree, the failing then passing pytest output, the first run output.</output_format>
<review_gate>Done when a new ticker added to config.toml and one run.py call writes its brief. Model: Claude Opus 5.5 for design and debugging, Claude Sonnet 5 acceptable for writing many similar files.</review_gate>
Click to copy
<role>Engineer who has run EDGAR pulls in production.</role>
<task>
In the project from prompt 11, add these guards, each with a test, then rerun:
1. Identity missing: requests fail or get throttled. Symptom: 403 or empty responses. Fix: set_identity before the first call, fail fast if config.toml has no email.
2. Rate: SEC fair access is 10 requests a second. Symptom: 429 or blocks on a long watchlist. Fix: keep edgartools' built in limiter, no parallel threads over it, cache results.
3. Concept drift: a company changes its revenue tag; the trend series has a gap or a jump. Symptom: a growth rate that does not match the filed face. Fix: tie to the statement per filing, log mismatches.
4. Amendments: a 10-K/A or 4/A supersedes. Fix: prefer the latest amendment and record which.
5. Units: tools return dollars, filings present millions. Fix: one unit column, set in one place.
6. Transaction dates: edgartools' Form 4 table showed 2026-04-01 for Cook's S rows that the filed XML dates 2026-04-02 (accession 0001140361-26-013190). Fix: take each transaction date from the XML transactionDate (TIER 1), not the tool table (TIER 2), and test it on that accession.
Research path when something does not match: docs/ai/mcp-tools.md in the edgartools repo for tool parameters and sections; https://www.sec.gov/os/accessing-edgar-data for fair access; the Form 4 XML footnotes for plan adoption dates; the filing index page on sec.gov for amendments.
Then schedule: document how to run run.py monthly (cron on Mac or Linux, Task Scheduler on Windows) and write out/changes.md listing new filings since the last run.
</task>
<trap>A green run that silently skipped a company. Log every ticker with filings found, figures tied, and OPEN items; a ticker with zero filings is an error, not a quiet success.</trap>
<stop>If a fix needs loosening the calibration test, stop and report why instead.</stop>
<output_format>The new tests, the rerun output, the run log for the watchlist.</output_format>
<review_gate>Definition of done: the watchlist runs in one command, every brief ties to TIER 1, and the log names every OPEN item. Next: proxy pay (DEF 14A) read, 13D/13G activist alerts, a peer table across the watchlist.</review_gate>
Source repo
https://github.com/dgunning/edgartools ↗

The code is public and free. The setup instruction above installs and wires it for you. You never need to open this link.

Got the prompts. Want them wired into your actual stack? We map that on a free AI audit.

Book the free audit

Rent it forever, or own it once.

For analysts, CFOs and family office teams who read public company filings: 12 prompts that answer from 10-Ks, 8-Ks, Form 4s and 13Fs in your own Claude, with every figure traced to the filing.

Path A · free

You just did it

The setup rail and every prompt above are free and stay free. The cost is your time, and the risk of wiring it wrong on live data.

Back to the prompts ↑
Path B · done with you

We wire it into your business

We would set it up with you: your watchlist, your house brief format, the rerun scheduled on your machine, and the output landing where your team already reads. Reply wire it for a 30-minute slot.

Book a build call →
data safety

Before you use live numbers

  • • Run last quarter's numbers first. Live data is not a test bed.
  • • Nothing here uploads to us. It runs in your own Claude account, on your own machine.
  • • A named human reviews and signs every output before it reaches a board, lender, or client.
  • • Wiring the open-source piece to real systems? Keep keys out of public code and add access control first — or have us do that part.
the fine print

Credit the original author

Prompt set authored by consultance.ai. Nothing is hosted by us: SEC filings are public, and anything of your own you add goes only to your own Claude account, never to us. Use a Team or Enterprise plan, or turn off model training, before adding confidential notes. edgartools is MIT licensed and used under its own license. Research reading, not investment advice.

Want this running in your business, not just your laptop? We build it and hand you the keys.

Book a build callBack to the library

Want this wired into your stack instead of running it yourself? That is our AI deal desk and finance automation service.

the newsletter

AI news worth opening.

The AI tools, launches, and shifts that actually matter, in plain English. New library drops the moment they land.

100% freeNo paywall, everUnsubscribe anytime

More like this

Other builds worth a weekend

All repos →
Finance and data

Free Portfolio Quant Research Desk

For family offices and serious individual investors: run a portfolio backtest, tax loss harvesting, and model risk checks on your own holdings, locally, in your own Claude. Replaces the $250k quant seat you would otherwise hire.

Setup guide →
Finance and data

Private Equity Deal Sourcing Playbook

For lower and mid market private equity origination teams: turn one mandate into a ranked, owner verified proprietary deal flow pipeline. Six Claude agents with Exa and Scrapling replace a rented deal sourcing subscription.

Setup guide →
Finance and data

Free Jira Alternative for Deal Teams

For PE deal teams and IC members still tracking a live process on a sprint board: a self hosted deal tracker your Claude can write to, plus 10 prompts that move a workstream only when the document actually lands.

Setup guide →
Get the free kitBook a call

Forward this to whoever owns the workflow.

The person drowning in this every week is the one who'll actually want it.

Forward by email
in one line

What is SEC Filings Reader in Claude?

SEC Filings Reader in Claude is a finance and data build in the consultance.ai AI Build Library. For analysts, CFOs and family office teams who read public company filings: 12 prompts that answer from 10-Ks, 8-Ks, Form 4s and 13Fs in your own Claude, with every figure traced to the filing. It fits equity and credit analysts, CFOs and IR teams, family office and fund teams who read public company filings and want answers with the filing, accession number and section for every figure. Setup difficulty is Medium, with 5 plain-English steps.

What does SEC Filings Reader in Claude do?

For analysts, CFOs and family office teams who read public company filings: 12 prompts that answer from 10-Ks, 8-Ks, Form 4s and 13Fs in your own Claude, with every figure traced to the filing.

Who is SEC Filings Reader in Claude for?

It fits equity and credit analysts, CFOs and IR teams, family office and fund teams who read public company filings and want answers with the filing, accession number and section for every figure.

How hard is SEC Filings Reader in Claude to set up?

Medium to set up — one guided setup instruction covering 5 plain-English steps, plus 12 ready-to-run prompts on the resource page.

How would consultance.ai build this out?

We would set it up with you: your watchlist, your house brief format, the rerun scheduled on your machine, and the output landing where your team already reads. Reply wire it for a 30-minute slot.

What are the licensing terms?

Prompt set authored by consultance.ai. Nothing is hosted by us: SEC filings are public, and anything of your own you add goes only to your own Claude account, never to us. Use a Team or Enterprise plan, or turn off model training, before adding confidential notes. edgartools is MIT licensed and used under its own license. Research reading, not investment advice.

Want this built into your workflow?

SEC Filings Reader in Claude is the starting point. On a free AI audit we map where it fits your stack and what consultance.ai would build around it.

This build comes from our AI consulting and AI implementation practice — see the full AI in finance guide and how we work with CFO teams.

Book your free AI audit