AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Sm Deck Builder

skill-joansongjr-investor-harness-sm-deck-builder · by joansongjr

二级市场投研 PPT 生成 skill。把已有的研究输出(sm-company-deepdive / sm-thesis / sm-red-team / sm-earnings-preview 等)转成**机构级投研路演 PPT**,带完整 UI 设计系统、10 段标准结构、证据可追溯标注。适合 IC 会议、路演、PM 汇报、客户展示。依赖 anthropic-skills:pptx 做实际文件生成。

No reviews yet
0 installs
34 views
0.0% view→install

Install

$ agentstack add skill-joansongjr-investor-harness-sm-deck-builder

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-joansongjr-investor-harness-sm-deck-builder)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Sm Deck Builder? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

SM Deck Builder

> Investor Harness 第 18 个 skill。把你散落在 markdown 里的研究输出,变成 PM / IC / 客户能看懂的专业投研 PPT。 > > 不做花哨的动画、不做 hero banner、不做 emoji 狂欢。只做一件事:让你的研究在 10 页纸里站得住

强制流程(v0.4+ 硬约束)

> ⛔ 任何 deck 生成之前,必须严格执行 [../../core/preamble.md](../../core/preamble.md) 的 6 步开始前流程 > > ⛔ 任何 deck 完成之前,必须严格执行 [../../core/postamble.md](../../core/postamble.md) 的 8 步结束后流程 > > 输出归档按 [../../core/output-archive.md](../../core/output-archive.md) 命名规范 > 输出验收按 [../../core/acceptance.md](../../core/acceptance.md) 清单逐条自检 > > 跳过任何一环视为未完成任务。

Deck Builder 特别注意:

  • preamble Step 2 必须读取 同标的最新的 sm-company-deepdive / sm-thesis / sm-red-team / sm-earnings-preview / sm-consensus-watch 的归档输出。没有这些研究底稿,禁止直接生成 deck。
  • 如果用户没跑过任何研究,先提醒他:"deck 是研究的包装,不是替代。建议先跑 sm-company-deepdive + sm-thesis 再来"。
  • 所有 PPT 内的事实必须带证据等级标注(以脚注或角标形式),和主研究保持一致。

适用场景

| 场景 | Deck 类型 | 长度 | |---|---|---| | IC 投委会 | ic-pitch | 10-15 页 | | 管理层路演 | roadshow | 5-8 页 | | 财报复盘 | earnings-review | 6-10 页 | | 月度 PM 汇报 | monthly-update | 5 页 | | 客户展示 | client-pitch | 10-20 页 | | 内部研究分享 | research-share | 10-15 页 |

不适用

  • ❌ 完全没有研究底稿的情况下生成 deck(这会变成营销物料不是研究)
  • ❌ 营销 / 销售宣传 PPT
  • ❌ 路演发行承销商角度的 IPO 招股 PPT
  • ❌ 需要实时动画 / 视频嵌入的场景(这个 skill 只出静态结构化 deck)

必答问题(生成 deck 前必须回答)

  1. Deck 类型是什么?给谁看?
  2. 目标长度(页数)?
  3. 有没有已有的研究底稿?存放位置?
  4. 核心投资命题是什么(一句话)?
  5. 想不想带合规声明 / 免责页?
  6. 有没有品牌色 / logo 要求?
  7. 输出文件名和归档位置?

输出结构(标准 10 页 IC Pitch Deck)

Slide 1 · 封面 (Cover)

[Logo 占位]

{Company Name} ({Ticker})
{Sector} · {Market}

Investment Thesis Pitch

Analyst: {Name}
Date: {YYYY-MM-DD}
Confidence: High / Medium / Low

—— INTERNAL USE ONLY · NOT INVESTMENT ADVICE ——

Slide 2 · 执行摘要 (Executive Summary)

一张 slide 讲清楚整个故事:

Investment Thesis
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

{一句话命题 — 不超过 25 字}

Three Supporting Pillars
  1. {Pillar 1 — 一句话}
  2. {Pillar 2 — 一句话}
  3. {Pillar 3 — 一句话}

Recommended Action
  {BUY / HOLD / SELL / WATCH}
  {仓位建议 + 时间窗}

⚠️ 需人工复核

Slide 3 · 公司概览 (Company Overview)

┌────────────────────────────────────────┐
│ Business Model                         │
│ {3-5 句话业务描述}                      │
├────────────────────────────────────────┤
│ Key Metrics (FY{N-1})                  │
│  Revenue:    {XX} 亿 (财报披露)              │
│  Net Profit: {XX} 亿 (财报披露)              │
│  Margin:     {XX}%    (财报披露)             │
│  Market Cap: {XX} 亿 (公开事实)              │
├────────────────────────────────────────┤
│ Positioning                            │
│ {在产业链 / 行业中的位置}                │
└────────────────────────────────────────┘

