关于 pp-company-goat
pp-company-goat 是面向 Agent 和研究者的只读公司调研命令行技能,尤其适合逐家分析初创公司。它汇总 SEC、GitHub、Hacker News 等来源,并从 SEC Form D 提取美国公司的融资申报信息。
主要功能
- 01聚合多来源公司快照
- 02查询 SEC Form D 融资申报
- 03分析 GitHub 工程活动
- 04检索 Hacker News 提及与发布
- 05比较公司并检查跨来源信号
适用场景
- 01快速调研一家美国初创公司
- 02核实创始人涉及的 Form D 申报
- 03并排比较两家竞争公司
- 04识别融资记录与工程活动间的异常
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-company-goat安装后在 Claude Code 中输入/pp-company-goat确认已加载。
详细介绍
Company GOAT — Printing Press CLI
前提条件:安装 CLI
此技能通过 company-goat-pp-cli 二进制文件运行。**调用此技能中的任何命令前,必须确认 CLI 已安装。**如果尚未安装,请先安装:
- 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install company-goat --cli-only - 验证:
company-goat-pp-cli --version - 确保报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、离线等),请改用直接通过 Go 安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/developer-tools/company-goat/cmd/company-goat-pp-cli@latest
如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。验证成功前,请勿继续执行技能命令。
何时使用此 CLI
当 Agent 或人工用户需要对小型或中型初创公司进行有结构的公司研究(融资、工程动态、提及时间线、法律实体、域名年龄),且不想付费使用 Crunchbase Pro 时,可使用 Company GOAT。它最适合逐家公司进行深入研究。不适用于批量发现(数据源无法扩展到数千次查询),也不适用于全球私募市场融资图谱查询(没有任何免费数据源提供此类信息)。
核心优势:免费的 SEC Form D
大多数通过定价股权融资轮次筹资的美国初创公司(Series Seed → Series C,Reg D 506(b)/506(c))会在首次出售后的 15 天内向 SEC 提交 Form D。申报文件会列出发行方、发行金额、所依据的豁免,以及相关人员(高管、董事、发起人)。Crunchbase Pro 每年收费 $999,只是对这一数据源进行包装;此 CLI 可直接从 EDGAR 免费提取数据。当 Agent 需要核实美国初创公司的实际融资历史,而不是引用 Crunchbase Free 中空白的“未披露”行时,请使用 funding。
覆盖范围一览
- SEC Form D /
funding/funding-trend— 仅限美国。覆盖 Reg D 定价轮融资。不覆盖 Pre-Series-A SAFE。对于非美国公司、尚未进行定价轮融资的公司,以及尚未提交申报的公司,预期结果是空申报记录加上coverage_note。当 Form D 结果为空时,funding会回退到更广泛的 EDGAR 全文搜索,并按信号类别展示提及记录:子公司(10-K 中提及母公司)、债务(Venture Lending and Leasing 投资组合中的提及)、收购(8-K 中披露母公司)和其他。funding --who也会搜索所有表单类型,而不只是 Form D。消歧: EDGAR 全文搜索会按名称片段匹配,因此搜索“Notion”会同时命中 Notion Labs 和 Notion Capital VC。只要有多个不同的 CIK 匹配,结果就会包含cik_summaries和is_ambiguous: true。使用摘要中的 CIK,通过--cik <id>重新调用,以筛选出正确实体。复合命令(snapshot、compare、signal)会在输出中传递歧义标记,并在存在歧义时拒绝合成并列数值——由 Agent 根据更广泛的上下文(Wikidata 创始人信息、GitHub 组织匹配情况、用户意图)判断哪个 CIK 正确,然后重新运行funding --cik进行确认。signal会将Form D match is ambiguous作为独立的信号类别展示,因此不会盲目信任跨来源一致性检查。 - Companies House /
legal --region uk— 仅限英国 Ltd / PLC。需要COMPANIES_HOUSE_API_KEY(可在 developer.companieshouse.gov.uk 免费获取)。 - GitHub /
engineering— 任何公开组织均可。可选的GITHUB_TOKEN可将速率限制从每小时 60 次提高到每小时 5000 次。 - Hacker News /
mentions/launches— 通过 Algolia 对 HN 自 2007 年以来的内容进行全文搜索。无需身份验证。mentions会同时返回按年月统计的直方图,以及按积分排序的前 N 篇故事(使用--top N扩大范围,默认值为 5)。launches仅搜索 Show HN 内容——询问“这家公司是否发布过 Show HN”时使用它;询问“大家在 HN 上如何评价这家公司”时使用mentions。 - YC 目录 /
yc— 仅限 YC 支持的公司。 - Wikidata /
wiki— 早期公司的信息较少;主要适用于成熟公司。 - RDAP / DNS /
domain— 任何已注册域名。
何时不要使用此 CLI
对于需要创建、更新、删除、发布、评论、点赞、邀请、下单、发送消息、预订、购买或更改远程状态的请求,请勿启用此 CLI。此 CLI 提供的命令仅供只读使用,可用于检查、导出、同步和分析。
独特能力
其他任何适用于此 API 的工具都不具备这些能力。
多来源编排
-
snapshot— 通过一条命令查询公司在 SEC Form D、GitHub、Hacker News、Companies House、YC、Wikidata 和 DNS 上的信息,并在数秒内以统一的终端摘要呈现。需要快速评估一家初创公司时,这条命令能让你了解它是否融过资、是否在交付代码、是否有人讨论,以及是否真实可靠——无需打开 8 个浏览器标签页。
company-goat-pp-cli snapshot --domain stripe.com --json -
signal— 揭示可疑的跨来源模式。例如:“Form D 显示 2024 年融资 500 万美元,但 GitHub 组织自 2022 年以来没有任何提交”,或“YC 条目显示状态为 Active,但网站域名已过期”。决定是否与一家初创公司合作时,这条命令可以标记出僵尸公司和过时的融资信息,无需逐个打开所有标签页。
company-goat-pp-cli signal --domain acme-corp.com --json
杀手级功能
-
funding— 查看美国私营公司的结构化 SEC Form D 备案信息,包括融资金额、备案日期、所申报的豁免类型(Reg D 506(b) 与 506(c))、关联实体和注册州。当 Agent 需要核实美国初创公司的实际融资历史时,这是最可靠的免费信号。避免 Agent 引用 Crunchbase Free 中空白的“未披露”条目。
company-goat-pp-cli funding --domain stripe.com --json -
funding-trend— 查看公司历年的 Form D 备案时间序列,了解融资节奏和间隔。可用于悄悄发现“他们自 2022 年以来就没有融资”。当 Agent 需要总结公司的融资历程,而不只是最新一轮融资时,请使用此功能。
company-goat-pp-cli funding-trend --domain stripe.com --since 2018 --json -
funding --who— 显示提及指定人员(高管、大股东)的所有 Form D 备案信息。可揭示连续创业的创始人、频繁出现的顾问和活跃投资者。当 Agent 需要梳理一群初创公司背后的相关人员,或核实某位创始人的实际备案历史时,请使用此功能。
company-goat-pp-cli funding --who 'Patrick Collison' --json
会不断积累的本地状态
-
search— 按自由文本搜索 YC 目录,并可使用 --batch 和 --industry 筛选。自由文本会匹配公司名称、一句话简介、行业和地点。当 Agent 的任务是“查找简介中含有‘agent’的 YC 金融科技公司”时,只需一次查询,无需滚动浏览 YC 目录。
company-goat-pp-cli search 'agent' --industry fintech -
compare— 将两个快照按列对齐,便于直接比较。此 CLI 中免费提供,在其他地方则是付费功能。评估两家竞争中的初创公司时,只需一次比较,无需在不同标签页之间来回切换。
company-goat-pp-cli compare stripe.com adyen.com --json
命令参考
filings — SEC EDGAR Form D 备案 — 美国私人融资披露的主要数据源
company-goat-pp-cli filings— 获取指定 CIK(中央索引键)的所有 SEC 提交记录。用于解析公司时的种子调用,...
手写命令
company-goat-pp-cli resolve <name-or-domain>— 将公司名称解析为规范域名。如果存在歧义,则返回带编号的候选项;使用 --pick N 或 --domain 可...company-goat-pp-cli funding <co>— SEC EDGAR Form D 备案 + YC 批次查询。显示发行金额、备案日期、所申报的豁免、相关实体...company-goat-pp-cli engineering <co>— GitHub 组织元数据:仓库数量、贡献者数量、提交频率、主要语言。company-goat-pp-cli launches <co>— 显示关于该公司的 Show HN 帖子,按积分排序。包含发布年份,便于判断发布是否已过时或仍然活跃。company-goat-pp-cli mentions <co>— Hacker News 提及时间线:通过 Algolia 全文搜索,按月统计随时间变化的提及次数。company-goat-pp-cli legal <co>— 法律实体查询。英国通过 Companies House(可选 COMPANIES_HOUSE_API_KEY);美国通过 SEC EDGAR Form D 发行方...company-goat-pp-cli yc <co>— 如果该公司获得过 YC 支持,则显示其 Y Combinator 目录条目:批次、状态、地点、描述。company-goat-pp-cli wiki <co>— Wikidata 公司信息:成立日期、创始人、总部、行业、关键人物。早期初创公司的信息较少。company-goat-pp-cli domain <co>— 通过 RDAP/WHOIS 查询域名年龄、DNS 记录,以及基于 CNAME 的托管服务提示(Vercel/Netlify/Heroku/Cloudflare Pages/AWS/GCP)。company-goat-pp-cli snapshot <co>— 并行查询全部 7 个数据源,并生成统一摘要。核心命令。使用 cliutil.FanoutRun...company-goat-pp-cli compare <a> <b>— 并排比较两个快照,并按章节对齐。用于评估两家初创公司中哪家看起来更健康。company-goat-pp-cli search <query>— 通过自由文本搜索 YC 目录,并支持--batch和--industry筛选。跨数据源的 FTS5 搜索已列入 v1 路线图;目前仅支持 YC。company-goat-pp-cli signal <co>— 跨数据源一致性检查。标记可疑模式,例如“2024 年融资,但自 2022 年以来没有 GitHub 提交”....company-goat-pp-cli funding-trend <co>— 按时间显示 Form D 备案记录。适用于绘制初创公司的融资频率图表。company-goat-pp-cli sync— 将可同步的资源(YC 目录及其他已配置资源)拉取到本地 SQLite。使用--resources选择子集。后续读取时使用--data-source local即可离线查询。
查找合适的命令
知道要做什么,但不确定该用哪个命令时,可以直接询问 CLI:
company-goat-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此 CLI 精选的功能索引中找到最匹配的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有可信的匹配项——请改用 --help 或缩小查询范围。
使用示例
快速对美国初创公司开展尽职调查
company-goat-pp-cli snapshot --domain anthropic.com --json
并行查询全部 7 个数据源,并生成统一摘要。使用 --domain 可跳过名称解析,直接查询规范实体。每个数据源都会返回 {status, data, note, elapsed},因此可以看到部分失败情况。
查找某位创始人的所有 SEC 备案
company-goat-pp-cli funding --who 'Patrick Collison' --json
返回所有列有此人的 Form D 备案记录——适用于追踪连续创业者和重复投资者。
比较两家竞争初创公司
company-goat-pp-cli compare ramp.com brex.com
并排对齐快照,便于 Agent 读取。可用于权衡分析。
构建研究数据库
company-goat-pp-cli sync && company-goat-pp-cli search 'fintech'
将 YC 目录及其他可同步资源拉取到本地 SQLite,然后对同步后的索引进行全文搜索。后续读取时可使用 --data-source local 离线查询。
发现可疑模式
company-goat-pp-cli signal --domain acme-corp.com --json
跨数据源一致性检查——标记“2024 年融资 $X,但 GitHub 自 2022 年以来没有动静”之类的情况,这些情况无法通过单一数据源发现。
身份验证设置
无需必需的密钥。以下三个可选环境变量可扩大覆盖范围并提高速率限制:
[email protected]— 会发送到 SEC EDGAR User-Agent 标头,以遵守 EDGAR 的公平访问政策。对于任何非简单的funding/funding-trend/snapshot用法,建议设置此项。GITHUB_TOKEN— 将 GitHub API 速率限制从每小时 60 次提高到每小时 5000 次。可使用gh auth token。供engineering、snapshot使用。COMPANIES_HOUSE_API_KEY—legal --region uk必需。可在 developer.companieshouse.gov.uk 免费注册并创建 REST 应用。
SEC EDGAR 请求会自动控制发送间隔并重试。CLI 会遵循 Retry-After,在收到 429/5xx 响应时进行退避;如果 SEC 在重试后仍持续限流,则以代码 7 退出。
运行 company-goat-pp-cli doctor,检查这些变量中哪些已被检测到。
Agent 模式
在任何命令中添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select会保留部分字段。点分路径可深入嵌套结构;数组会逐元素遍历。对于输出冗长的 API,这对控制上下文大小至关重要:company-goat-pp-cli filings --agent --select id,name,status -
可预览 —
--dry-run会显示请求,但不会发送 -
适合离线使用 — 有本地 SQLite 存储时,sync/search 命令可以使用该存储
-
非交互式 — 不会提示输入;所有输入都通过标志提供
-
只读 — 不要使用此 CLI 执行创建、更新、删除、发布、评论、点赞、邀请、订购、发送或其他会修改数据的请求
响应封装
从本地存储或 API 读取数据的命令,会将输出封装在来源信息中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并查看 .meta.source 以确定数据来自实时来源还是本地来源。只有当 stdout 连接到终端时,才会将便于人类阅读的 N results (live) 摘要输出到 stderr;通过管道接收输出的程序或 Agent 会在 stdout 上获得纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有异常之处时,请记录下来:
company-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
company-goat-pp-cli feedback --stdin < notes.txt
company-goat-pp-cli feedback list --json --limit 10
条目会存储在本地的 ~/.company-goat-pp-cli/feedback.jsonl 中。除非设置了 COMPANY_FEEDBACK_ENDPOINT,且传入了 --send 或 COMPANY_FEEDBACK_AUTO_SEND=true,否则不会发送 POST 请求。默认情况下,反馈仅保存在本地。
记录让你感到意外的地方,而不是提交错误报告。写得简短、具体,并限制为一行:这部分内容会不断累积价值。
输出传递
每个命令都接受 --deliver <sink>。输出会发送到指定的目标,同时输出到 stdout,或替代 stdout 输出,因此 Agent 无需手动通过管道传递命令结果。支持以下三个目标:
| 目标 | 效果 |
|---|---|
stdout | 默认;仅写入 stdout |
file:<path> | 将输出原子性地写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到该 URL(使用 --compact 时,内容类型为 application/json 或 application/x-ndjson) |
遇到未知方案时,会拒绝请求并返回结构化错误,列出支持的方案。Webhook 请求失败时会返回非零状态码,并将 URL 和 HTTP 状态码记录到 stderr。
命名配置文件
配置文件是一组已保存的标志值,可在多次调用中重复使用。若定时运行的 Agent 每次都以相同配置调用同一命令,就可以使用它——这是 HeyGen 的“Beacon”模式。
company-goat-pp-cli profile save briefing --json
company-goat-pp-cli --profile briefing filings
company-goat-pp-cli profile list --json
company-goat-pp-cli profile show briefing
company-goat-pp-cli profile delete briefing --yes
显式标志的优先级始终高于配置文件值;配置文件值的优先级高于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,以便 Agent 在运行时发现它们。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 5 | API 错误(上游问题) |
| 7 | 达到速率限制(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示company-goat-pp-cli --help的输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的前提条件 - 其他任何内容 → 直接使用(将其作为 CLI 命令执行,并添加
--agent)
MCP 服务安装
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/developer-tools/company-goat/cmd/company-goat-pp-mcp@latest - 注册到 Claude Code:
claude mcp add company-goat-pp-mcp -- company-goat-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which company-goat-pp-cli如果未找到,请提供安装选项(请参阅本技能顶部的先决条件)。 - 根据用户查询,从上方的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:company-goat-pp-cli <command> [subcommand] [args] --agent - 如果不明确,请查看子命令帮助:
company-goat-pp-cli <command> --help。