Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

yc-reader — Claude Code skill: what it does, how to install

A skill that looks up Y Combinator companies and batches through the public yc-oss API: profiles, industries, tags, hiring lists, portfolio stats. Read-only, no key.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add himself65/finance-skills --skill yc-reader -a claude-code
Open on GitHub

What yc-reader does

The skill pulls Y Combinator data from the open yc-oss dataset. Everything is static JSON: the full company list, top companies, who is hiring right now, non-profits, slices by industry and tag, batch rosters, and single-company profiles such as batches/summer-2009/stripe.json. No authentication is involved.

It runs on curl and jq. The skill first probes whether both are installed, then narrows the response with jq filters: count entries, keep only hiring companies, print selected fields. Batch and industry names are lowercase and hyphenated (winter-2025, developer-tools); meta.json lists every valid value. Reaching for companies/all.json is often a mistake, since it holds ~5,700 companies and a narrower endpoint answers faster.

No jq on the box? You can still fetch raw JSON and parse it another way, but filtering gets tedious, so install it first. The dataset refreshes once a day, which is fine for picking a batch or an industry apart, while a specific open role is worth confirming on the company site.

What it helps with

  • list a batch roster with websites and team sizes
  • keep only YC companies that are currently hiring
  • see which portfolio companies sit in developer-tools
  • look up a company profile by name
  • compare company counts across batches and industries

Example prompts for the agent

  • List the YC companies from the `fall-2025` batch that are hiring, with team size and website.
  • How many YC companies carry the `ai` tag, and which of them are in the top list?
  • Look up `stripe` in the YC data and show its profile: batch, team size, status.

How to install yc-reader

1Skills CLI (Vercel)

npx skills add himself65/finance-skills --skill yc-reader -a claude-code

2Manually: put the files in place

~/.claude/skills/yc-reader/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/yc-reader/

From the same set3

The whole set →

Similar

policy-monitor official anthropics Diffs approved AI use cases, triage outcomes and vendor reviews against your written AI policy, then drafts the wording that closes each gap. Claude Code CX Codex Cursor +1 706installs visual-plan BuilderIO Turns a plain text plan into a document with diagrams, a file map and open questions you can comment on before the agent starts writing code. Claude Code CX Codex Cursor +1 1,300installs chdb-sql chdb-io A skill that teaches your agent analytical SQL over parquet, CSV, S3 and remote databases with chDB, which is ClickHouse running inside Python. No server to start. Claude Code CX Codex Cursor +1 8,800installs chronology official anthropics Turns matter documents into a dated timeline: events extracted, duplicates merged, significance tagged against the case theory. Reach for it before a statement of facts or witness prep. Claude Code CX Codex Cursor +1 662installs tanstack-query-best-practices DeckardGer A rule set for TanStack Query in React: query keys, caching, mutations, SSR. Installs into Claude Code, Codex, Cursor or Copilot so data fetching follows one pattern across the repo. Claude Code CX Codex Cursor +1 12,800installs gpt-image-2 prime-skills Generates and edits images via OpenAI GPT Image 2 on RunComfy. Embeds text, logos, and multilingual typography accurately — for e-commerce, ads, and UI mockups. Claude Code CX Codex Cursor +1 83,800installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about yc-reader

How do I install yc-reader in Claude Code?

Run npx skills add himself65/finance-skills --skill yc-reader -a claude-code. The skill file lands at ~/.claude/skills/yc-reader/SKILL.md.

What does yc-reader do?

It reads YC company profiles, batch rosters, industry and tag slices, hiring and founder lists, and overall stats from the public yc-oss dataset. Nothing is written back.

What does the skill need to run?

curl to fetch the JSON files and jq to filter them. There is no API key, but you do need network access, otherwise curl cannot resolve the host.

Source text

SKILL.md · MIT
---
name: yc-reader
description: >
  Look up Y Combinator companies and batches from the public yc-oss API, a static JSON
  dataset refreshed daily: company profiles, batch rosters (e.g. W25, S24), companies
  by industry or tag, top companies, who is hiring, founder-diversity lists, and
  overall YC stats. Use this skill whenever the user asks about YC-backed startups, a
  YC batch, YC companies in a sector or tag or that are hiring, the Y Combinator
  portfolio, or startup and venture research that draws on YC data. Read-only.
---

# Y Combinator Reader (Read-Only)

If your host has not already executed the shell probes below (for example, in Codex), run the commands inside the `!` wrappers with its shell tool before choosing a setup path. Use the actual output; if shell access is unavailable, report that limitation.

