| name | yc-explorer |
| description | 查 Y Combinator 公司组合 + 维护一个私人 YC 认知库的 Skill,数据直接来自 YC 官方自己的公开 Algolia 索引(就是 ycombinator.com/companies 背后那个)。当用户想知道"最近的 YC 公司"、"YC portfolio"、"某 batch 有哪些公司"(如 YC S26 / W26 / Summer 2026)、"YC 里做 XX 的创业公司"、"哪些 YC 公司在招人"、"某公司是哪个 batch / 团队多大"、"YC 各批次统计"、"探索 YC"、"YC companies"、"YC startups"、"who's hiring at YC",或者想"建/刷新我的 YC 数据库"、"打开 YC 面板"、"我收藏了哪些 YC 公司"、"上次之后 YC 新增了哪些" 等任何 YC 公司组合查询或私人 YC 库操作时使用。即使用户只说"YC S26"、"最近哪些创业公司上了 YC"、"帮我搜 YC 里做 AI agent 的",只要上下文是 Y Combinator / YC / 加速器创业公司,就应触发。Skill 直接 curl YC 官方公开 Algolia 拿数据(免费、无限、无需 API Key),整理成中文 markdown,或维护本地快照 + 本地 HTML 仪表盘。**不要 undertrigger**——用户问 YC 现状而你不查,就是拿过时训练数据当今天的事实(YC 每年新增两三百家,你的记忆一定过期)。 |
YC Explorer Skill
两件事:
- 即时查询 — 用最自然的中文查 Y Combinator 的 6000+ 家公司(名字、一句话、批次、团队、行业、地点、是否在招),不用打开浏览器。
- 私人 YC 认知库 — 在本地存一份快照 + 一层你的偏好(收藏 / 标签 / 笔记 / 已看),配一个本地 HTML 仪表盘,离线秒筛、算"上次之后新增了哪些",不用每次重搜。
数据直接来自 Y Combinator 官方自己的公开 Algolia 索引——就是 ycombinator.com/companies 这个页面在用的那个搜索后端。免费、无限、无需注册任何 API Key。 SKILL.md 标准格式,跨 Claude Code / Codex CLI / Cursor / Gemini CLI / OpenCode 通用。
数据归属:公司名单是 YC 官方的公开数据(YC 自家网站在用的 Algolia 索引 YCCompany_production)。我们只是用最自然的方式查它。
可选增强:如果你要"融资额 / 员工数 / 增长率"这些 YC 原生没有的富化字段,那是第三方项目 ExploreYC(by Konstantin Borimechkov)花钱补的,他有付费 API(免费 5 次/天)。本 Skill 默认不依赖它,只在你明确要那几列时提。
先决条件:无
无鉴权、无 API Key。Key 是 YC 明写在自己网页里的公开搜索 key(受限只读),Skill 会自动从 ycombinator.com/companies 抓当前 key(它可能轮换,所以不写死)。
数据源速览(YC 官方 Algolia)
- Endpoint:
POST https://45bwzj1sgc-dsn.algolia.net/1/indexes/*/queries
- App ID:
45BWZJ1SGC(查询串里带)
- Index:
YCCompany_production
- Key:从
https://www.ycombinator.com/companies 页面里 window.AlgoliaOpts 抓({"app":"45BWZJ1SGC","key":"…"})
- 总量:约 6026 家,每家有唯一
batch
- 可筛 facet:
batch、industry、industries、subindustry、tags、regions、status、isHiring、nonprofit、top_company
- 每家字段:
name slug one_liner long_description website batch status stage team_size isHiring nonprofit top_company industry industries subindustry tags regions all_locations launched_at former_names small_logo_thumb_url
- 公司 URL:
https://www.ycombinator.com/companies/{slug}
- ⚠️ 翻页封顶 1000 条:一次查询最多返回 1000 hits(
page>0 为空)。要拉全量,按 batch 分片(50 个 batch,最大 <1000,一片一次请求)。
附加源:a16z(可选,默认包含)
fetch.py 还会拉 a16z 投资组合(约 849 家):a16z 把全量内联在 https://a16z.com/portfolio/ 页面的 window.a16z_portfolio_companies 数组里,一个 GET 拿全,无 key。每家带 source:"a16z",字段比 YC 稀(没有 batch/team_size/isHiring/industry),但有 stage(Venture/Seed/Growth/M&A/IPO…)、status(Active/Acquired/Public/Exited)、founders、year_founded、acquirer。
- 快照里每家都有
source 字段("yc" | "a16z");YC 是 6026,a16z 约 849,合计约 6875。
- 跨源 slug 已去重(a16z 撞 YC slug 时后缀
-a16z),收藏按 slug 不会串。
- 不想要 a16z:
python3 db/fetch.py --no-a16z。a16z 抓取失败不影响 YC 快照(best-effort)。
- 面板有「全部来源 / YC / a16z」筛选;a16z 卡片显示 stage 而非 batch。
模式 A:即时查询(一次性问题,不建库)
设好 key 变量(所有 curl 复用):
KEY=$(curl -s "https://www.ycombinator.com/companies" \
| python3 -c "import re,sys,json;print(json.loads(re.search(r'window\.AlgoliaOpts\s*=\s*(\{.*?\})',sys.stdin.read()).group(1))['key'])")
AL="https://45bwzj1sgc-dsn.algolia.net/1/indexes/*/queries?x-algolia-application-id=45BWZJ1SGC&x-algolia-api-key=$KEY"
q(){ curl -s "$AL" -H 'content-type: application/json' \
--data "{\"requests\":[{\"indexName\":\"YCCompany_production\",\"params\":\"$1\"}]}"; }
| 用户在说 | 怎么查 |
|---|
| "YC 里做 AI agent 的" | q "query=AI+agent&hitsPerPage=20" |
| "YC S26 有哪些"(批次) | facetFilters 按 batch(见下) |
| "哪些在招" | facetFilters isHiring:true |
| "各批次多少家 / 统计" | q "query=&hitsPerPage=0&facets=%5B%22*%22%5D" 看 .results[0].facets |
| "某公司多大 / 哪个 batch" | query=<名字>&hitsPerPage=3 |
q "query=AI+agent&hitsPerPage=20" | jq '.results[0] | {matched:.nbHits,
companies:[.hits[] | {name, batch, one_liner, team:.team_size, hiring:.isHiring,
url:("https://www.ycombinator.com/companies/"+.slug)}]}'
FF=$(python3 -c "import urllib.parse,json;print(urllib.parse.quote(json.dumps([['batch:Summer 2026']])))")
q "query=&hitsPerPage=1000&facetFilters=$FF" | jq '.results[0].nbHits'
FF=$(python3 -c "import urllib.parse,json;print(urllib.parse.quote(json.dumps([['isHiring:true']])))")
q "query=agent&hitsPerPage=30&facetFilters=$FF" | jq '.results[0].hits[].name'
q "query=&hitsPerPage=0&facets=%5B%22batch%22%2C%22industry%22%5D&maxValuesPerFacet=200" \
| jq '.results[0] | {total:.nbHits, batches:.facets.batch, industries:.facets.industry}'
约定:串行调用别并发猛拉(是 YC 的站,礼貌第一);jq 裁字段省 token;要拉全量走"模式 B"的 fetch.py,别在这手撸 50 次循环。
模式 B:私人 YC 认知库(建库 + 仪表盘)
三个文件在本 skill 的 db/ 下,数据落 ~/.yc-explorer/(不进 git,一人一份):
db/fetch.py — 按 batch 分片拉全量 → 写 snapshot.json + 跟上一份 diff 出"新增"
db/server.py — 本地小服务:开仪表盘、读快照、读写 prefs.json、一键刷新
db/index.html — 仪表盘:离线秒筛 + ⭐收藏 + 标签/笔记 + "只看新增" + 保存视图
建/刷新数据库
python3 db/fetch.py
打开仪表盘
python3 db/server.py --open
给用户的话术:"我给你起了本地 YC 面板,http://127.0.0.1:7777 —— 你在上面搜/筛/收藏/记笔记,我这边能读同一份偏好。"
Eric 铁律:不要替他弹出有头浏览器到他屏幕。给他 localhost 链接让他自己点开;要自动开就用 --open(开系统默认浏览器看本地面板,这是他要的),但绝不用无头/自动化浏览器截图刷到他屏幕上。
个性化答复(读用户偏好层)
用户的收藏 / 关注赛道 / 已看,都在 ~/.yc-explorer/prefs.json:
cat ~/.yc-explorer/prefs.json | jq '{interests, favorites:(.favorites|keys), seen:(.seen|keys|length)}'
- 用户问"最近有啥值得看的 YC 公司" → 读
interests + snapshot.newSlugs,只挑他关注赛道里、他还没 seen 的新公司答复。
- 用户说"收藏 XX" / "给 XX 记个笔记" → 直接改
prefs.json 的 favorites(写回后面板刷新即见,双向共享)。
- 别把公司数据硬塞进 prefs;prefs 只装你的层。
数据结构:
snapshot.json : {source, fetchedAt, total, batches:[…], newSlugs:[…], companies:[…]}
prefs.json : {interests:[], watchBatches:[], favorites:{slug:{tags,note,starredAt}},
seen:{slug:ISO}, savedViews:[{name,filters}], settings:{}}
什么时候用哪个模式
- 一次性问题("搜 YC 里做 X 的"、"S26 有哪些"、"各批次统计")→ 模式 A,直接 curl,不建库。
- 反复用 / 要收藏笔记 / 要看"新增"("建我的 YC 库"、"打开面板"、"我收藏了哪些")→ 模式 B。
- 已有快照且用户问宽泛问题,可直接读
~/.yc-explorer/snapshot.json(离线)而不是打 API。
整理成简报的原则
- 默认中文;公司名 / 网址保留原文。
- 列表用 markdown 表格:
公司 | 批次 | 一句话 | 团队 | 在招,网址做成可点链接(YC 页 https://www.ycombinator.com/companies/{slug})。
- YC 原生没有融资额/员工数/增长——用户问这些,说明"YC 官方源没有,需要第三方 ExploreYC 的付费增强",别编数。
- 结尾标来源:
数据来源:Y Combinator 官方公开索引。
故障排查
- 抓不到 key:YC 页面结构变了,检查
window.AlgoliaOpts 的正则;key 是 URL-safe base64。
- 拉不全(只有 1000):忘了按 batch 分片。单次查询硬顶 1000,必须循环 batch facet。
- 面板空白:
snapshot.json 还没建,先 python3 db/fetch.py 或点面板「🔄 刷新」。
- 收藏没同步到 Agent:确认走的是
server.py(它把收藏落 ~/.yc-explorer/prefs.json),不是纯静态开 HTML。
数据来自 Y Combinator 官方公开 Algolia 索引(YC 自家网站在用)。本 Skill 是社区做的便捷封装,与 YC 无隶属关系。可选的融资/员工增强来自第三方 ExploreYC。