行业分析解读 PPT(家长客户版)
用途
给一个行业名,产出一份面向家长的行业分析 PPT,回答链路:
行业怎么样(政策/周期)→ 钱怎么流转(产业链/上中下)→ 招什么人(人才需求)→ 学什么专业(专业需求)→ 落到孩子身上意味着什么(总结收口)。
第一原则:克隆模板,不重排版式
生成方式是 克隆模板页 + 槽位替换,不是从零搭页面:
- 模板固定为
assets/template.pptx(8 页,13.333×7.5in) - 字体、字号、颜色、位置、页眉条、Logo、版式背景一律原样保留,只替换文字/表格/图片
- 禁止绕开
scripts/build_pptx.py用 python-pptx 从零搭页面 - 生成器启动时会校验模板指纹(页数/各页形状数/页眉条 id),不匹配直接中止,防止静默产出错误版式
唯一真源
references/standards-master.md 是本技能的标准总表(唯一真源)。
页数、页序、字体、配色、配图数量(17+1)、卡式正文规范、三道质检、容差、禁止降级清单,
全部以它为准。本文件的表格若与总表冲突,以总表为准并回来修订本文件。
版面坐标的机器实现集中在 scripts/make_outline.py(内容 → outline 的生成器)。
改那里的坐标等于改标准,必须与总表同步。
输出规范(所有行业一律如此,不得自行发挥)
| 项 | 标准 |
|---|---|
| 默认页数 | 8 页;政策与市场规模内容多时把政策页拆成「政策导向」+「市场空间」→ 9 页 |
| 页序 | 封面(模板1) → 政策导向(2) → [市场空间(2)] → 生命周期(3) → 产业链路(4) → 上中下结构(5) → 人才需求(6) → 专业需求(7) → 总结(8) |
| 页眉板块词 | N.{行业名}{板块词},板块词:政策导向 / 市场空间 / 生命周期 / 产业链路 / 上中下结构 / 人才需求 / 专业需求 / 总结(模板原文误写「产业链路」,收尾页必须改成「总结」) |
| 产物命名 | {行业名}行业分析.pptx,如 智能网联新能源汽车行业分析.pptx |
| 工作目录 | 每个行业一个独立目录:outline.json + img/ + shots/ + 产物 |
| 元素形态 | 全原生可编辑(形状/文本框/曲线/独立图片),不要整图占位;家长提问的每一页都要能被规划师改 |
| 配图(必做) | 每册固定 17 张 AI 图 + 1 张代码图:P2/P3 数据卡图标 3+3、产业链路插画 6、上中下插画 5(ImageGen,全 1024²)、P8 热门专业排名榜 1(HTML+Playwright 808×1210,每个热门专业前 15 名、双栏自适应)。规格/坐标/prompt 见 references/image-prompts.md;调用前告知积分(5–10/张) |
| 版式基准 | 《智能网联新能源汽车行业分析.pptx》(2026-10-14 定稿)——各页坐标以 template-spec.md 配方为准,照抄坐标只换内容 |
| 每页备注 | notes 必填:数据来源(带年份)+ 规划师解读要点 |
开工前
> skillHub 发布版:模板是二进制文件、上传通道不收,故随包以 base64 分片
> 存放(assets/template.b64/;发布副本的超宽背景图已重采样到 1920px 以压进
> 10MB 上传限制,文字/母版/几何零改动)。装完先跑一次
> python scripts/restore_template.py 一键还原(check_env.py 检测到模板
> 缺失时也会自动触发还原)。
python scripts/check_env.py --fix-hint # 依赖 / 模板 / Chrome 自检,缺什么补什么
python scripts/list_template_shapes.py --page 2 # 看这一页模板有哪些槽位可用
槽位 id 地图见 references/template-shapes.md(全 8 页逐形状清单)。
工作流程
S1 联网调研
按 references/content-framework.md 的六板块清单逐项搜索:
政策与投资数据 → 生命周期阶段 → 产业链环节 → 上中下游结构 → 龙头单位校招需求 → 对口专业与院校排名。
硬要求:每个关键数字带 年份 + 来源,写入对应页 notes;数据冲突时取官方口径。
薪资只引一手校招简章(企业名 + 来源),并注明"仅代表头部企业水平,非行业普遍值"。
一页只认一个统计口径,口径差异写进 notes(医疗器械册实测:营收口径 vs 终端规模口径混用会误导家长)。
S1.5 生成标准配图(必做,见 references/image-prompts.md)
按总清单生成:D2/D3 数据卡图标 3+3(duotone 图标)、D5 产业链路插画 6、D6 上中下插画 5
(isometric 等距插画),全 1024²,prompt 一律 no text / no letters;
D8 排名榜用 HTML+Playwright 代码绘制 808×1210(不用 AI)。
每张生成后立即 mv 成语义化短名(ImageGen 同前缀同分钟会互相覆盖);批量改名禁止按字母序。
调用前告知用户积分消耗(5–10 积分/张)。
> ⏱ 加速:一次消息里并行发起 4–6 次 ImageGen 调用(工具支持并行),
> 不要一张张串行等。17 张图分成 3–4 批即可。每批回来立即改名,再发下一批。
S2 填 content.json(不要手写 outline)
版面代码已经在 scripts/make_outline.py 里,不要为每个行业重写。 你只需填内容:
cp templates/content.template.json ./{行业名}/content.json
# 然后按段替换:cover / policy / market / lifecycle / chain / updown / talent / major / summary
content.json 只放文字、数据、图片路径,不放坐标。_说明 字段是模板注释,可删。
字段缺失时脚本会明确指出位置(如 chain.cards[2] 缺少必填字段 'rep'),照提示补即可。
配图清单与坐标见 references/image-prompts.md;逐页规格见 references/template-spec.md。
模板形状去向:make_outline.py 已按页面自动写好(含 D9 那 20 个「志愿闭环」残留形状的
drop_shapes),你不需要再手写。只有在绕开 make_outline 直接改 outline 时才需要核对。
| 去向 | 写法 | 谁负责 |
|---|---|---|
| 填入内容 | slots / tables / images |
make_outline 自动生成 |
| 原样保留(如 D8 橙色箭头 id=3) | keep_shapes: [3] |
make_outline 自动生成 |
| 用不到的(整页重做时几乎全部) | drop_shapes: [...] |
make_outline 自动生成 |
任何"没交代"且带文字/图片的模板形状,verify_pptx.py 都会报错。
典型坑(已成自动化,但要知道为什么):克隆模板第 8 页做收口页时,模板原有的 20 个
「志愿闭环」形状仍在文件里,被新白卡盖住但没删除——拖动卡片就露馅。
各页标准做法(已固化在 make_outline.py,改口味而非改结构时直接改脚本常量):
| 页 | 做法 | 规格出处 |
|---|---|---|
| D1 封面 | slots 填行业名 |
template-spec T1 |
| D2/D3 政策导向·市场空间 | 标题 + 三数据卡 + AI 图标;左图用原生柱状图(贯穿式增长箭头) | 「左图·原生柱状图配方」 |
| D4 生命周期 | 原生 PCHIP S 曲线;底部 3 数据卡 + 图例卡 | 「生命周期·原生 S 曲线配方」 |
| D5 产业链路 | 原生六卡(圆角卡 + 等距插画 + 参数胶囊 + 三段正文) | 「产业链路页·原生可编辑版配方」 |
| D6 上中下结构 | 原生五卡(上 3 下 2,中英对照标签 + 等距插画) | 「上中下结构页·原生可编辑版配方」 |
| D7 人才需求 | 表格;标题上提 + ➢ 项目符号 + 注释=核心用人单位清单 | 「人才需求页结构标准 v3」 |
| D8 专业需求 | 3 列表格 + 右侧热门专业排名榜(808×1210 代码绘制:2–3 个对口专业各前 15 名,双栏) | template-spec T7 + image-prompts §4 |
| D9 总结 | 三段式收口卡(看懂行业 → 看懂饭碗 → 落到孩子),bg 纯白 |
「收口页原生配方 v4」 |
绘制顺序铁律:shapes → pics → texts(底→图→字)。顺序错了白底卡片会盖住图标,且不报错、只渲染空白。
容量红线(超出必折行/互压,已反复踩坑):
- 数据卡段 2 ≤ 12 个汉字单位;橙色大数字 ≤ 6 单位
- 主标题全句 ≤ 16 单位(框宽 7.87in)
- 上中下结构卡正文:上排 12 字/行、9 行封顶;下排 26 字/行
- 收口页每列 ≤ 5 行(12pt,列宽约 17–18 字/行)
语言红线(用户明确要求"不要过于 AI 化"):
- 小标题用口语词:钱从哪来 / 盘子多大 / 饭碗 / 门槛 / 提醒
- 禁用套话:赋能、抓手、闭环、生态位、深度融合、综上所述、全方位
- 短句 + 数字 + 年份;不用分数段承诺
S3 一键生成(推荐)
python scripts/pipeline.py --content content.json --industry {行业名} --expect-pages 9
一条命令跑完 content → outline → PPTX → 结构化质检 → 渲染级质检 → 截图,
任一关失败即中止(exit != 0),不会留下半成品。产物自动命名为 {行业名}行业分析.pptx。
需要分步时也支持(等价,只是慢):
python scripts/make_outline.py --content content.json --out outline.json --strict
python scripts/build_pptx.py --outline outline.json --out {行业名}行业分析.pptx
build 脚本零预警(无 ⚠️ 输出)才算通过;有预警先修 content 再重新生成。
S4 质检(三道关,缺一不可)
pipeline.py 已自动跑 ①②,并可选跑 ③:
# ① 结构化质检:越界 / 溢出 / 表格 / 模板残留 / 图片丢失 / XML 特性回读
python scripts/verify_pptx.py 产物.pptx --outline outline.json --expect-pages 9
# ② 渲染级检测:文字超出自框 / 露出卡片底 / 文字互压
python scripts/shot_pptx.py 产物.pptx --check
# ③ 渲染目检:截图后逐页 Read 亲眼看(pipeline 不带 --skip-shots 时已生成)
python scripts/shot_pptx.py 产物.pptx -o shots
⚠️ 渲染器不渲染表格、旋转(rot)、freeform 曲线(custGeom)、项目符号(bullet)——这些在截图与 --check 中会被忽略或显示为未旋转,属已知限制。表格与 bullet 必须靠 verify_pptx.py 回读校验,只跑渲染检测就交付 = 会漏问题。
通过标准(两条同时满足):
- verify_pptx.py:无「❌ 必须修」;⚠️ 提醒需逐条确认属"模板原生设计"而非真问题
- shot_pptx.py --check:输出「✅ 无文字溢出 / 无露底 / 无互压」
关于容差:渲染检测忽略 ≤5px、结构化质检忽略 ≤0.09in 的溢出——这是浏览器与 PowerPoint
行高算法差异造成的测量噪声,不是可以放水的口子。真问题(如卡片装不下正文、表格压注释)
量级远大于此,一定会被报出来。不要为了让检测通过而去调容差。
三道关全绿后 present_files 交付。
分发给别人(跨机器一致性)
要打包分享时先看 INSTALL.md(里面有安装步骤、验收办法、FAQ)。
保证别人电脑上产出一致的四条底线:
- 依赖版本锁死:
requirements.txt里python-pptx==1.0.2,不同大版本写的 XML 不同 - 零可选依赖:PCHIP 走内置实现,装没装 scipy 不影响曲线
- 无绝对路径:脚本全部用
__file__相对定位,模板随包走(内含指纹校验) - 产出可复现:同一 content.json 两次生成的
outline.jsonmd5 相同;
PPTX 用compare_decks.py比内容层(不能用 md5 直接比,zip 有归档时间戳)
python scripts/build_package.py --out ~/Desktop # 打包 + 自动解压即跑验证
python scripts/check_env.py --fingerprint # 给别人比对环境
python scripts/compare_decks.py 我的.pptx 同事的.pptx # 验收两地产物
outline 可用键总表
| 键 | 作用 |
|---|---|
template_slide |
克隆模板第几页(1–8) |
section |
页眉板块词 |
slots |
文本槽位:{shape_id: [[段1run...], ...]},只数带 run 的段落 |
tables |
表格槽位:{shape_id: [[表头], [数据行]...]},行数可增删,行高自动均分 |
images |
图片槽位:{shape_id: "img/x.png"},替换后自动回读自检 |
notes |
备注区(来源 + 规划师解读) |
bg |
{"fill": "FFFFFF"} 显式纯色覆盖继承背景 |
slot_geom |
槽位几何覆盖:{shape_id: {left, top, width, height}} |
slot_bullet |
标题加 Wingdings ➢ 项目符号 + 悬挂缩进 |
table_col_widths / table_heights / table_font_size |
列宽 / 总高 / 字号 |
drop_shapes |
删除模板形状 [id...] |
keep_shapes |
有意原样保留的模板形状 [id...](供质检识别,不影响生成) |
autofit |
默认 true:按内容自动加高文本框(长行业名/长文案自适应);false 关闭 |
shapes |
原生形状:[{shape, left, top, width, height, fill, line, radius, text, size, color, bold, rot}] |
pics |
独立图片:[{path, left, top, width, height}] |
texts |
追加文本框:支持行级 dict 与行内多 run |
curves |
原生曲线:{points: [[x,y]...], color, width, dash} |
完整几何、配色、字号与容量表见 references/template-spec.md;硬约束以 references/standards-master.md 为准。
加速指南(不降标准的前提下)
做一册的主要耗时按顺序是:① 调研 > ② 生图 > ③ 写 outline > ④ 质检返工。
针对性办法:
| 环节 | 原来的做法 | 加速做法 | 省下什么 |
|---|---|---|---|
| ③ 写 outline | 每行业手写 500 行 build_outline.py |
填 content.json → make_outline.py 生成 |
最大头,几百行代码变成一份 JSON |
| ④ 质检 | 手动依次跑三道 | pipeline.py 一条命令 |
少 4 次命令行往返 |
| ② 生图 | 一张张串行 ImageGen | 同批并行 4–6 张,回来立即改名 | 17 张从 17 轮降到 3–4 轮 |
| ① 调研 | 每次重新想维度 | 按 content-framework.md 六板块清单逐项搜 |
少走回头路 |
| 返工 | 生成后才发现超容量 | make_outline.py 自带容量预警(trend>95、副题>14、列>5 行) |
把返工提前到秒级 |
不能为提速而砍的东西(降标即等于换个技能):17 张 AI 图 + 1 张代码图的数量、
全原生可编辑、三道质检、既定容差、卡式正文三段全加粗 + 段距。
宁可慢,不要漏。
文件清单
assets/template.pptx 模板底版(8 页,6 MB)
templates/content.template.json ★新行业起点:只填内容的模板(已用医疗器械填好)
scripts/pipeline.py ★一键流水线 content→outline→PPTX→两道质检→截图
scripts/make_outline.py ★内容→outline 生成器(全部版面坐标固化于此)
scripts/init_outline.py 备用:生成空 outline 骨架(手写 outline 时用)
scripts/build_pptx.py 克隆-替换生成器(模板指纹校验 + 文本框自动适配)
scripts/verify_pptx.py 结构化质检(越界/溢出/表格/模板残留/XML 回读)
scripts/compare_decks.py 跨机器一致性比对(两份 PPTX 内容层是否相同)
scripts/build_package.py 打包成可分发的 zip(含解压即跑验证)
scripts/shot_pptx.py 渲染级检测 + 截图(需 Chrome + playwright)
scripts/list_template_shapes.py 打印模板每页形状清单(手写 outline 前必看)
scripts/check_env.py 开工前环境自检
scripts/shrink_template.py 可选:给模板瘦身(压缩会被替换的占位图)
requirements.txt 依赖清单
references/standards-master.md ★标准总表(唯一真源,冲突以此为准)
references/quality-checklist.md ★交付前逐项自检清单 + 常见翻车点
references/template-spec.md 逐页设计规格(坐标/字号/配色/容量红线/各页配方)
references/template-shapes.md 模板全 8 页形状地图(id/几何/文字)
references/content-framework.md 六板块调研清单 + 语言红线 + 数据源优先级
references/image-prompts.md ★配图标准(必做清单/坐标/prompt 模板/ImageGen 铁律)
references/outline.example.json 电力行业 outline 标准范例
参考样例
《智能网联新能源汽车行业分析.pptx》(9 页,用户桌面)是本技能的版式基准样例:
全册原生可编辑 + 标准配图(数据卡图标 6、产业链插画 6、上中下插画 5、P8 排名榜整图 1)、
P2/P3 原生柱状图(贯穿式增长箭头)、P4 PCHIP 真实渗透率 S 曲线(3 数据卡+图例卡)、
P5 六卡产业链、P6 五卡上中下(中英对照标签)、P9 三段式收口。
《医疗器械行业分析.pptx》(9 页,2026-10-15 交付)是按同标准产出的第二册,可作交叉对照。
做新行业时按两册的完成度对齐:坐标照抄配方、只换内容与配图。