Fetches Y Combinator company data from the [yc-oss/api](https://github.com/yc-oss/api), an unofficial open-source API that indexes all publicly launched YC companies. The data is sourced from YC's Algolia search index and updated daily via GitHub Actions.

**This is a read-only data source.** It provides company profiles, batch listings, industry/tag breakdowns, hiring status, and diversity data. No write operations exist — the API serves static JSON files.

**No authentication required.** The API is public and free. Just use `curl` to fetch JSON endpoints.

---

## Step 1: Verify Prerequisites

This skill only needs `curl` (to fetch data) and `jq` (to parse/filter JSON). Both are pre-installed on most systems.

```
!`(command -v curl > /dev/null && echo "CURL_OK" || echo "CURL_MISSING") && (command -v jq > /dev/null && echo "JQ_OK" || echo "JQ_MISSING")`
```

If `JQ_MISSING`, install it:

```bash
# macOS
brew install jq

# Linux (Debian/Ubuntu)
sudo apt-get install jq
```

If `jq` is unavailable, you can still fetch raw JSON with `curl` and parse it inline with Python or other tools — but `jq` makes filtering much easier.

---

## Step 2: Identify What the User Needs

Match the user's request to the appropriate endpoint. See `references/api_reference.md` for full details.

| User Request | Endpoint | Notes |
|---|---|---|
| Overall YC stats | `meta.json` | Company count, batch list, industry/tag lists |
| All companies | `companies/all.json` | Full dataset (~5,700 companies) — large response |
| Top companies | `companies/top.json` | ~91 top-performing YC companies |
| Companies hiring | `companies/hiring.json` | ~1,400 currently hiring |
| Non-profit companies | `companies/nonprofit.json` | YC-backed non-profits |
| Diversity data | `companies/black-founded.json`, `hispanic-latino-founded.json`, `women-founded.json` | Founder diversity |
| Specific batch | `batches/{batch-name}.json` | e.g., `winter-2026.json`, `spring-2026.json`, `fall-2025.json` |
| Single company profile | `batches/{batch-name}/{slug}.json` | e.g., `batches/summer-2009/stripe.json`, `batches/winter-2009/airbnb.json` |
| By industry | `industries/{industry}.json` | e.g., `fintech.json`, `healthcare.json` |
| By tag | `tags/{tag}.json` | e.g., `ai.json`, `developer-tools.json` |

### Batch name format

Batches use `{season}-{year}` format: `winter-2026`, `spring-2026`, `summer-2026`, `fall-2025`. Older batches follow the same pattern back to `summer-2005`. The short form (`w09`, `s21`) also works for the per-company endpoint.

### Industry and tag name format

Use lowercase with hyphens for multi-word names: `real-estate`, `developer-tools`, `machine-learning`.

---

## Step 3: Execute the Request

### Base URL

```
https://yc-oss.github.io/api/
```

### General pattern

```bash
# Fetch and pretty-print
curl -s https://yc-oss.github.io/api/companies/top.json | jq .

# Count companies in a result
curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq length

# Filter by field (e.g., hiring companies in a batch)
curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq '[.[] | select(.isHiring == true)]'

# Extract specific fields
curl -s https://yc-oss.github.io/api/companies/top.json | jq '.[] | {name, one_liner, batch, team_size, website}'

# Search by name (case-insensitive)
curl -s https://yc-oss.github.io/api/companies/all.json | jq '[.[] | select(.name | test("stripe"; "i"))]'
```

### Key rules

1. **Use `-s` flag** with curl to suppress progress output
2. **Pipe through `jq`** for readable output and filtering
3. **Avoid fetching `companies/all.json` unless necessary** — it's a large response (~5,700 companies). Prefer more specific endpoints (batches, industries, tags) when possible
4. **Use `jq` select/filter** to narrow results client-side when the API doesn't have a specific endpoint for what the user wants
5. **Batch names are lowercase with hyphens** — `winter-2025` not `Winter 2025` or `W25`
6. **Tag and industry names are lowercase with hyphens** — `developer-tools` not `Developer Tools`

### Common jq filters

| Filter | Purpose |
|---|---|
| `jq length` | Count results |
| `jq '.[0]'` | First company |
| `jq '.[:10]'` | First 10 companies |
| `jq '[.[] \| select(.isHiring == true)]'` | Only hiring companies |
| `jq '[.[] \| select(.status == "Active")]'` | Only active companies |
| `jq '[.[] \| select(.team_size > 100)]'` | Companies with 100+ employees |
| `jq '.[] \| {name, one_liner, batch, website}'` | Select specific fields |
| `jq '[.[] \| select(.name \| test("query"; "i"))]'` | Search by name |
| `jq 'sort_by(-.team_size) \| .[:10]'` | Top 10 by team size |

---

## Step 4: Present the Results

Summarize rather than dump JSON. For each company, give the name, one-liner, batch, team size, status, hiring status (a growth signal), and website. For a batch, lead with its size and notable companies; for an industry or tag, the count and which companies are top or hiring; for research questions, aggregate stats such as counts, common industries, and team-size distribution. Mention that the dataset refreshes daily.

---

## Step 5: Diagnostics

If a request fails:

| Error | Cause | Fix |
|-------|-------|-----|
| `404 Not Found` | Invalid batch, industry, or tag name | Check `meta.json` for valid names |
| Empty array `[]` | No companies match the query | Broaden the search or check spelling |
| `curl: Could not resolve host` | No internet connection | Check network connectivity |
| Large/slow response | Fetching `companies/all.json` (5,700+ entries) | Use a more specific endpoint or add `jq` filters |

To discover valid batch, industry, and tag names:

```bash
# List all batches
curl -s https://yc-oss.github.io/api/meta.json | jq '.batches[].name'

# List all industries
curl -s https://yc-oss.github.io/api/meta.json | jq '.industries[].name'

# List all tags (there are 333+)
curl -s https://yc-oss.github.io/api/meta.json | jq '.tags[].name'
```

---

## Reference Files

- `references/api_reference.md` — Complete endpoint reference with company schema, all endpoint URLs, and research workflow examples

Read the reference file when you need the exact company field schema, valid batch/industry/tag names, or detailed research workflow patterns.

© himself65 · MIT · himself65/finance-skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor