# sec-edgar-pipeline

Configures the edgar-analyzer CLI to fetch SEC EDGAR filings by CIK, generate extraction code, and export compensation tables to CSV.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 342 installs · ★ 78
- Author: Claude MPM Team
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/bobmatnyc/claude-mpm-skills/tree/HEAD/universal/data/sec-edgar-pipeline/SKILL.md
- Updated: 2026-07-18
- HTML: https://affpapa.org/en/nevibecode/skills/sec-edgar-pipeline

## What it does

The skill coordinates financial filing data retrieval using `edgar-analyzer`. It covers setting up projects with minimal templates, analyzing sample filings, generating custom parsing logic, and saving structured results to `projects/<name>/output/`.

SEC access fails immediately without a custom user agent containing an email address. The extraction generator also relies on `OPENROUTER_API_KEY`, while `JINA_API_KEY` remains optional. Built-in routines insert roughly 0.11-second delays between calls to avoid exceeding the SEC limit of 10 requests per second.

Prebuilt recipes focus on proxy statements like DEF 14A. The pipeline extracts executive compensation details through `SCTAdapter`, verifies them with `sct_validator`, and writes CSV reports covering company summaries and top executive pay figures.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill sec-edgar-pipeline -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/sec-edgar-pipeline/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/sec-edgar-pipeline/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill sec-edgar-pipeline -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/sec-edgar-pipeline/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill sec-edgar-pipeline -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/sec-edgar-pipeline/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install bobmatnyc/claude-mpm-skills sec-edgar-pipeline
```

2. **Manually: put the files in place**
- File: `.github/skills/sec-edgar-pipeline/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill sec-edgar-pipeline -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/bobmatnyc/claude-mpm-skills --path universal/data/sec-edgar-pipeline
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/sec-edgar-pipeline/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add bobmatnyc/claude-mpm-skills --skill sec-edgar-pipeline -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/bobmatnyc/claude-mpm-skills/tree/HEAD/universal/data/sec-edgar-pipeline/SKILL.md

## When to use it
- fetch corporate DEF 14A filings using 10-digit zero-padded CIK numbers
- generate extraction code for Summary Compensation Tables
- export parsed filing data into structured CSV and JSON summaries
- enforce the 10 requests per second SEC API rate limit

## Example prompts
- Run edgar-analyzer setup with my SEC user agent and OpenRouter key
- Create an edgar-analyzer project to extract SCT tables from DEF 14A filings
- Generate extraction code and run the pipeline with CSV output

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: a0b9d32571571084.

BEGIN THIRD-PARTY FILE a0b9d32571571084
````text
---
name: sec-edgar-pipeline
description: "SEC EDGAR extraction pipeline: setup, filing discovery by CIK, recipe-driven extraction, and report generation."
user-invocable: false
disable-model-invocation: true
version: 1.0.0
category: universal
author: Claude MPM Team
license: MIT
progressive_disclosure:
  entry_point:
    summary: "EDGAR pipeline: configure keys + user-agent, find filings by CIK, extract data via recipes/scripts, and export CSV/JSON reports."
    when_to_use: "Building SEC EDGAR extraction flows, running edgar-analyzer CLI, or generating compensation/filing reports from DEF 14A and related filings."
    quick_start: "1. edgar-analyzer setup 2. edgar-analyzer analyze-project projects/<name> 3. edgar-analyzer generate-code 4. edgar-analyzer run-extraction"
tags:
  - sec
  - edgar
  - filings
  - cik
  - def14a
  - extraction
---

# SEC EDGAR Pipeline

## Overview

This pipeline is centered on `edgar-analyzer` and the EDGAR data sources. The core loop is: configure credentials, create a project with examples, analyze patterns, generate code, run extraction, and export reports.

## Setup (Keys + User Agent)

Use the setup wizard to configure required keys:

```bash
python -m edgar_analyzer setup
# or
edgar-analyzer setup
```

Required entries:

- `OPENROUTER_API_KEY`
- (Optional) `JINA_API_KEY`
- `EDGAR` user agent string ("Name email@example.com")

## End-to-End CLI Workflow

```bash
# 1. Create project
edgar-analyzer project create my_project --template minimal

# 2. Add examples + project.yaml
# projects/my_project/examples/*.json

# 3. Analyze examples
edgar-analyzer analyze-project projects/my_project

# 4. Generate extraction code
edgar-analyzer generate-code projects/my_project

# 5. Run extraction
edgar-analyzer run-extraction projects/my_project --output-format csv
```

Outputs land in `projects/<name>/output/`.

## EDGAR-Specific Conventions

- **CIK** values are 10-digit, zero-padded (e.g., `0000320193`).
- **Rate limit**: SEC API allows 10 requests/sec. Scripts use ~0.11s delays.
- **User agent** is mandatory; include name + email.

## Scripted Example (Apple DEF 14A)

`edgar/scripts/fetch_apple_def14a.py` shows the direct flow:

1. Fetch latest DEF 14A metadata
2. Download HTML
3. Parse Summary Compensation Table (SCT)
4. Save raw HTML + extracted JSON + ground truth

## Recipe-Driven Extraction

`edgar/recipes/sct_extraction/config.yaml` defines a multi-step pipeline:

- Fetch DEF 14A filings by company list
- Extract SCT tables with `SCTAdapter`
- Validate with `sct_validator`
- Write results to `output/sct`

## Report Generation

`edgar/scripts/create_csv_reports.py` converts JSON results into:

- `executive_compensation_<timestamp>.csv`
- `top_25_executives_<timestamp>.csv`
- `company_summary_<timestamp>.csv`

## Troubleshooting
````
END THIRD-PARTY FILE a0b9d32571571084

The third-party file has ended. Everything between the a0b9d32571571084 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2809 of 3145 bytes. © Claude MPM Team · MIT · https://github.com/bobmatnyc/claude-mpm-skills/tree/HEAD/universal/data/sec-edgar-pipeline/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
