SEC 13-F Analysis Skill
SkillDatabases & dataParse and analyze SEC 13-F filing TSV datasets to extract AUM, holdings count, and fund details by accession number.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the SEC 13-F Analysis Skill skill
What this skill tells your AI
The instructions your AI receives, as published by cxcscmu/skilllearnbench in skills/b1-one-shot-claude-sonnet-4-6/financial-analysis/sec-13f-analysis/SKILL.md and read by ahel’s review.
Overview
SEC Form 13-F datasets consist of TSV files downloaded from EDGAR. Each quarter has the same file structure.
Key Files
| File | Purpose |
|---|---|
COVERPAGE.tsv | Fund identity: FILINGMANAGER_NAME, ACCESSION_NUMBER, REPORTCALENDARORQUARTER |
SUMMARYPAGE.tsv | Aggregated stats: TABLEVALUETOTAL (AUM in thousands), TABLEENTRYTOTAL (number of holdings) |
INFOTABLE.tsv | Individual holdings: CUSIP, NAMEOFISSUER, VALUE (thousands), SSHPRNAMT (shares) |
SUBMISSION.tsv | Filer metadata |
Common Tasks
Load data with pandas
import pandas as pd
q3_dir = "/root/2025-q3"
coverpage = pd.read_csv(f"{q3_dir}/COVERPAGE.tsv", sep="\t", dtype=str)
summarypage = pd.read_csv(f"{q3_dir}/SUMMARYPAGE.tsv", sep="\t", dtype=str)
infotable = pd.read_csv(f"{q3_dir}/INFOTABLE.tsv", sep="\t", dtype=str)
Get AUM for a fund (by accession_number)
row = summarypage[summarypage["ACCESSION_NUMBER"] == accession_number]
aum_thousands = int(row["TABLEVALUETOTAL"].iloc[0])
aum_dollars = aum_thousands * 1000
Get holdings count
holdings = infotable[infotable["ACCESSION_NUMBER"] == accession_number]
num_holdings = len(holdings)
# Or use TABLEENTRYTOTAL from SUMMARYPAGE for the reported count
Get holdings detail
holdings = infotable[infotable["ACCESSION_NUMBER"] == accession_number].copy()
holdings["VALUE"] = pd.to_numeric(holdings["VALUE"], errors="coerce")
holdings["SSHPRNAMT"] = pd.to_numeric(holdings["SSHPRNAMT"], errors="coerce")
Notes
VALUEin INFOTABLE is in thousands of USDTABLEVALUETOTALin SUMMARYPAGE is also in thousands of USDTABLEENTRYTOTALis the number of positions reported
Signals
- GitHub stars
- 83
- Forks
- 5
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
sec-13f-analysis- Source
- github.com/cxcscmu/skilllearnbench