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>
7.0 KiB
7.0 KiB
设计规则 — 金融报告级 PPT 标准
来源:投行级研报 77页逐页分析 + 用户反馈迭代。 本文档定义"专业"的具体标准。所有金融/投资报告类 PPT 必须遵守。
核心原则
- 信息密度优先 — 每页至少 2 个数据元素(图表、表格、KPI)。一图一页是浪费。
- 零装饰 — 无 emoji、无花哨装饰。视觉层次靠字号+粗细+颜色。
- 克制用色 — 每张图表最多 2-3 种颜色。主色60%、辅助色30%、强调色10%。
- 每页有来源 — 底部 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 边框 → 移除
绝对禁止
- 禁止 emoji — 金融报告不使用任何 emoji。用编号("01"、"02")或色块替代图标。
- 禁止每图一页 — 默认使用
two_charts布局把相关图表并排。 - 禁止大字号标题 — 页面标题不超过 18pt(DeckLinter 会报 WARN)。
- 禁止纯文字页 — 每页至少一个数据可视化元素。
- 禁止没有来源的图表 — 用
data["footnote"]传入(DeckLinter 会检查 footer 存在性)。 - 禁止花哨配色 — 单图不超过 3 色,全 PPT 不超过 5 色。
- 禁止无分隔线 — 标题下方是全宽分隔线(
add_page_header自动处理)。 - 禁止手写标题+分隔线 — 使用
add_page_header()或注册布局自动处理。
对比示例
不专业(之前安克报告的模式)
Page 1: title_dark
Page 2: kpi_cards(4个指标)
Page 3: bullet_points(3个要点 + 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_cards(6个指标)+ 来源脚注
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
同样的信息量,后者只用一半的页数,但每页都高密度。