Hacker News 数据 Skill
通过 UnifAPI MCP 读取 Hacker News 动态:用于发布反响研究的 hacker-news/... 操作与响应结构。绝不发帖。
Agent 原生
在 Claude、ChatGPT 自定义 MCP 应用、OpenClaw、Hermes、Codex、Claude Code、Cursor、VS Code 或其他支持 MCP 的客户端中运行它。无需专门的 GUI 流程,也无需单独的 LLM API 密钥。
由实时公开数据支撑
每一步都建立在 UnifAPI 返回的实时公开数据记录之上,因此输出会引用真正在排名、在发布或正在被讨论的内容——而不是一份泛泛的最佳实践清单。
可组合且开源
Skills 相互交叉引用,并存放在一个公开的、MIT 风格的仓库中。在 GitHub 上阅读完整的 SKILL.md、fork 它,或原样在你的 Agent 中运行它。
把它粘贴进 Codex 或 Claude Code
这段提示词有意可自由编辑。替换其中的用户名、市场、预算与活动目标,然后让 Agent 在需要实时公开数据时调用 UnifAPI MCP。
Using the Hacker News Data Skill, check how our launch is landing: scan the top, show, and ask feeds for matching stories, then read the comment tree (kids) on any matching item for points, volume, and candid critique. Return a cited brief. Read-only.
由 SKILL.md 渲染出的完整 skill
通过 UnifAPI 读取公开 Hacker News 数据的确定性读取路径。这是一个
Data Skill:它本身不运行营销任务——它点明具体的 hacker-news/... 操作、响应
形态和坑点,让任何面向开发/基础设施/创业品类的发布反响或聆听工作流,都从一份
已知的配方读取,而不必每次都重新摸索这个面。
只读——眼睛,而非双手。它调研公开的 HN 数据并返回带引证的记录;它绝不发帖 或评论,且 UnifAPI 绝不持有 HN 凭据。
用 unifapi skill 获取实时证据
通过共享的 unifapi skill 连接一次(OAuth MCP),然后调用下面的操作。帖子
信息流接受一个 {feed},取值为 top、new、best、ask、show 或
jobs。保留任何 billing 元数据,以便输出能陈述记录成本。
响应契约
单实体端点在 data 中返回对象:
{
"request_id": "unif_...",
"data": {},
"billing": { "records_charged": 1, "balance_remaining": 99 }
}
列表端点在 data 中返回数组,外加 pagination:
{
"request_id": "unif_...",
"data": [],
"pagination": { "has_more": false, "next_cursor": null },
"billing": { "records_charged": 1 }
}
当 pagination.has_more 为真时,把 pagination.next_cursor 作为下一次请求的
cursor 传入(limit 设置页大小)。始终保留 billing。
核心操作
| 需求 | 操作 |
|---|---|
| 帖子信息流(已填充) | hacker-news/stories/{feed}/items |
| 帖子信息流(仅 id) | hacker-news/stories/{feed} |
| 条目(帖子 / 评论) | hacker-news/items/{id} |
| 用户档案 + karma | hacker-news/users/{id} |
| 最近变更 | hacker-news/updates |
| 最高条目 id(扫描上界) | hacker-news/max-item |
{feed} ∈ top · new · best · ask · show · jobs。
需要这里未列出的字段?在调用前用 unifapi skill 的 get_operation 读取确切的
schema——但要从这张表里挑操作,别盲目摸索。
工作流
确定性的配方。挑选与任务匹配的那一个;每个都点明了究竟该调用什么。
- **框定监测范围。**挑选信息流:
show和ask用于发布和提问,top和best用于看什么正在登顶,new用于最新鲜的。 - **扫描一个信息流。**调用
hacker-news/stories/{feed}/items(一次调用返回已填充 的条目——比先取 id 再抓取更省),并按title或url把帖子匹配到你的产品或 品类。通过next_cursor翻页。 - **读取帖子讨论。**在一个匹配的条目上,读取
score(分数)和descendants(评论数),然后用hacker-news/items/{id}遍历kids的 id,阅读评论树里坦率 的批评。 - **给评论者加权。**调用
hacker-news/users/{id}取karma和submitted,判断 一个评论者的看法有多大分量。 - **关注变化。**调用
hacker-news/updates看最近变更的条目和档案,或hacker-news/max-item来为一次全新扫描定界。 - **凡事引证。**每个数字都回溯到它来自的 HN 条目;报告
billing.records_charged(在没有 billing 元数据时给出估算)。
形态说明
HackerNewsItem——type(story·comment·job·poll·pollopt)、by、time、title、url、text、score(分数)、descendants(评论数)、kids(子评论的 id,而非对象)、parent。HackerNewsUser——id、created、karma、about、submitted(条目 id)。HackerNewsUpdates—— 最近变更的items和profiles。
坑点
- **没有关键词搜索。**发现是信息流驱动的——扫描
top/new/best/ask/show/jobs并按title/url匹配。在简报里说明这一点。 kids是子评论的 id,而非内嵌对象——用hacker-news/items/{id}递归以阅读 评论树。descendants是评论数,score是分数——别混淆它们。- 当你想要已填充的帖子而非一列 id 时,优先用
hacker-news/stories/{feed}/items而非hacker-news/stories/{feed}。 - 余额过低会悄无声息地截断列表页:检查
billing.truncated_due_to_balance——为真 时该页是不完整的。
输出
返回调用方工作流所需的记录,每条都引证到其 HN 条目,外加一行成本说明
(records_charged)。当本技能被直接使用时,默认是一份紧凑的反响简报:
**{Story title}** ({feed}) — {score} points, {descendants} comments. Landed: {yes/no}. Candid takes: "{quote}" (by {user}, {karma} karma). Evidence: {item URLs}. Records: ~{N}.
相关 skills
- competitor-launch-monitor(Competitive Intelligence)、social-listening-brief(Social Listening)—— 在本读取路径之上的发布反响与聆听工作。
- unifapi —— 共享的数据技能:连接 MCP 并用
get_operation查找确切的 schema。
源码:GitHub 上的 hacker-news/SKILL.md——可在那里提交 PR 来改进它。
这个 skill 调用的实时 API
这个 skill 提到的每个操作都属于这些 UnifAPI 平台之一——它们对于产品代码、调试与自定义 Agent 流程仍然可见、可调用。
- 针对每个常见信息流/帖子读取任务的具体 `hacker-news/...` 操作
- 面向条目、信息流与用户的响应契约与结构说明
- 确定性配方:扫描信息流、匹配某次发布、读取评论树
- 平台注意事项(kids 即评论 id、descendants/score 字段、无搜索)