skills/ppt-station-skill/reference/design-rules.md
wangyitong a65adcc2e5 Initial commit: merged, deduplicated, and vetted skill collection
Sources: extracted from two upstream archives (skill-repo, skills-main),
merged with the following policy:

- 15 broken symlinks (pointing to /Users/jameslee/.cc-switch/skills or
  ../../.agents/skills on a foreign machine) discarded
- 3 real name collisions with identical content (ai-pair, ifind-http-api,
  zhipu-websearch) kept as one copy
- Functional overlaps deduped keeping the strongest variant:
  - docx family: kept docx (official, full toolchain) + docx-cn
    (GB/T 9704 Chinese official-document constants),
    dropped docx_writer (no scripts, name collided with docx)
  - humanizer family: kept humanizer-zh (6 zh reference docs),
    dropped humanizer (en, redundant for CN workflow)
- Skills that only ran in a foreign environment removed:
  ablemind-ops, app-publish, hlb-design-system, openclaw-adj-skill,
  claude-driver
- alphapai excluded from this public repo because its SKILL.md hard-coded
  live credentials

Result: 25 skills, 572 files, ~7.5 MB.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 14:47:12 +08:00

7.0 KiB
Raw Permalink Blame History

设计规则 — 金融报告级 PPT 标准

来源:投行级研报 77页逐页分析 + 用户反馈迭代。 本文档定义"专业"的具体标准。所有金融/投资报告类 PPT 必须遵守。


核心原则

  1. 信息密度优先 — 每页至少 2 个数据元素图表、表格、KPI。一图一页是浪费。
  2. 零装饰 — 无 emoji、无花哨装饰。视觉层次靠字号+粗细+颜色。
  3. 克制用色 — 每张图表最多 2-3 种颜色。主色60%、辅助色30%、强调色10%。
  4. 每页有来源 — 底部 8pt 灰色脚注,标明数据来源。

页面结构模板(固定框架)

投行级研报每页均有固定结构ppt-station 应遵循:

[标题 16pt 粗体]                                    [页码/章节标记]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  (全宽 1pt 细线)
[左图/左内容 50%]              [右图/右内容 50%]

[来源: Bloomberg, Wind]                          [公司/品牌名]

精确坐标(由 Design Tokens 控制)

元素 x y w h 字号 颜色 Token
页面标题 0.60 0.25 12.133 0.50 16pt text_dark page_title_size, header_y
全宽分隔线 0.60 0.80 12.133 0.015 primary divider_y, divider_h
内容区 0.60 1.00 自动 5.80 content_y, content_w= slide_w - 2*margin
来源脚注 0.60 7.10 10.0 0.30 8pt text_muted footer_y, footer_size

注意:标题用 16pt不是 26-28pt全宽细线不是 2" 短装饰线)。

现已自动化add_page_header()add_page_footer() 自动处理页眉/页脚,注册布局无需手动编写。


布局选择 — 50/50 双图是默认

投行级研报 58% 的内容页使用 50/50 左右双图。

应该合并为一页的组合

左图 右图 为什么
股价走势 累计收益率 同一标的的价格+回报
营收/利润柱图 利润率/ROE折线 规模+效率双视角
费用结构 现金流 投入+产出
当年收益柱图 成立以来累计 短期+长期
PE/PB范围 PE历史走势 估值概览+趋势

什么时候用上下双图(two_charts_vertical

  • 共享日期轴的趋势对比(如收入增速 vs 利润增速)
  • 需要最大化时间轴跨度(上下图均使用全宽)
  • 数据量大、需要高分辨率的时间序列

什么时候用图表+表格(chart_table

  • 趋势图 + 截面数据快照组合(如走势图 + 最新财务指标表)
  • 需要同时展示可视化和精确数值

什么时候用全页单图

  • 超长时间序列20年+,需要全宽展示)
  • 多系列散点图/气泡图
  • 复杂堆叠图5+系列)

什么时候不需要 section_divider

