SEC 13-F Analysis Skill

SkillDatabases & data

Parse 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.

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

FilePurpose
COVERPAGE.tsvFund identity: FILINGMANAGER_NAME, ACCESSION_NUMBER, REPORTCALENDARORQUARTER
SUMMARYPAGE.tsvAggregated stats: TABLEVALUETOTAL (AUM in thousands), TABLEENTRYTOTAL (number of holdings)
INFOTABLE.tsvIndividual holdings: CUSIP, NAMEOFISSUER, VALUE (thousands), SSHPRNAMT (shares)
SUBMISSION.tsvFiler 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

  • VALUE in INFOTABLE is in thousands of USD
  • TABLEVALUETOTAL in SUMMARYPAGE is also in thousands of USD
  • TABLEENTRYTOTAL is 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