投资数据查询 Skill · 使用引导

把「查询网站信息」变成「查询数据源」。Table01 是纯静态投资论点追踪器,所有内容都来自结构化 JSON(data/companies/*.json)与报告原文(data/reports/*.md)——网页只是它们的渲染。 所以让 AI agent 查询时,直接读数据、不解析 HTML、不跑 build、不联网,毫秒级返回。

这份引导帮你在 Claude Code / OpenAI / OpenCode / Hermes 四种 agent 上快速用起来。

想让 agent 自己装? 部署后把这个链接丢给它即可:<你的域名>/skill/install.md。 agent fetch 这一个链接,就能照着把 skill 完整装好并自检——无需你手动操作。

能做什么

你问agent 做
「NVDA 现在什么评级、目标价?」show nvda 一行返回评级 / 目标价 / KPI / 论点
「哪些 BUY 公司有红灯 KPI?」list --rating BUY --kpi red
「台积电 KPI 灯色?」kpi tsm 输出每个指标最新红黄绿灯
「英伟达哪些预测被证伪/需修正?」predictions nvda --status needs_revision
「英伟达概率加权目标价?」pwt nvda
「跟稳定币相关的标的?」search 稳定币

所有派生量(财务指标、验证记分卡、概率加权目标价、上行空间)都直接复用项目的 src/lib/compute.ts,与网页、与更新 SOP 完全一致,绝不另写一份算法。

前置条件

只需 Node ≥ 22(用内置 TypeScript type-stripping 运行,无需安装任何依赖)。验证:

node -v   # 应 ≥ v22

快速开始

脚本会自动向上定位项目根目录,所以在任何目录下都能跑:

node --experimental-strip-types .claude/skills/invest-query/scripts/query.ts list
node --experimental-strip-types .claude/skills/invest-query/scripts/query.ts show nvda
node --experimental-strip-types .claude/skills/invest-query/scripts/query.ts show nvda --json

嫌长?设个别名(把 <repo> 换成你的项目绝对路径):

alias iq='node --experimental-strip-types <repo>/.claude/skills/invest-query/scripts/query.ts'
iq list --rating BUY --kpi red

在各平台上使用

关键认知:只有 Claude Code 原生读 SKILL.md。其它 agent 不认 skill 文件,但它们都能 执行 shell 命令 —— 而 query.ts 本身就是一个带 --json 的普通 Node CLI。所以可移植的 核心资产是这个脚本;SKILL.md 只是 Claude Code 的原生包装层。

1 · Claude Code(原生 skill,零配置)

skill 已放在 .claude/skills/invest-query/,Claude Code 会自动发现。直接用自然语言问即可:

NVDA 现在什么评级和目标价?
列出所有 BUY 且有红灯 KPI 的公司
英伟达有哪些预测需要修正?

Claude 会自动调用 invest-query、跑脚本、把结果讲给你听。无需手动敲命令。

2 · OpenAI(Codex CLI / ChatGPT)

Codex CLI(OpenAI 的终端编码 agent)能读 AGENTS.md 并执行命令。在仓库根的 AGENTS.md 里加一段,告诉它有这个查询能力:

## 查询投资数据
回答任何关于公司评级 / 目标价 / KPI 灯色 / 预测验证 / 情景目标价的问题时,
运行(用 `--json` 取结构化结果再总结):
  node --experimental-strip-types .claude/skills/invest-query/scripts/query.ts <command> [args] --json
命令:list / show / kpi / predictions / pwt / search。详见 .claude/skills/invest-query/SKILL.md。

之后直接问「NVDA 评级?」,Codex 会自己跑命令。

网页版 ChatGPT(无文件系统):在本地跑 ... show nvda --json,把输出粘进对话让它分析; 或建一个 Custom GPT,把 --json 的输出结构作为它的知识。

3 · OpenCode

OpenCode(开源编码 agent)同样读 AGENTS.md 并能跑 bash——配置方式与上面的 Codex CLI 完全相同。 也可把它登记成一个自定义命令(custom command),命令体就是那行 node --experimental-strip-types ...

4 · Hermes(函数调用 / 工具)

Hermes 系模型擅长 function-calling。把 query.ts --json 暴露成一个工具,给模型这样的函数定义:

{
  "name": "invest_query",
  "description": "查询 Table01 的结构化投资数据(评级/目标价/KPI/预测验证/情景目标价)",
  "parameters": {
    "type": "object",
    "properties": {
      "command": { "type": "string", "enum": ["list", "show", "kpi", "predictions", "pwt", "search"] },
      "arg":     { "type": "string", "description": "公司 slug/ticker 或搜索关键词" },
      "flags":   { "type": "string", "description": "如 --rating BUY --kpi red" }
    },
    "required": ["command"]
  }
}

宿主在收到工具调用时执行(始终带 --json),把 stdout 回灌给模型:

node --experimental-strip-types .claude/skills/invest-query/scripts/query.ts \
  "$command" $arg $flags --json

命令速查

命令作用示例
list筛选公司列表list --rating BUY --kpi red
show <slug|ticker>单家全景show nvda · show $TSM
kpi <slug|ticker>KPI 红黄绿灯仪表盘kpi tsm
predictions <slug|ticker>验证追踪(预测→实际→状态)predictions nvda --status falsified
pwt <slug|ticker>概率加权目标价pwt nvda --horizon 12m
search <关键词>跨名称/ticker/板块/标签/论点搜索search 稳定币

list 筛选:--rating BUY|HOLD|SELL--status active|watching|archived--kpi green|yellow|red--sector <文本>--tag <文本>。 公司可用 slug(nvda)或 ticker(NVDA$TSM,不区分大小写)定位。 预测状态:pending · verified_strong · verified_full · beat · needs_revision · falsified。 任意命令加 --json 输出结构化结果,供 agent 链式处理。

联网模式(按需补新鲜信息)

本地查不到的最新信息(实时行情、刚发的财报/公告/新闻)才联网:

  1. 单页轻量抓取 → WebFetch;需登录态或交互 → kimi-webbridge(驱动真实浏览器)。
  2. 抓回的原始信息不要直接进页面。按 CLAUDE.md 的「更新 SOP」清洗成结构化数据: 写报告 markdown → 追加 reports[] → 映射 timeline/metrics/predictions/scenarios → 更新顶层 thesis/price/price_targets → 过 src/schema/company.ts 的 zod 校验后保存。

准则:先本地、后联网;能从 data/companies 答的绝不联网。

常见问题

  • 报错 Unknown file extension ".ts" → Node 版本低于 22,升级即可。
  • 找不到数据目录 → 脚本不在本仓库内,或 data/companies/ 被移动。
  • 加了新公司查不到? → 把 JSON 放进 data/companies/、过 zod 校验即可,脚本会自动读取,无需 build。