Install any skill in seconds. Free to start, no credit card required.
Get Started Free →US SEC EDGAR filings — list 10-K/10-Q/8-K/Form 4/S-1, fetch filing text, parse insider Form 4 transactions.
.claude/skills/kansoku-trade-sec-edgar/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 9% | 0% |
> Response language: match user input.
Trigger phrases:
Not for: 13F holdings analysis (this skill lists 13F filings but does not parse them into holdings — deferred to a future skill).
filings.py <TICKER> (optionally --type 8-K).primary_doc_url from the list output tofiling_text.py. Use --max-chars to cap; --section item1a for risk factors, --section mda (Item 7) for MD&A.
insider.py <TICKER> parses Form 4 XML for thepast --days window.
Environment auto-loaded; SEC_USER_AGENT is mandatory.
bash# Latest 5 NVDA 8-Ks python3 .claude/skills/sec-edgar/scripts/filings.py NVDA --type 8-K --limit 5 # All recent NVDA filings python3 .claude/skills/sec-edgar/scripts/filings.py NVDA --limit 20 # Read the most recent 8-K (URL from filings.py) python3 .claude/skills/sec-edgar/scripts/filing_text.py \ "https://www.sec.gov/Archives/edgar/data/1045810/000104581026000051/nvda-20260520.htm" \ --max-chars 20000 # Pull Item 1A (Risk Factors) from a 10-K python3 .claude/skills/sec-edgar/scripts/filing_text.py "<10-K URL>" --section item1a # Save full text to disk, get metadata only python3 .claude/skills/sec-edgar/scripts/filing_text.py "<URL>" --save-raw /tmp/nvda-10k.txt # Insider transactions, past 90 days python3 .claude/skills/sec-edgar/scripts/insider.py NVDA --days 90 # Insider + amendments python3 .claude/skills/sec-edgar/scripts/insider.py NVDA --include-amendments
| Key | 10-K section | | -------------------- | ----------------------------------------------- | | item1 / business | Item 1. Business | | item1a / risk | Item 1A. Risk Factors | | item7 / mda | Item 7. MD&A | | item7a | Item 7A. Quantitative & Qualitative Disclosures | | item8 | Item 8. Financial Statements |
meta.confidence returned: high (clean heading match), medium (short slice, may be incomplete), low (heuristic fallback — full text returned with warning).
filings.py:
json{ "data": [ { "accession": "0001045810-26-000051", "cik": "0001045810", "form": "8-K", "filed_date": "2026-05-20", "primary_doc_url": "https://www.sec.gov/Archives/edgar/data/1045810/...htm", "primary_doc_name": "nvda-20260520.htm", "description": "8-K", "size": 637530, "is_xbrl": true } ], "meta": { "cik": "0001045810", "name": "NVIDIA CORP", "count_returned": 1 }, "ok": true }
insider.py:
json{ "data": [ { "accession": "...", "form": "4", "filed_date": "2026-05-15", "reporter": "JEN-HSUN HUANG", "roles": ["officer:CEO", "director"], "txn_date": "2026-05-13", "security_title": "Common Stock", "code": "S", "shares": 240000, "price": 412.5, "acquire_or_dispose": "D", "post_holdings": 78000000, "ownership_kind": "D", "derivative": false, "footnote_ids": ["F1"], "footnotes_text": ["Sale pursuant to 10b5-1 plan adopted ..."] } ], "meta": { "cik": "...", "name": "...", "filings_scanned": 12, "txns_parsed": 24 }, "ok": true }
| Exit code | Meaning | LLM action | | --------- | ---------------------------------------------- | ---------------------------------------------------------------------- | | 0 | Success | Parse and narrate. | | 2 | Missing SEC_USER_AGENT | Set in .env at project root. | | 3 | HTTP 4xx, ticker not found, or unparseable XML | Read hint. Per-filing parse errors collected in meta.parse_errors. | | 4 | Network | Suggest retry. |
insider.py only scans the recent window of submissions (typically last~1000 filings); deep history requires submissions/CIK*-N.json paging, not implemented.
filing_text.py uses an HTML-only extractor — XBRL inline tables arestripped to text, not parsed into structured rows.
meta.confidence.*.sec.gov calls.longbridge-financial-report for normalised income / balance / cash flow.longbridge-news for curated equity news (faster than reading 8-Ks).quiver for congressional trades (distinct from corporate insiders).| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | 11,113 | 15,037 | +35% | 1 | 1 | 0% | 2,324 | 4,534 | +95% | 0 | 0 | — |
case-06 | pass→pass | 9,566 | 5,310 | -44% | 1 | 1 | 0% | 1,550 | 2,456 | +58% | 0 | 0 | — |
case-01 | fail→fail | 6,013 | 34,755 | +478% | 1 | 1 | 0% | 937 | 1,896 | +102% | 0 | 0 | — |
case-02 | fail→fail | 14,418 | 4,337 | -70% | 1 | 1 | 0% | 2,304 | 1,868 | -19% | 0 | 0 | — |
case-03 | fail→fail | 13,116 | 4,781 | -64% | 1 | 1 | 0% | 1,415 | 1,894 | +34% | 0 | 0 | — |
case-04 | fail→pass | 17,791 | 13,047 | -27% | 1 | 1 | 0% | 3,802 | 3,285 | -14% | 0 | 0 | — |
case-07 | fail→pass | 8,325 | 1,697 | -80% | 1 | 1 | 0% | 1,450 | 1,953 | +35% | 0 | 0 | — |
case-08 | fail→pass | 8,492 | 2,246 | -74% | 1 | 1 | 0% | 1,540 | 2,056 | +34% | 0 | 0 | — |
case-09 | fail→pass | 9,454 | 1,990 | -79% | 1 | 1 | 0% | 1,557 | 2,033 | +31% | 0 | 0 | — |
case-10 | fail→pass | 10,878 | 1,810 | -83% | 1 | 1 | 0% | 1,832 | 1,994 | +9% | 0 | 0 | — |
case-11 | fail→pass | 10,304 | 2,039 | -80% | 1 | 1 | 0% | 1,778 | 1,972 | +11% | 0 | 0 | — |
case-12 | fail→pass | 11,511 | 2,458 | -79% | 1 | 1 | 0% | 2,299 | 2,142 | -7% | 0 | 0 | — |
case-13 | fail→pass | 9,596 | 3,408 | -64% | 1 | 1 | 0% | 1,738 | 2,266 | +30% | 0 | 0 | — |
case-14 | fail→pass | 11,913 | 2,226 | -81% | 1 | 1 | 0% | 1,907 | 1,999 | +5% | 0 | 0 | — |
case-15 | pass→pass | 12,529 | 2,147 | -83% | 1 | 1 | 0% | 1,994 | 1,965 | -1% | 0 | 0 | — |
case-16 | pass→pass | 7,778 | 2,348 | -70% | 1 | 1 | 0% | 1,336 | 2,053 | +54% | 0 | 0 | — |
case-17 | pass→pass | 6,920 | 1,748 | -75% | 1 | 1 | 0% | 1,186 | 1,960 | +65% | 0 | 0 | — |
case-18 | pass→pass | 6,854 | 1,548 | -77% | 1 | 1 | 0% | 1,070 | 1,860 | +74% | 0 | 0 | — |
case-19 | fail→pass | 9,938 | 3,065 | -69% | 1 | 1 | 0% | 1,678 | 2,178 | +30% | 0 | 0 | — |
case-20 | pass→pass | 13,924 | 4,329 | -69% | 1 | 1 | 0% | 2,303 | 2,368 | +3% | 0 | 0 | — |
case-21 | pass→pass | 17,924 | 3,555 | -80% | 1 | 1 | 0% | 3,029 | 2,210 | -27% | 0 | 0 | — |
case-22 | pass→pass | 5,288 | 1,956 | -63% | 1 | 1 | 0% | 872 | 1,888 | +117% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +45 percentage points is the difference between those two pass rates over the 19 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.