Slide 4 · 核心逻辑 (The Thesis)

Core Thesis
{一句话}

Why Now?
{为什么是现在,不是 3 个月前,也不是 3 个月后}

The Variant View
Market Consensus      Your View           Gap
─────────────────     ────────────        ────
{市场怎么想}           {你怎么想}           {分歧在哪}

Slide 5 · 支撑证据 (Evidence)

一页放 3-5 个最硬的数据点,每个必须带证据等级:

Evidence 1: {要点}
  Data:   {数据}
  Source: 财报披露 (公司 2024 年报)
  Why it matters: {一句话解读}

Evidence 2: ...
Evidence 3: ...

[图表占位符:收入增速 / 毛利率趋势 / 份额变化]

Slide 6 · 市场预期差 (Consensus Gap)

Market Has Priced In              Market Has NOT Priced In
────────────────────              ────────────────────────
✓ {已 price in 1}                 ? {未被充分反映的变量 1}
✓ {已 price in 2}                 ? {未被充分反映的变量 2}
✓ {已 price in 3}                 ? {未被充分反映的变量 3}

Conditions for Re-rating
  1. {触发条件 1}
  2. {触发条件 2}
  3. {触发条件 3}

Slide 7 · 催化剂 (Catalysts)

时间线形式:

Timeline of Catalysts
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

{now}──────{Q+1}──────{Q+2}──────{Q+3}──────{Q+4}
  │           │           │           │           │
  ↓           ↓           ↓           ↓           ↓
 {事件 1}    {事件 2}    {事件 3}    {事件 4}    {事件 5}

Top Catalysts to Watch
  🔥 {最重要的催化剂}
  ⚡ {次要催化剂}

Slide 8 · 反方审视 (Red Team)

这页绝对不能省。机构 PM 最看重的就是你能不能 red team 自己。

Top 3 Risks (Observable, Actionable)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Risk 1: {可观测的风险}
  Trigger: {什么数据出现就该 cut loss}

Risk 2: {可观测的风险}
  Trigger: {...}

Risk 3: {可观测的风险}
  Trigger: {...}

Kill Switch
If ANY two of the above trigger → 立即 re-evaluate 命题

Slide 9 · 跟踪指标 (What to Watch)

Next 3 Months · Track List
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Metric 1: {跟踪指标}
  Frequency: {每月 / 每季 / 事件}
  Source: {在哪看}
  Target: {多少算 on-track}

Metric 2: ...
Metric 3: ...

[Mini 仪表盘占位符:3 个 KPI 的 traffic light 状态]

Slide 10 · 附录 & 合规 (Appendix)

Sources Used (完整中文证据分布)
  公开事实:     {N} 条
  财报披露:     {N} 条
  市场共识:     {N} 条
  合理推演:     {N} 条
  待核验假设:   {N} 条

仍需补的资料 (Gaps)
  必需: {list}
  建议: {list}

免责声明 / Disclaimer
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
本 deck 仅用于内部研究讨论,不构成投资建议。所有
数据来自公开渠道。涉及评级 / 目标价 / 盈利预测调
整须经持牌分析师人工复核。投资有风险,入市需谨慎。

Analyst: {Name}  Date: {YYYY-MM-DD}  Version: {v}
Sources archived at: {coverage}/{ticker}_{name}/

UI 设计系统(Machine-Readable)

颜色方案

theme: investor-harness-default
palette:
  primary:       "#1a2332"   # 深海军蓝(主色,标题、页眉、封面背景)
  accent:        "#c9a35c"   # 金色(强调色,用于关键数字、引用标注)
  positive:      "#2d7a3e"   # 深绿(用于"上涨/利好/共振")
  negative:      "#a83232"   # 深红(用于"下跌/利空/风险")
  neutral_dark:  "#4a5568"   # 深灰(body text)
  neutral_mid:   "#a0aec0"   # 中灰(副标题、脚注)
  neutral_light: "#edf2f7"   # 浅灰(分隔线、背景)
  white:         "#ffffff"   # 白(body 背景)

色彩纪律

  • ✅ 每张 slide 只有 1 个 主色 + 1 个 强调色
  • ✅ 涨用 positive,跌用 negative,不要反过来
  • ❌ 不要用红绿对比做装饰(留给真正的涨跌数据)
  • ❌ 不要用 > 3 种色相

字体系统

