yc-reader
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
Install
npx skills add https://github.com/himself65/finance-skills/tree/main/plugins/social-readers/skills/yc-reader
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install himself65-finance-skills@llmmart
git clone https://github.com/himself65/finance-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole himself65/finance-skills collection as a plugin from our marketplace. Git is the plain clone.
README
yc-reader
Read-only Y Combinator company data skill using the yc-oss/api.
What it does
Fetches Y Combinator company data for startup and venture research — company profiles, batch listings, industry/tag breakdowns, hiring status, and diversity data. Capabilities include:
- Company collections — top companies, all companies, currently hiring, non-profits, diversity data
- Batch lookup — companies by YC batch (e.g., Winter 2025, Summer 2024)
- Industry filter — companies by industry (fintech, healthcare, B2B, etc.)
- Tag filter — companies by tag (AI, developer tools, SaaS, climate, etc.)
- Metadata — overall YC stats, valid batch/industry/tag names
- Client-side search — find companies by name or description via jq filters
This is a read-only data source. The API serves static JSON files — no write operations exist.
Authentication
None required. The API is public and free — just curl the endpoints.
Triggers
- "YC companies in fintech", "top Y Combinator companies", "latest YC batch"
- "YC startups hiring", "find YC companies tagged AI", "W25 batch"
- "Y Combinator portfolio", "startup research", "which YC companies do X"
- Any mention of Y Combinator or YC in context of startup/venture research
Platform
Works on Claude Code and other CLI-based agents. Does not work on Claude.ai — the sandbox restricts network access required for API calls.
Setup
# Choose finance-social-readers when prompted.
npx plugins add himself65/finance-skills
# Or install just this skill
npx skills add himself65/finance-skills --skill yc-reader
See the main README for more installation options.
Prerequisites
curl(pre-installed on macOS and most Linux)jq(for JSON filtering —brew install jqorapt-get install jq)
Reference files
references/api_reference.md— Complete endpoint reference with company schema, all URLs, and research workflow examples
Skill manifest
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, 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:
# 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
# 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
- Use
-sflag with curl to suppress progress output - Pipe through
jqfor readable output and filtering - Avoid fetching
companies/all.jsonunless necessary — it's a large response (~5,700 companies). Prefer more specific endpoints (batches, industries, tags) when possible - Use
jqselect/filter to narrow results client-side when the API doesn't have a specific endpoint for what the user wants - Batch names are lowercase with hyphens —
winter-2025notWinter 2025orW25 - Tag and industry names are lowercase with hyphens —
developer-toolsnotDeveloper 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:
# 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.
Files (finance-skills)
-
references
-
api_reference.md 9.9 KB
Loading…
-
-
README.md 2 KB
# yc-reader Read-only Y Combinator company data skill using the [yc-oss/api](https://github.com/yc-oss/api). ## What it does Fetches Y Combinator company data for startup and venture research — company profiles, batch listings, industry/tag breakdowns, hiring status, and diversity data. Capabilities include: - **Company collections** — top companies, all companies, currently hiring, non-profits, diversity data - **Batch lookup** — companies by YC batch (e.g., Winter 2025, Summer 2024) - **Industry filter** — companies by industry (fintech, healthcare, B2B, etc.) - **Tag filter** — companies by tag (AI, developer tools, SaaS, climate, etc.) - **Metadata** — overall YC stats, valid batch/industry/tag names - **Client-side search** — find companies by name or description via jq filters **This is a read-only data source.** The API serves static JSON files — no write operations exist. ## Authentication None required. The API is public and free — just `curl` the endpoints. ## Triggers - "YC companies in fintech", "top Y Combinator companies", "latest YC batch" - "YC startups hiring", "find YC companies tagged AI", "W25 batch" - "Y Combinator portfolio", "startup research", "which YC companies do X" - Any mention of Y Combinator or YC in context of startup/venture research ## Platform Works on **Claude Code** and other CLI-based agents. Does **not** work on Claude.ai — the sandbox restricts network access required for API calls. ## Setup ```bash # Choose finance-social-readers when prompted. npx plugins add himself65/finance-skills # Or install just this skill npx skills add himself65/finance-skills --skill yc-reader ``` See the [main README](../../../../README.md) for more installation options. ## Prerequisites - `curl` (pre-installed on macOS and most Linux) - `jq` (for JSON filtering — `brew install jq` or `apt-get install jq`) ## Reference files - `references/api_reference.md` — Complete endpoint reference with company schema, all URLs, and research workflow examples -
SKILL.md 6.9 KB
--- 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.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.