Install any skill in seconds. Free to start, no credit card required.
Get Started Free →A股投资论点建立与追踪/投资逻辑梳理。当用户说"投资论点"、"thesis"、"为什么看好XX"、"为什么看空XX"、"投资逻辑"、"帮我梳理XX的逻辑"、"跟踪一下XX"、"催化剂"、"XX还能不能拿"、"投资论点追踪"、"thesis tracker"时触发。MUST USE when user asks to build/track an investment thesis, articulate bull/bear case, or review catalysts and risk points for a stock position. 帮助建立结构化投资论点(核心论点+支撑论据+风险+催化剂),并追踪论点状态变化。通过 cn-stock-data 获取最新数据验证论点,结合 web 搜索获取事件催化剂。支持机构投研风格(formal)和个人持仓笔记风格(brief)。
.claude/skills/aifinlab-a-share-thesis/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -10% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 18% | 0% |
bashSCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts" # 最新行情(验证价格/估值变化) python "$SCRIPTS/cn_stock_data.py" quote --code [CODE] # 财务指标(验证基本面论据) python "$SCRIPTS/cn_stock_data.py" finance --code [CODE] # K 线(论点建立以来的股价走势) python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [论点建立日期] # 资金流向(市场认可度) python "$SCRIPTS/cn_stock_data.py" fund_flow --code [CODE] --days 30
补充:通过 web 搜索获取最新公告、行业新闻、分析师观点等催化剂信息。
新建论点时,收集以下信息:
加载已有论点:用户提供之前的论点文档或口述核心逻辑。
通过 cn-stock-data 获取最新数据,逐条验证论据:
构建记分卡表格:
| 论据 | 原始预期 | 当前状态 | 趋势(↑/→/↓) | 信号强度 | |------|---------|---------|-------------|---------|
综合评估:论点强化 / 维持 / 弱化 / 已失效
| 预计日期 | 事件 | 类型 | 预期影响 | 状态 | |---------|------|------|---------|------| | 2026-04-xx | Q1 业绩预告 | 财报 | 验证增长论据 | 待兑现 | | 2026-xx-xx | 行业政策发布 | 政策 | 正面催化 | 待兑现 |
催化剂类型:财报/政策/行业事件/公司公告/宏观经济/技术突破
| 维度 | formal(机构投研) | brief(个人持仓笔记) | |------|-------------------|---------------------| | 篇幅 | 2-4 页 | 半页-1 页 | | 论点结构 | 完整(论据+风险+催化剂各 3-5 条) | 精简(各 2-3 条) | | 记分卡 | 完整表格 + 趋势分析 | 简化版(仅标注状态) | | 催化剂 | 完整日历 + 概率评估 | 关键 2-3 个事件 | | 数据引用 | 每条附具体数字和来源 | 关键数字即可 | | 结论 | 客观(论点强化/弱化) | 可加主观判断(继续持有/减仓/加仓) | | 免责声明 | 需要 | 不需要 |
python# 调用 skill result = run_skill({ "param1": "value1", "param2": "value2" })
bashpython scripts/run_skill.py --input data.json
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-18 | pass→pass | 18,095 | 10,505 | -42% | 1 | 1 | 0% | 2,526 | 2,797 | +11% | 0 | 0 | — |
case-19 | pass→pass | 16,428 | 13,876 | -16% | 1 | 1 | 0% | 2,543 | 3,321 | +31% | 0 | 0 | — |
case-20 | fail→pass | 13,916 | 8,214 | -41% | 1 | 1 | 0% | 2,150 | 2,506 | +17% | 0 | 0 | — |
case-01 | fail→fail | 11,672 | 17,480 | +50% | 1 | 1 | 0% | 519 | 1,627 | +213% | 0 | 0 | — |
case-02 | fail→fail | 27,438 | 13,651 | -50% | 1 | 1 | 0% | 4,345 | 1,648 | -62% | 0 | 0 | — |
case-03 | fail→fail | 16,496 | 10,050 | -39% | 1 | 1 | 0% | 2,778 | 1,719 | -38% | 0 | 0 | — |
case-04 | pass→fail | 20,530 | 37,179 | +81% | 1 | 1 | 0% | 3,856 | 7,159 | +86% | 0 | 0 | — |
case-05 | pass→fail | 43,617 | 17,244 | -60% | 1 | 1 | 0% | 6,960 | 1,904 | -73% | 0 | 0 | — |
case-06 | pass→fail | 38,226 | 8,414 | -78% | 1 | 1 | 0% | 8,230 | 1,585 | -81% | 0 | 0 | — |
case-07 | pass→pass | 9,245 | 2,752 | -70% | 1 | 1 | 0% | 1,438 | 1,636 | +14% | 0 | 0 | — |
case-08 | fail→pass | 9,009 | 4,230 | -53% | 1 | 1 | 0% | 1,279 | 1,679 | +31% | 0 | 0 | — |
case-09 | fail→pass | 12,594 | 3,291 | -74% | 1 | 1 | 0% | 2,045 | 1,836 | -10% | 0 | 0 | — |
case-10 | fail→pass | 8,781 | 3,504 | -60% | 1 | 1 | 0% | 1,544 | 1,890 | +22% | 0 | 0 | — |
case-11 | pass→fail | 15,510 | 8,238 | -47% | 1 | 1 | 0% | 2,255 | 1,638 | -27% | 0 | 0 | — |
case-12 | pass→pass | 20,564 | 12,482 | -39% | 1 | 1 | 0% | 2,795 | 3,288 | +18% | 0 | 0 | — |
case-13 | fail→fail | 20,402 | 20,301 | -0% | 1 | 1 | 0% | 3,085 | 3,602 | +17% | 0 | 0 | — |
case-14 | fail→pass | 14,418 | 9,805 | -32% | 1 | 1 | 0% | 2,247 | 2,662 | +18% | 0 | 0 | — |
case-15 | fail→fail | 19,233 | 10,071 | -48% | 1 | 1 | 0% | 3,347 | 1,844 | -45% | 0 | 0 | — |
case-16 | fail→pass | 18,493 | 5,386 | -71% | 1 | 1 | 0% | 2,878 | 2,030 | -29% | 0 | 0 | — |
case-17 | pass→pass | 14,014 | 3,937 | -72% | 1 | 1 | 0% | 2,267 | 1,801 | -21% | 0 | 0 | — |
case-21 | fail→pass | 23,127 | 6,433 | -72% | 1 | 1 | 0% | 3,061 | 2,219 | -28% | 0 | 0 | — |
case-22 | pass→pass | 20,471 | 14,749 | -28% | 1 | 1 | 0% | 2,460 | 3,386 | +38% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 13 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +14 percentage points is the difference between those two pass rates over the 13 comparable cases. 5 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.