投行级研报没有分隔页。章节区分靠:

  • 左侧竖色标0.15" × 0.4",章节颜色)
  • 页面标题前缀(如"走势分析 — 股价趋势"

如果报告超过 20 页,可以用 1 个 section_divider。10-15 页报告不需要。


排版规范

字号体系(克制)

元素 投行级标准 不要超过
页面标题 16pt Bold 18pt
封面标题 36pt Bold 40pt
图表副标题 11pt 14pt
数据标签 7-9pt Bold 10pt
图例 9pt 10pt
轴标签 9pt 10pt
来源脚注 8pt 9pt
KPI 大数字 28-32pt 32pt

字体

场景 标题 正文/图表
金融报告 黑体 Bold 黑体
通用商务 微软雅黑 Bold 微软雅黑

配色规范

背景

  • 内容页:纯白 FFFFFF(不要浅色系背景)
  • 标题页/结论页:深色 bg_dark

图表

  • 主系列(柱/面积用色板色1偏浅大面积不刺眼
  • 次系列折线用色板色2深色细线需高对比度
  • 参考线/均值线:用 accent 色 + 虚线
  • 同一张图表最多 3 种颜色(投行级标准)

正负色

  • 正向(增长/超额):positive 绿
  • 负向(下跌/不足):negative
  • 中性:text_muted

表格规范(投行级,自动启用)

add_table() 默认 ib_style=True

  • 无垂直边框 — 仅保留表头上下 + 表格底部水平线(表头 1pt primary 色,数据行 0.5pt #E2E8F0
  • 数值列自动右对齐 — 检测超过 50% 数值的列,自动右对齐
  • 首列左对齐 — 标签/名称列
  • 斑马纹 — 偶数行 table_zebra_even,奇数行 table_zebra_odd

图表规范ChartJunkCleaner 自动执行)

ChartBuilder.build() 后自动清洗:

  • 图表外边框 → 移除
  • Y 轴网格线 → 极浅灰色虚线 (#E8E8E8, 0.5pt, dot)
  • 刻度线 → none
  • 图例边框/填充 → 移除
  • plotArea 边框 → 移除

绝对禁止

  1. 禁止 emoji — 金融报告不使用任何 emoji。用编号"01"、"02")或色块替代图标。
  2. 禁止每图一页 — 默认使用 two_charts 布局把相关图表并排。
  3. 禁止大字号标题 — 页面标题不超过 18ptDeckLinter 会报 WARN
  4. 禁止纯文字页 — 每页至少一个数据可视化元素。
  5. 禁止没有来源的图表 — 用 data["footnote"] 传入DeckLinter 会检查 footer 存在性)。
  6. 禁止花哨配色 — 单图不超过 3 色,全 PPT 不超过 5 色。
  7. 禁止无分隔线 — 标题下方是全宽分隔线(add_page_header 自动处理)。
  8. 禁止手写标题+分隔线 — 使用 add_page_header() 或注册布局自动处理。

对比示例

不专业(之前安克报告的模式)

Page 1:  title_dark
Page 2:  kpi_cards4个指标
Page 3:  bullet_points3个要点 + emoji ⚡🏠🎧)
Page 4:  section_divider "走势分析"        ← 浪费一页
Page 5:  股价走势图(独占整页)            ← 信息密度低
Page 6:  累计收益率(独占整页)            ← 应与 Page 5 合并
Page 7:  kpi_cards风险指标
Page 8:  section_divider "财务分析"        ← 又浪费一页
Page 9:  营收利润(独占整页)              ← 信息密度低
Page 10: 利润率趋势(独占整页)            ← 应与 Page 9 合并
...
= 18 页,只有 5 个图表

专业(投行研报模式)

Page 1:  title_dark
Page 2:  kpi_cards6个指标+ 来源脚注
Page 3:  two_charts — 左:股价走势 / 右:累计收益率
Page 4:  two_charts — 左:营收利润 / 右:利润率趋势
Page 5:  two_charts — 左:费用结构 / 右:现金流
Page 6:  two_charts — 左:竞争对比柱图 / 右:ROE趋势对比
Page 7:  comparison_table竞争格局数据表+ 来源脚注
Page 8:  bullet_points竞争壁垒用编号代替emoji
Page 9:  conclusion_dark
= 9 页10 个图表 + 1 表 + 1 KPI

同样的信息量,后者只用一半的页数,但每页都高密度。