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/catalyst-risk/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/catalyst-risk)<a href="https://agentmods.dev/skills/simonlin1212/vibe-research/catalyst-risk"><img src="https://agentmods.dev/badge/skills/simonlin1212/vibe-research/catalyst-risk/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/catalyst-risk"><img src="https://agentmods.dev/badge/skills/simonlin1212/vibe-research/catalyst-risk.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.00206 | $0.04837 |
| Opus 5 | $0.00103 | $0.02419 |
| Sonnet 5 | $0.00041 | $0.00967 |
| Haiku 4.5 | $0.00021 | $0.00484 |
Grade A, and why
catalyst-risk 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 9d 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 — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.
催化剂与风险(catalyst-risk)
对应 company-research SOP 第 5 阶段(risk)与 AGENTS.md §1 第 5 问("强结论先找反证")。本 skill 把"风险"从一段泛泛的文字变成可核对的清单:每条风险对应一个能观察到的数据,每个催化剂对应一个时点。
0. 三条纪律
- 强结论(充足 / 不是问题 / 无限 / 确定)必须先找一条反证,找不到才成立;找到了就把结论降级为情景。
- 每条催化剂 / 风险都要写"看什么数据、在哪个端点、下一次公开是什么时候";写不出来的不算催化剂,只算叙事。
- 不给投资动作建议;"风险高"不等于"卖","催化剂多"不等于"买"。产出只到情景概率与裁决点。
1. 催化剂分类(必须标注类型与验证时点)
| 类型 | 含义 | 验证数据 | 端点示例 |
|---|---|---|---|
| 兑现型 | 已有订单 / 产能 / 客户认证在落地,业绩能验证 | 财报单季扣非与营收、产能投放公告、大客户公告 | fetch_financials、sina_income_statement、fetch_announcements、cninfo_announcements |
| 预期型 | 市场尚未形成一致预期的变化(方向真 + 供需失衡) | 一致预期修正方向、研报覆盖数变化、行业月度数据 | fetch_estimates、em_reports、行业数据 |
| 周期型 | 行业周期位置变化(价格、库存、下游资本开支) | 价格 / 库存 / 下游 capex 指引、同行财报 | 行业端点、海外同行(yahoo_financials / sec_filings) |
| 资金 / 情绪型 | 资金流、融资余额、热度 | 只作温度计,不作结论依据 | em_margin_trading、sina_fund_flow、em_hot_rank |
催化剂写法:[类型] 事件 → 观察数据(端点)→ 下一次公开时点 → 若兑现 / 若落空 对判断的影响。
2. 风险分类与对应反证
| 风险 | 触发条件 | 反证要看的数据 |
|---|---|---|
| 技术路线断层 | 下游切换方案绕开本环节 | 下游新品规格、同行路线公告、行业研报 |
| 客户集中 | 前五大客户占比高、单一客户自研 | 年报客户集中度、客户资本开支与自研动向 |
| 产能过剩 / 价格战 | 同行扩产集中投放、产品价格下行 | 同行产能公告、价格数据、毛利变化(经 calc ratio 计算) |
| 周期顶 | 利润在峰值而 PE 最低("便宜 PEG") | 前瞻 vs TTM 判读(valuation §2)、环比拐点、行业月度数据 |
| 预期透支 | 前瞻 CAGR 远高于 TTM 同比;分歧 ≥ 2 倍 | forward_vs_ttm_judgement = forward_above;consensus_dispersion |
| 一致预期下修 | 机构数减少、均值下调 | 两次运行的 fetch_estimates 对比(alerts 工具) |
| 治理 / 合规 | 减持、质押、问询函、审计意见 | 公告端点、em_lockup_expiry、em_block_trade、em_holder_num |
| 流动性 / 交易结构 | 融资余额异常、龙虎榜频繁 | em_margin_trading、em_dragon_tiger(只作温度计) |
| 数据源冲突 | 同一事实多源不等 | 报告里逐条列出各源值与来源,不静默取舍 |
| 数据缺口 | 关键端点失败 / 部分 | 写入"数据缺口"并说明对结论的影响 |
每条风险写法:风险 → 当前证据(ev id)→ 反证数据(端点)→ 若出现则判断如何变。
3. 裁决点(Decision Points)的标准写法
裁决点 = 什么数据出来会改变判断,不是"关注后续进展"。至少三个,每个包含:
- 观察对象(具体指标 / 事件);
- 阈值或方向(例如"单季扣非环比转负两季"、"一致预期机构数 < 3"、"竞争对手通过同一客户认证");
- 数据来源(端点 id)与下一个公开时点(财报披露日、月度数据日、客户财报日、公告);
- 触发后判断怎么变(哪条结论降级、哪个估值情景切换——对应 valuation §5 四锚切换)。
4. 知识档案里的旧结论
编排器会召回 .local/knowledge/ 的历史档案(只作线索,标注"不可信数据"边界)。处理规则:
- 旧结论与本次实时数据冲突 → 用实时数据反证,在
knowledge_conflicts逐条裁决,在报告"风险与反证"写明;不顺从旧结论。 - 旧结论 status 为 stale / refuted → 不得引用为事实。
- 本次新结论也要写成可被下次运行反证的形式(带裁决点)。
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.
- 9d ago First seen · 142 lines · 206 tokens per session scan A faeaee0c5eab
catalyst-risk is a skill published in the GitHub repository simonlin1212/Vibe-Research (2,417 stars, last pushed 2d ago), licensed MIT. It adds 206 tokens to every session and 4,837 once invoked, about $0.0010 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/.