typography:
  title:
    font: "PingFang SC / Helvetica Neue / Arial"  # 中英回退
    size: 32pt
    weight: Bold
    color: primary

  subtitle:
    font: "PingFang SC / Helvetica Neue / Arial"
    size: 18pt
    weight: Regular
    color: neutral_dark

  body:
    font: "PingFang SC / Helvetica Neue / Arial"
    size: 14pt
    weight: Regular
    color: neutral_dark

  caption:
    font: "PingFang SC / Helvetica Neue / Arial"
    size: 10pt
    weight: Regular
    color: neutral_mid

  evidence_tag:  # 完整中文证据标签
    font: "Menlo / Courier"
    size: 9pt
    weight: Medium
    color: accent

排版纪律

  • 每页 一个 H1,不超过 1 行
  • 每段正文不超过 5 行
  • 数字用等宽字体对齐
  • 证据等级标注用 [财报披露] 这类上标形式

布局网格

┌──────────────────────────────────────────────────┐
│ {Ticker + Deck Type}          {Analyst · Date}  │  ← Header (60px)
├──────────────────────────────────────────────────┤
│                                                   │
│  H1 Title                                        │  ← Title area (120px)
│  Subtitle                                        │
│                                                   │
│ ┌────────────────────────────────────────────┐  │
│ │                                             │  │
│ │           Content area                      │  │  ← Body (480px)
│ │           (16:9, 1920×1080)                 │  │
│ │                                             │  │
│ └────────────────────────────────────────────┘  │
│                                                   │
├──────────────────────────────────────────────────┤
│ {Logo}     {Page N / M}     NOT INVESTMENT ADV.  │  ← Footer (60px)
└──────────────────────────────────────────────────┘

留白纪律

  • 上下边距 60px
  • 左右边距 80px
  • 内容密度:宁空勿满

图表风格

  • ✅ 简洁线图 / 柱图 / 堆叠柱
  • ✅ 坐标轴单位清晰(亿元 / %)
  • ✅ Y 轴不从零开始时必须标注
  • ✅ 图表下方带完整中文数据来源标签(公开事实 / 财报披露等)
  • ❌ 不要用 3D 饼图 / 3D 柱状图
  • ❌ 不要用彩虹色
  • ❌ 不要用默认 Excel 风格

技术实现

依赖

  • 主依赖anthropic-skills:pptx skill(python-pptx 包装)
  • 可选matplotlib / plotly(如需生成图表图片)

执行流程

1. Preamble (6 steps)
   ↓
2. 读取工作区 {coverage_root}/{ticker}_{name}/
   - latest thesis
   - latest deepdive
   - latest red-team
   - latest earnings (if exists)
   - latest consensus-watch (if exists)
   ↓
3. 提炼 10 slides 所需的结构化内容
   ↓
4. 调用 anthropic-skills:pptx skill 生成 .pptx
   - 传入 UI 设计系统(颜色 / 字体 / 布局)
   - 传入 10 slides 的内容 dict
   ↓
5. 保存文件到归档路径:
   {coverage}/{ticker}_{name}/decks/{YYYY-MM-DD}-{deck-type}.pptx
   ↓
6. 同时输出 markdown 版本(方便对话里预览):
   {coverage}/{ticker}_{name}/decks/{YYYY-MM-DD}-{deck-type}.md
   ↓
7. Postamble (8 steps)
   ↓
8. Dual Output Discipline:
   - 对话贴 markdown 预览(每页标题 + 核心内容)
   - 文件写 .pptx 真正的 PowerPoint
   - 末尾追加 📁 已归档提示 + 关键统计

输入与输出的数据契约

输入结构(preamble Step 2 读完研究后应生成这个):

deck_spec:
  target: "{ticker}_{name}"
  market: CN-A | HK | US | ...
  deck_type: ic-pitch | roadshow | earnings-review | monthly-update | ...
  length: 10
  analyst: "{name}"
  date: "{YYYY-MM-DD}"

  inherited_research:
    thesis:
      path: "{coverage}/{ticker}_{name}/thesis/latest.md"
      one_liner: "..."
      pillars: ["...", "...", "..."]
    deepdive:
      path: "{coverage}/{ticker}_{name}/deepdive/latest.md"
      company_overview: {...}
      business_model: "..."
      key_metrics: {revenue, profit, margin, market_cap}
    red_team:
      path: "{coverage}/{ticker}_{name}/red-team/latest.md"
      risks: ["...", "...", "..."]
      kill_switch_triggers: ["...", "...", "..."]
    earnings:
      path: "{coverage}/{ticker}_{name}/earnings/latest.md"
      next_date: "{YYYY-MM-DD}"
      sensitive_vars: [...]
    consensus_watch:
      path: "{coverage}/{ticker}_{name}/consensus/latest.md"
      priced_in: [...]
      not_priced_in: [...]

  slide_content:
    - id: 1
      type: cover
      content: {...}
    - id: 2
      type: executive-summary
      content: {...}
    # ... 10 slides total

  ui:
    theme: investor-harness-default
    brand_logo: null  # 用户可上传
    brand_color_override: null

