$npx -y skills add himself65/finance-skills --skill yc-readerLook 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 compani
| 1 | # Y Combinator Reader (Read-Only) |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | **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. |
| 6 | |
| 7 | **No authentication required.** The API is public and free. Just use `curl` to fetch JSON endpoints. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Step 1: Verify Prerequisites |
| 12 | |
| 13 | This skill only needs `curl` (to fetch data) and `jq` (to parse/filter JSON). Both are pre-installed on most systems. |
| 14 | |
| 15 | ``` |
| 16 | !`(command -v curl > /dev/null && echo "CURL_OK" || echo "CURL_MISSING") && (command -v jq > /dev/null && echo "JQ_OK" || echo "JQ_MISSING")` |
| 17 | ``` |
| 18 | |
| 19 | If `JQ_MISSING`, install it: |
| 20 | |
| 21 | ```bash |
| 22 | # macOS |
| 23 | brew install jq |
| 24 | |
| 25 | # Linux (Debian/Ubuntu) |
| 26 | sudo apt-get install jq |
| 27 | ``` |
| 28 | |
| 29 | 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. |
| 30 | |
| 31 | --- |
| 32 | |
| 33 | ## Step 2: Identify What the User Needs |
| 34 | |
| 35 | Match the user's request to the appropriate endpoint. See `references/api_reference.md` for full details. |
| 36 | |
| 37 | | User Request | Endpoint | Notes | |
| 38 | |---|---|---| |
| 39 | | Overall YC stats | `meta.json` | Company count, batch list, industry/tag lists | |
| 40 | | All companies | `companies/all.json` | Full dataset (~5,700 companies) — large response | |
| 41 | | Top companies | `companies/top.json` | ~91 top-performing YC companies | |
| 42 | | Companies hiring | `companies/hiring.json` | ~1,400 currently hiring | |
| 43 | | Non-profit companies | `companies/nonprofit.json` | YC-backed non-profits | |
| 44 | | Diversity data | `companies/black-founded.json`, `hispanic-latino-founded.json`, `women-founded.json` | Founder diversity | |
| 45 | | Specific batch | `batches/{batch-name}.json` | e.g., `winter-2026.json`, `spring-2026.json`, `fall-2025.json` | |
| 46 | | Single company profile | `batches/{batch-name}/{slug}.json` | e.g., `batches/summer-2009/stripe.json`, `batches/winter-2009/airbnb.json` | |
| 47 | | By industry | `industries/{industry}.json` | e.g., `fintech.json`, `healthcare.json` | |
| 48 | | By tag | `tags/{tag}.json` | e.g., `ai.json`, `developer-tools.json` | |
| 49 | |
| 50 | ### Batch name format |
| 51 | |
| 52 | 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. |
| 53 | |
| 54 | ### Industry and tag name format |
| 55 | |
| 56 | Use lowercase with hyphens for multi-word names: `real-estate`, `developer-tools`, `machine-learning`. |
| 57 | |
| 58 | --- |
| 59 | |
| 60 | ## Step 3: Execute the Request |
| 61 | |
| 62 | ### Base URL |
| 63 | |
| 64 | ``` |
| 65 | https://yc-oss.github.io/api/ |
| 66 | ``` |
| 67 | |
| 68 | ### General pattern |
| 69 | |
| 70 | ```bash |
| 71 | # Fetch and pretty-print |
| 72 | curl -s https://yc-oss.github.io/api/companies/top.json | jq . |
| 73 | |
| 74 | # Count companies in a result |
| 75 | curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq length |
| 76 | |
| 77 | # Filter by field (e.g., hiring companies in a batch) |
| 78 | curl -s https://yc-oss.github.io/api/batches/winter-2025.json | jq '[.[] | select(.isHiring == true)]' |
| 79 | |
| 80 | # Extract specific fields |
| 81 | curl -s https://yc-oss.github.io/api/companies/top.json | jq '.[] | {name, one_liner, batch, team_size, website}' |
| 82 | |
| 83 | # Search by name (case-insensitive) |
| 84 | curl -s https://yc-oss.github.io/api/companies/all.json | jq '[.[] | select(.name | test("stripe"; "i"))]' |
| 85 | ``` |
| 86 | |
| 87 | ### Key rules |
| 88 | |
| 89 | 1. **Use `-s` flag** with curl to suppress progress output |
| 90 | 2. **Pipe through `jq`** for readable output and filtering |
| 91 | 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 |
| 92 | 4. **Use `jq` select/filter** to narrow results client-side when the API doesn't have a specific endpoint for what the user wants |
| 93 | 5. **Batch names are lowercase with hyphens** — `winter-2025` not `Winter 2025` or `W25` |
| 94 | 6. **Tag and industry names are lowercase with hyphens** — `developer-tools` not `Dev |