twu-industry-analyzer v1.0.0 — 全自动行业产业链分析
⏰ 时间高度敏感:本 skill 所有输出必须遵守 references/data_time_audit_rules.md 的通用审计规则(P0)。行业数据的年份/季度必须有精确时间锚定,禁止使用"当前""最近""最新"等无锚定表述。WebSearch 关键词必须用精确年份+月份(用 date +%Y 动态生成),禁止写死年份。
⛔ 职责边界(P0):本 skill 只做行业/产业链的结构分析,不做个股买卖推荐、不预测具体价格点位。结论部分允许给出行业层面的方向判断(景气/承压/分化),但禁止"买入 XX 股"式表述。所有输出不构成投资建议。
触发规则
当用户提问中包含以下任一模式时,立即加载本 skill 并执行自动化工作流:
- "分析/研究/看看 XX 行业/产业链"
- "XX 行业怎么样/前景如何"
- "讲讲/说说 XX 行业"
- "帮我研究/分析一下 XX"
- "XX(公司名)在哪个行业 / 所在的行业"
- "XX 产业链"
加载本 skill 后,不要询问用户"要不要分析",直接按下方工作流执行。
完整自动化工作流(7 步,目标 4-6 分钟)
Step 0: 行业锚定(P0,先于一切,60 秒)
一个行业,在概念上是什么、边界在哪里、站在生命周期什么位置。三个锚定错一个,整份报告就跑偏。
- 是什么:一句话精确技术/商业定义("光伏"要说"硅料-硅片-电池-组件的光伏发电产业链",不说"新能源")
- 不是什么(至少 3 条):与易混行业的边界。如 CPO ≠ 可插拔光模块 ≠ NPO/LPO;动力电池 ≠ 储能电池 ≠ 燃料电池
- 边界确认:如果用户输入行业名太泛(如"新能源"),自动细化为最相关的子行业(如"动力电池"),并在报告开头注明
- 生命周期位置:导入期/成长期/成熟期/衰退期,一句话判断依据
输入是公司名(如"宁德时代")→ 先做公司→行业映射:
- 优先查询公司行业分类(如环境中有 westock-data 等数据能力则使用,不可用则跳过)
- 否则用 WebSearch 搜索 "{公司名} 所属行业 主营业务"
- 从搜索结果推断行业名,然后进入锚定
锚定产出写入 JSON 的 anchor_card 字段(是什么/不是什么/边界/生命周期初判)。锚定未完成,禁止进入 Step 2。
Step 1: 并行数据收集(90-120 秒)
一次发起 6 路 WebSearch,覆盖全部分析维度。年份必须用当前年份,禁止写死。
批次1(并行6路):
1. "{行业} 产业链 上游 中游 下游 代表公司 {今年} {明年}"
2. "{行业} 全球格局 海外竞争 市场份额 各国占比 {今年}"
3. "{行业} 市场规模 TAM 增速 预测 {今年} {明年}"
4. "{行业} 竞争格局 龙头对比 壁垒 护城河 {今年}"
5. "{行业} 发展历程 历史 关键转折 最新动态 {今年}"
6. "{行业} 未来趋势 技术路线 风险 政策 预测 {今年} {明年}"
如果搜索结果不够充分,追加 2 路(批次2,P1 强制):
批次2(补充):
7. "{行业} 机构观点 券商研报 权威预测 {今年}"
8. "{行业} 争议 分歧 争论 风险 看空 {今年}"
数据铁律(P0,全流程生效):
- 每条关键数据必须标注来源 + 时点。格式:数值 [来源,数据截止日期]
- 核心数据(市场规模/份额/增速)至少双源交叉验证,单源标注"[单一来源]"并降置信度
- 数据与新闻打架时,以数据为准(官方数据 > 权威机构 > 研报 > 媒体)
- 搜索不到的数据标注"数据暂缺",禁止编造
Step 2: AI 分析并组装 JSON(核心步骤,2-3 分钟)
Agent 阅读全部搜索结果,提取关键信息,填入下方 JSON 数据结构。
JSON 模板包含以下必填模块(完整字段定义见 references/json_schema.md):
industry_name/industry_desc/tags— 行业标识anchor_card— 锚定卡(新增):是什么/不是什么/边界/生命周期初判dashboard_cards— 6 张关键数据卡片(每项含source+as_of)chart1_*/chart2_*+region_*— 两个图表(趋势+份额)数据five_forces— 文字五力分析(替代雷达图):每力含名称/评分/理由/趋势value_chain— 产业链三层(upstream/midstream/downstream)market_segments— 8 条市场指标(每项含source+as_of)keywords— 15 个核心关键词(新增not字段:不是什么)companies— 6 家代表性公司timeline— 6 个关键历史节点lifecycle_*— 生命周期判定及依据key_debate— 关键分歧(新增):多方逻辑/空方逻辑/裁决标准/当前定价counter_narrative— 反叙事(新增):行业反向信号current_situation— 当前形势判断trends— 4 条未来趋势(含确定性评级)scenarios— 乐观/中性/悲观三种情景(含触发信号)monitor— 监控变量(新增):领先/同步/滞后指标residual— 残余不确定性清单(新增):数据冲突/信息真空/推断项conclusions— 5 条核心判断
数据要求:
- 所有数字必须来自搜索结果,标注具体数值 + 来源 + 时点
- 没有搜索到数据的字段,标注为"数据暂缺"而非编造
- 关键词的大白话(ez)要有类比和幽默感,25-50 字
- 结论必须有观点、有态度,不能是"行业发展前景广阔"这种废话
- 关键分歧、反叙事、残余清单是强制模块,数据不足时写"未发现/无法验证",不能跳过
Step 3: 渲染 HTML(10 秒)
将组装好的 JSON 保存到工作区 outputs/ 目录,然后运行:
python -c "
import sys; sys.path.insert(0, '<skill 所在目录>/scripts')
from generate_report import generate_from_json
generate_from_json(r'{json_path}', r'{output_dir}')
"
生成的文件名格式:{行业名}-产业链分析.html
Step 4: 生成 Markdown 报告(同步,30 秒)
基于 JSON 数据,生成配套 Markdown 报告,结构如下:
# {行业名称} 产业链深度分析
> 分析日期 | 数据截至 | 来源
## 0. 行业锚定
(是什么 / 不是什么 / 边界确认)
## 1. 产业链全景与价值分布
(上游/中游/下游拆解 + 价值分布表 + 供需格局)
## 2. 市场总览
(市场规模/结构/渗透率/商业模式)
## 3. 竞争格局诊断
(文字五力分析表 + 龙头对比表)
## 4. 发展历程与当前形势
(时间轴 + 生命周期判定 + 关键分歧)
## 5. 未来趋势与风险
(驱动力表 + 情景分析 + 监控变量 + 残余不确定性)
## 6. 综合结论
(5 条核心判断)
保存到:{行业名}-产业链分析报告.md
Step 5: 输出闸门(30 秒,P0)
输出前执行 twu-output-guard standard 档(依赖 skill,见 uses):
- 数据审计:所有数字有来源+时点?单源数据已标注?分类数字一致性(写了几个数字就要说清几档)?
- 逻辑审计:结论是否经过自我反驳?关键分歧是否呈现正反双方?因果判断时间序正确?
- 反身份扫描:无 AI 腔(值得注意的是/综上所述/在某种程度上/赋能/抓手)?无破折号?
- 边界检查:无个股推荐?无价格点位预测?不构成投资建议声明已加?
- 残余清单:数据冲突/信息真空是否透明呈现?
不合格按 references/quality-gate.md 打回重写。
Step 6: 呈现结果(10 秒)
用 present_files 同时展示 HTML 和 Markdown 两个文件:
present_files([
"outputs/{行业名}-产业链分析.html",
"outputs/{行业名}-产业链分析报告.md"
])
并在对话中给出 5-8 条一句话要点摘要。
降级模式(P1)
触发条件(任一):搜索结果 < 3 个有效来源;关键数据无法获取;行业过于小众。
降级输出:
- 标题加 [有限分析] 前缀
- 说明哪些环节因信息不足被跳过
- 不确定环节提升到正文优先列出
- 明确标注"以下分析基于有限信息,结论置信度低"
- 保留:锚定卡(能做多少做多少)、产业链骨架、残余不确定性清单(必做)
降级模式不等于不分析。它的作用是明确告诉读者:这个分析的边界在哪里。
输出质量标准
- 数据驱动:每个判断都有搜索到的数据支撑(含来源+时点)
- 论证充分:关键判断经过自我反驳,呈现正反双方
- 全球视野:产业链各环节标注中国/全球产能占比和海外玩家
- 观点鲜明:结论必须有态度,"行业发展前景广阔"这种话永远不要出现
- 关键词百科:15 个词条覆盖核心概念/技术术语/商业模式/财务/全球格局,每条含"不是什么"边界
- 大白话:每条关键词有生活化类比,让非专业人士也能看懂
- 透明呈现:残余不确定性清单必出,坦率说不知道的部分
重要约束
- 不编造数据。搜索不到就标注"数据暂缺"
- 不重复搜索。如果 30 分钟内的会话中已分析过同一行业,直接复用 JSON
- HTML 模板零硬编码。所有文本通过 JSON 占位符驱动
- 零 JS 图表依赖。数据可视化用纯 CSS 条形图(横向条形 + 堆叠份额条),HTML 可离线打开
- 响应式适配。桌面/平板/手机三种断点自适应
- 波特五力用文字表格,不用雷达图(评分必须带理由和趋势)
技术依赖
- WebSearch × 6-8(并行数据收集,含机构观点+争议分歧路)
- 公司→行业映射(可选数据能力,不可用时 WebSearch fallback)
- generate_report.py(JSON→HTML 渲染,纯 CSS 条形图,零外部依赖)
- HTML 模板(
references/html_template.html,占位符驱动) - twu-output-guard(输出闸门 standard 档)
- 时间审计规则(
references/data_time_audit_rules.md,P0) - 质量闸门(
references/quality-gate.md)
变更记录
| 版本 | 日期 | 变更 |
|---|---|---|
| v1.0.0 | 2026-08-17 | 首次正式发布(SkillHub)。基于 v0.4 系列开发版重置:行业锚定卡、数据铁律(来源+时点)、文字五力、关键分歧、反叙事、残余清单、监控变量、降级模式、输出闸门;HTML 纯 CSS 条形图零 JS 依赖;补全 data_time_audit_rules.md 与 quality-gate.md 引用;修复搜索词年份硬编码为动态生成 |