Vibe Research is a local financial research workspace in which an AI agent gathers market data, performs multi-step analysis, and preserves reports, evidence, calculations, and research history. It is for investment research across Chinese, US, and Hong Kong stocks, including market reviews, company studies, portfolios, debates, and backtesting. The catalogue contains skills and an instruction for working with this research agent.
Borrowing it
Nothing to install: this file belongs to simonlin1212/Vibe-Research. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/simonlin1212/Vibe-Research/main/.agents/skills/earnings-analysis/SKILL.mdgit clone --depth 1 https://github.com/simonlin1212/Vibe-ResearchWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/simonlin1212/vibe-research/earnings-analysis)<a href="https://agentmods.dev/skills/simonlin1212/vibe-research/earnings-analysis"><img src="https://agentmods.dev/badge/skills/simonlin1212/vibe-research/earnings-analysis/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/simonlin1212/vibe-research/earnings-analysis"><img src="https://agentmods.dev/badge/skills/simonlin1212/vibe-research/earnings-analysis.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00216 | $0.02186 |
| Opus 5 | $0.00108 | $0.01093 |
| Sonnet 5 | $0.00043 | $0.00437 |
| Haiku 4.5 | $0.00022 | $0.00219 |
Grade A, and why
earnings-analysis scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
财报拆解(earnings-analysis)
对应 company-research SOP 第 2 阶段(financials)的口径说明书,也用于任何"业绩怎么样"的追问。原则:累计值是原料,单季是基本单位,TTM 看规模,最新期看转向;每一步拆分 / 求和 / 比率都是一次 calc 调用。
0. 四条铁律
- A 股财报披露的是报告期累计值(Q1 / H1 / Q1–Q3 / 全年);任何"单季""环比"都必须经
quarterize拆出来,不在脑子里减。 - 扣非 vs 归母:估值分子用扣非(一次性损益不能 ×4),增速主判用归母(与一致预期 EPS 同口径),两者并列报、差异大时必须解释(投资收益 / 补助 / 减值 / 公允价值变动)。
- 分子分母同期、同口径:同比对同季、TTM 对 TTM,不拿累计值比单季。
- 比率(毛利率 / 净利率 / 费用率 / 负债率 / 占比)一律
ratio(numerator, denominator, label, unit_in),两数同单位由你保证,calc 不换算单位。
1. 口径地图
| 口径 | 定义 | calc 函数 | 用途 | 禁用 |
|---|---|---|---|---|
| 累计值(YTD) | 报告期披露原值 | —(证据) | 原料 | 不直接比较不同长度的报告期 |
| 单季 | Q1 = YTD(Q1);Qn = YTD(n) − YTD(n−1) | quarterize(cumulative, unit, money=true) |
基本单位 | 上一期缺失 → 该季无值,不拿平均代替 |
| 最新单季 | 最新非空单季 | latest_quarter(single_quarters, unit, money=true) |
估值分子(扣非)、转向判断 | — |
| TTM | 近 4 季之和 | ttm_sum(single_quarters, end_period, unit, money=true) |
规模、TTM PE | 任一季缺失即 not_meaningful(不拿 3 季凑) |
| TTM 同比 | TTM(end) ÷ TTM(end − 4 季) − 1 | ttm_yoy(...) |
可持续增速事实、交叉验证前瞻 CAGR | 需 8 季连续 |
| 环比 | Q(end) ÷ Q(end − 1) − 1 | qoq(...) |
拐点 / 动量信号 | 禁止当增速、禁止年化、禁止做 PEG 分母 |
| 单季同比 | Q(end) ÷ Q(end − 4) − 1 | growth_rate(current, base, label) |
看"这一季相对去年"的方向 | 禁止做 PEG 分母(低基数假性吹大) |
| 比率 | 两个同期同单位科目之比 | ratio(numerator, denominator, label, unit_in) |
毛利率 / 净利率 / 费用率 / 负债率 / 经营现金流 ÷ 净利润 | 分母 ≤ 0 → not_meaningful,如实写 |
EPS 序列(元/股)用 money=false;金额类 money=true 由 calc 归一单位。
2. 拆解流程(与 SOP financials 阶段一致)
fetch_financials(★ 必需)→ 营收 / 归母 / 扣非 / EPS 的累计值序列(近 8–12 报告期)。quarterize各跑一次:revenue_cum、net_profit_parent_cum、net_profit_deducted_cum(unit=元, money=true)。latest_quarter(扣非)→ 估值分子;ttm_sum(归母与扣非各一次)→ 中间量;ttm_yoy(主用归母,扣非并列)→ 增速事实;qoq(最新单季扣非)→ 拐点信号。- 三表交叉(○ 可选端点):
sina_income_statement/sina_balance_sheet/sina_cashflow(A 股)、em_global_income/em_global_balance/em_global_cashflow或yahoo_financials(US / HK)。只作核对与补充科目(毛利、费用、经营现金流、应收、存货、有息负债),科目原值按源原样记录,不换算。 - 比率:毛利率 =
ratio(毛利, 营收);净利率 =ratio(净利润, 营收);费用率 =ratio(某费用, 营收);经营现金流 / 净利润 =ratio(经营现金流净额, 净利润);资产负债率 =ratio(总负债, 总资产)——每个比率一次调用,分子分母同期同单位,记 calc id。 - 每次 calc 调用都传
--run-dir(CLI 会把该次计算记录写入运行目录的calcs/,编排器收尾时合并为契约产物calculations.json;不要手工写任何文件),阶段 JSON 引用 calculation_id;缺口走 SOP §2 的结构化 gaps。
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 73 lines · 216 tokens per session scan A c4a0db40c1e0
earnings-analysis is a skill published in the GitHub repository simonlin1212/Vibe-Research (2,435 stars, last pushed 3d ago), licensed MIT. It adds 216 tokens to every session and 2,186 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
daily-deep-brief
A scheduled, pre-market investment briefing for Hong Kong and United States stocks. A deterministic preparation step gathers data and an agent adds judgment, while a later step validates and publishes the result.
hk-stock-analysis
A workspace-aware analysis workflow for Hong Kong-listed stocks. It retrieves prices, technical indicators, market comparisons, and news through a local data pipeline, then adds Hong Kong-specific investment context.
us-stock-analysis
Workspace-aware US stock analysis for kcn. Routes through clawock analyze-us / clawock us-quotes instead of generic web search, then layers fundamental/technical/news analysis on top. Use when user asks to analyze a US ticker (e.g. "analyze AAPL", "look at RKLB", "compare TSLA vs NVDA"), check earnings, run…
portfolio-swarm-review
Multi-agent swarm review of kcn's current holdings. Inspired by TauricResearch/TradingAgents framework already in workspace — three-tier analysis (analysts → bull/bear debate → risk debate + judge) with confidence scoring. Use for post-close reviews, holiday/next-session planning, pre-add sizing decisions, and any…
investment-decision
Run a clawock investment decision — read the prepared request, research with the host's own tools, write decision.json with evidence and an explicit bull/bear debate, and let Python validate and settle. Use when the user asks for an investment decision or a clawock run request is present.
investment-decision
Read the clawock request file, write decision.json, let clawock validate. Use when a clawock run request is present in .clawock/work/.