mcpbeat Sign in

Yc Reader Agent Skill

> Look up Y Combinator companies, batches, and startup ecosystem data using the yc-oss API (read-only). Use this skill whenever the user wants to research YC-backed startups, find companies in a specific batch or industry, check which YC companies are hiring, explore top YC companies, or analyze startup trends by sector or tag. "top Y Combinator companies", "find YC companies tagged AI", "W25 batch", "S24 companies", "YC stats", "Y Combinator portfolio", "startup research", "which YC companies do X", "venture research on YC", any mention of Y Combinator, YC batch, or YC-backed companies in the context of startup research, venture analysis, or market intelligence. This is a read-only data source — the API is a static JSON dataset updated daily.

5k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3109
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/himself65/finance-skills --skill yc-reader

The instruction itself

13 sections, as written by the author

Y Combinator Reader (Read-Only)

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 -s flag with curl to suppress progress output
  • Pipe through jq for readable output and filtering
  • Avoid fetching companies/all.json unless necessary — it's a large response (~5,700 companies). Prefer more specific endpoints (batches, industries, tags) when possible
  • Use jq select/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 hyphenswinter-2025 not Winter 2025 or W25
  • Tag and industry names are lowercase with hyphensdeveloper-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

After fetching data, present it clearly for startup/venture research:

  • Summarize key data — company name, one-liner, batch, team size, status, and website
  • Highlight hiring status — note which companies are actively hiring (growth signal)
  • Include website URLs when the user might want to visit the company
  • For batch listings, summarize the batch size and notable companies
  • For industry/tag queries, highlight trends (how many companies, which are top/hiring)
  • For research queries, provide aggregate stats (count, common industries, team size distribution)
  • Note the data freshness — the API updates daily, so data is near-real-time

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.

Other skills for the same job

different authors, same section of the catalogue
Doca Bench
by NVIDIA
vendor

> Run `doca_bench` (DOCA 2.7.0 or newer) to measure throughput, bulk latency, precision latency, or maximum bandwidth for RDMA, Compress, AES-GCM, SHA, DMA, EC, Ethernet, Comch, or GPUNetIO on a host or BlueField Arm. Use it to discover enabled benchmark libraries, capture a reproducible command/version/device/environment baseline, compare stable runs against a declared tolerance, or diagnose configuration, device-binding, workload-precondition, and measurement failures. Trigger for requests such as measuring BlueField compression speed, NIC RDMA throughput, crypto latency, or a pre-upgrade baseline. Do not use for application end-to-end timing, custom benchmark code, DOCA installation, or binary patches.

22k tokens
Profit Margin Calculator Shopify
by nexscope-ai

Shopify/DTC profit margin calculator for sellers. Calculate cost breakdowns including ad spend, CAC, payment processing fees, and 3PL costs. Includes LTV/CAC analysis and DTC-specific benchmarks. No API key required.

5k tokens scripts
Investor Materials
by loulanyue

创建和更新宣传文稿、一页简介、投资者备忘录、加速器申请、财务模型和融资材料。当用户需要面向投资者的文件、预测、资金用途表、里程碑计划或必须在多个融资资产中保持内部一致性的材料时使用。

682 tokens zh
Performance Attribution
by JoelLewis

Decompose portfolio returns into explainable components to identify where value was added or lost. Use when the user asks about Brinson attribution, allocation vs selection effects, factor-based attribution, fixed-income attribution, or currency attribution. Also trigger when users mention 'what drove my returns', 'was it stock picking or sector bets', 'alpha decomposition', 'multi-period linking', 'interaction effect', 'active return breakdown', or ask why their portfolio outperformed or underperformed the benchmark.

9k tokens scripts
Investor Materials
by mturac

创建和更新宣传文稿、一页简介、投资者备忘录、加速器申请、财务模型和融资材料。当用户需要面向投资者的文件、预测、资金用途表、里程碑计划或必须在多个融资资产中保持内部一致性的材料时使用。

627 tokens zh
Contract Review
by aAAaqwq

Legal contract analysis using CUAD dataset (41 risk categories). Supports NDA, SaaS, M&A, employment, payment/merchant, and finder/broker agreements. Identifies red flags, suggests redlines, compares to market standards.

4k tokens
Examine Raw Holdings Data Structure
by cxcscmu

Inspect the actual holdings dataset to understand its schema, field names, and data patterns before applying filters. Use this to identify the correct field name that distinguishes equity securities from bonds, options, warrants, and other non-stock instruments.

375 tokens
Load Holdings Data By Accession Number
by cxcscmu

Retrieve and load the complete holdings dataset for a specific fund using its accession_number. Use this to access position-level details needed for AUM, stock count, and comparative analysis.

342 tokens

How to use it

Copy the folder

Take himself65/yc-reader from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference brew, apt. Without those the skill loads but fails at the first command.