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>
198 lines
7.0 KiB
Markdown
198 lines
7.0 KiB
Markdown
# 设计规则 — 金融报告级 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. **禁止大字号标题** — 页面标题不超过 18pt(DeckLinter 会报 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_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
|
||
```
|
||
|
||
**同样的信息量,后者只用一半的页数,但每页都高密度。**
|