输出结构(postamble Step 4/7):

Files created:
  📊 {coverage}/{ticker}_{name}/decks/{YYYY-MM-DD}-{deck-type}.pptx    ← 真正的 PPT
  📝 {coverage}/{ticker}_{name}/decks/{YYYY-MM-DD}-{deck-type}.md     ← markdown 预览

Preview in chat (dual output):
  [每页的标题 + 核心要点,markdown 版]

约束(硬约束)

内容纪律

  • 严禁在没有研究底稿的情况下直接生成 deck
  • 严禁编造数据 — 所有数字必须来自归档的研究输出
  • 严禁省略 "Risk / Red Team" 页
  • 严禁省略 "仍需补的资料 / Gaps" 页
  • 严禁在每张 slide 上堆超过 5 个 bullet points
  • 严禁使用"必涨"、"看到 XX 元"等武断表述
  • ✅ 每个具体数字必须标证据等级
  • ✅ 每份 deck 必须带合规免责页

视觉纪律

  • ❌ 不要动画、转场效果
  • ❌ 不要 clipart / stock photo 塞满
  • ❌ 不要 emoji 装饰(✓ 标记可以)
  • ❌ 不要 3D 图表
  • ❌ 不要超过 3 种字体
  • ❌ 不要超过 3 种颜色(primary + accent + 1 个 semantic)
  • ✅ 留白 ≥ 30%
  • ✅ 每页一个核心信息
  • ✅ 数据图表 > 文字描述

长度纪律

  • ic-pitch: 10-15 页,默认 10
  • roadshow: 5-8 页,默认 6
  • earnings-review: 6-10 页,默认 8
  • monthly-update: 5 页(一页纸精神)
  • 超过上限 → 让用户分两次跑,不要堆

触发方式

  • "帮我生成 {X} 的 IC pitch deck"
  • "把 {X} 的研究做成 PPT"
  • "给 PM 做一份 {X} 的路演 deck"
  • "用 sm-deck-builder 生成 {X} 的汇报材料"
  • "{X} 做成 5 页月报 deck"
  • "把今天的 deepdive 转成 PPT"

归档路径

{coverage_root}/{ticker}_{name}/decks/
├── 2026-04-07-ic-pitch.pptx
├── 2026-04-07-ic-pitch.md           ← markdown 预览
├── 2026-04-15-roadshow.pptx
├── 2026-04-15-roadshow.md
└── 2026-05-01-earnings-review.pptx

文件命名规范{YYYY-MM-DD}-{deck-type}.pptx


与其他 skill 的关系

| 关系 | skill | 说明 | |---|---|---| | 强依赖 | sm-company-deepdive | 必须至少读到一份 deepdive 才能做 ic-pitch | | 强依赖 | sm-thesis | 命题来源 | | 强依赖 | sm-red-team | Slide 8 内容必须来自这里 | | 强依赖 | sm-earnings-preview | earnings-review deck 的数据源 | | 补充 | sm-consensus-watch | Slide 6 的预期差来源 | | 补充 | sm-catalyst-monitor | Slide 7 的催化剂时间线 | | 互补 | sm-pm-brief | pm-brief 是一页纸文字,deck-builder 是 10 页 PPT | | 不替代 | anthropic-skills:pptx | deck-builder 调用 pptx 做文件生成,但决定结构/UI/内容的是 deck-builder |

推荐流程

sm-thesis → sm-company-deepdive → sm-red-team → sm-consensus-watch
                                                          ↓
                                                sm-deck-builder
                                                          ↓
                                                     IC pitch PPT

Dual Output Discipline

对话里输出:

  1. Deck 的 10 slides markdown 大纲(完整内容,方便云端用户阅读)
  2. 归档路径 + 文件大小
  3. 使用的 UI 主题
  4. 继承自哪些研究底稿(带日期 + 证据等级统计)

文件里保存:

  1. .pptx 真正的 PowerPoint 文件(用 anthropic-skills:pptx 生成)
  2. .md markdown 版本(和对话里一致,方便 diff 和跨 skill 引用)

参考

  • [../../core/preamble.md](../../core/preamble.md)
  • [../../core/postamble.md](../../core/postamble.md)
  • [../../core/evidence.md](../../core/evidence.md)
  • [../../core/compliance.md](../../core/compliance.md)
  • [../../core/output-archive.md](../../core/output-archive.md)
  • [../../core/acceptance.md](../../core/acceptance.md)
  • anthropic-skills:pptx — 实际生成 .pptx 文件的底层 skill

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.