Install
openclaw skills install @haiyangchenbj/vendor-summit-reportBuild an executive-oriented deep-dive report for a major data/AI vendor conference — Snowflake Summit, Databricks Data+AI Summit, Microsoft Build, Google Clo...
openclaw skills install @haiyangchenbj/vendor-summit-report为数据/AI 厂商大会(Snowflake Summit、Databricks DAIS、Microsoft Build、Google Cloud Next、AWS re:Invent 等)生成面向行业内参/高管视角的深度专题报告。一次产出三个口径一致的版本:淡色 HTML + 完整 MD + 企微推送版。
触发条件(满足任一即用):
典型场景:Snowflake Summit 报告做完后,Databricks DAIS 结束 → 用同一套结构产出 DAIS 报告。
.num)这四条是"内参综述"升级为"analyst research note"的关键。缺任何一条,报告都会退回到"厂商 friendly coverage"的水平。
vendor-reported / customer-reported + "未经独立验证/基准测试",并建议以自有负载 POC 验证。禁止裸引官方"显著优于竞品 X"(如"显著优于 Ray/Daft")。核心判断区加一句"数据来源说明",客户实证表列头标"(vendor/customer-reported)"并加"分析师注"。报告的绝大部分价值取决于读者是否真的读进去。这一节把"版式"从审美问题变成可核查的契约。
判断句标题 + 导语 + 要点行。三者缺一即视为该条目未完成。
.card-h):必须可独立读懂,是判断而不是名词短语。不加句号。
.lead):交代背景与事实基础,2-4 行,字重稍轻。.pts li):单条控制在 1-2 行,可扫读。并列要点用列表,不要写成连续段落。| 组件 | 类名 | 用途 | 判据 |
|---|---|---|---|
| 条目卡 | .card(内含 .card-num) | 观察、产品、买方条目的统一骨架 | 一条独立判断成条时用 |
| 判断句标题 | .card-h | 结论先行 | 只看标题能获得完整判断 |
| 导语 | .lead | 背景与事实 | 条目开头交代事实基础 |
| 要点行 | .pts > li | 并列事实/论据,方点标记 | 一屏内可扫读 |
| 数字强调 | .num | tabular-nums 加粗 | 只出现在产品层与事实层 |
| 引述块 | .pull / .pull-lead | 承担判断的单句;.pull-lead 用于节首 | 该条目的结论句 |
| 独立判断行 | .judg | 不依附卡片的判断 | 段末结论 |
| 限定条 | .lim + .lim-t | 边界、风险、口径 caveat | 有需要显式标注的限制 |
| 小字注 | .note | 数据来源、口径不可比声明 | caveat 集中出现处 |
| 状态徽标 | .badges > .badge(.b-ga / .b-prev / .b-arch) | GA / 预览 / 架构层 | 替代原来的括号前缀 |
| 流程条 | .flow > .flow-step + .flow-arrow | 步骤、阶梯、管线 | 有先后或递进关系 |
| 优劣势双列 | .swot + .swot-col.pro / .con | 优势与风险并列 | 把顿号长句拆成条目 |
| 分层栈 | .layer-stack > .layer | 层间存在包含或依赖关系 | 见下方判据 |
| SPA 块 | .spa | 带年份与置信度的预测 | 总结区一条 |
.layer-stack 的使用边界:只有当层与层之间存在包含或依赖关系(上层依赖下层提供的能力)时才用。若各参与方是并列或竞争关系,改用 .cmp-table 或 .swot。跨厂商的生态分层若由分析者归纳而非厂商自述,必须在同段加一句说明视角来源。.pull 与 .judg:.pull 依附于某个条目、是该条目的结论;.judg 用于板块级的独立判断,不归任何条目。二者不要连用堆在同一段。.card-h 写成名词短语.num 承载产品数字| # | 章节 | 内容 | 视觉形式 |
|---|---|---|---|
| 01 | 核心判断 | 1 句核心命题 + 战略前提 + 4 个 takeaway + 关键数字 fact-strip + 数据来源说明(一句 vendor caveat) | verdict 卡 + takeaway 网格 + fact-strip + .note |
| 02 | 具体观察 | 4-5 个纯洞察(怎么看/意味着什么),无产品参数,无祈使/说教句 | .card × N:card-num「观察 01…N」+ .card-h 判断句 + .lead + .pts,结论句用 .pull |
| 03 | 产品全景 | 5 个战略级产品叙述(数字在此,标 GA/Preview 状态)+ 其余产品可折叠表 + 产品栈分层 | .card(.badges 状态徽标 + .card-h + .lead + .pts + .lim)+ details 折叠表 + .layer-stack |
| 04 | 客户实证 | 4-5 个生产环境案例,列头/节首标"(vendor/customer-reported)" + 分析师注 | .customer-grid + .info-box 分析师注(内含 .pts) |
| 05 | 竞争格局 | 对比表 + 收敛判断 + 主场≠客场 + 优势风险。分析角度按本次大会实际竞争态势定 | .cmp-table + .comp-row(优势风险用 .swot 双列) |
| 06 | 对买方的建议(So-What) | 分角色可执行建议:数据平台/AI平台/采购/竞品厂商 | .buyer-grid × 4(.brole + .bjudg 判断句 + .pts) |
| 07 | 行业延伸 | 本次大会引出的行业级命题(角度随会而变)+ 2-4 个待验证问题 | .pull-lead + .pts + .judg + 视命题选 .cmp-table / .layer-stack + .q-item(qnum + qh + p) |
| 08 | 总结 | 一页式收束 + 短期/中期/长期三层判断 + 一条 SPA(带年份+置信度) | .summary-hero + .pts + .pull + .judgment 网格 + .spa |
⚠️ 05/07 段的分析框架是内容不是模板。Snowflake 报告用了"数据重力论""多层治理生态"——那是 Snowflake Summit 的实际命题所引出的。做别家大会时,丢掉这些具体框架,从本次大会真正抛出的行业命题重新提炼延伸角度(Databricks 可能是开放湖仓/Lakehouse 标准之争、微软可能是生产力 Agent 的组织渗透,等等)。 ⚠️ 05 段必须保留"主场≠客场"这一层:厂商在其主场市场的优势,外推到其他市场需要额外证据。缺这一层,竞争格局会变成把厂商自述的定位当结论。 ⚠️ 06 段"对买方的建议"是分析师标准的硬性要求(见上方分析师机构标准第 3 条),不可省略。角色和建议内容按本次大会实际情况定,但四类角色框架保持。
.badges 徽标而非括号前缀;其余进折叠表。产品栈分层若确实存在包含关系,用 .layer-stack。
4.3 写"对买方的建议"(So-What,必做):分四类角色给可执行判断——数据平台负责人 / AI 平台负责人 / 采购 / 竞品厂商(含国内云厂商)。内容按本次大会实际情况定,但典型逻辑:未 GA 不押生产先 POC、接口按通用标准选型避免锁定、合同要求可复现基准、竞品找对方未建壁垒的维度切入。每角色先给一句判断(.bjudg),再给 2-4 条要点。
4.5 提炼行业延伸角度(不要套旧框架):问自己——这场大会真正抛出了什么行业级命题?是标准之争、范式迁移、生态卡位、还是某个能力成为新门槛?顺着它做延伸。只有当本次大会内容确实指向"分层结构且层间存在依赖"这类命题时,才用 .layer-stack;参与方是并列竞争关系时改用 .cmp-table 或 .swot。
4.7 总结区放一条 SPA:带年份+置信度的 Strategic Planning Assumption,忌"必然/难撼/决定性"等绝对词。@templates/report-template.html 作为 HTML 基础,替换内容(保留 CSS、导航逻辑、reveal 脚本、全部阅读组件样式)@templates/report-template.md 作为完整 MD@templates/wecom-template.md 作为企微版基础<h1> 主副标题 / hero 副标题 / 抬头 / 关键事实表 / 表格口径 / caveat 句,逐项在三个文件里对同一字符串计数,数量不一致即漏改(2026-09-11 教训:HTML 的 <h1> 副标题漏同步一轮才发现)。
5.5 HTML 版式落地(三段式切分):把已成稿的叙述按阅读版式契约切分——每段识别判断句→提升为 .card-h,事实背景→.lead,并列论据→.pts,结论句→.pull,caveat→.lim/.note。此步只做切分与强调,不改写文字。改版后必做两项核验:① 结构配平(section/div/article/ul/li/p/table/tr/td/strong/b/span/details/h3 逐一 open=close);② 内容零丢失——改版前 dump 纯文本快照,改版后按字符级 diff,差异须逐条归入「引号规范 / 标点随分块调整 / 新增结构标签 / 已知修正」四类,出现第五类即回滚排查。▍;结构=核心判断(含 vendor caveat)+五观察+产品全景+竞争+对买方的建议+待验证问题+总结(含 SPA);结尾固定"完整报告见 HTML 附件。";同样禁祈使句/绝对词。
len(text.encode('utf-8')) 实测,不要目测字符数):
.card-h 是否都是判断句、有无残留裸段落;检查章节编号无 off-by-one(.sec-no 与注释编号一致);HTML 用浏览器预览确认首屏是核心判断而非导航。grep 复核残留:必须分清|需先分清|印证:|必然|难撼|逻辑自洽|决定性。红线配额:破折号 —— 全篇 ≤ 5、对举句("不是…而是""而非")≤ 3。注意 .card 类文献里的破折号常紧邻 </strong>/</span>,MD 与 HTML 不能共用同一组替换锚点,必须分别 dump 命中后逐条判定。
7.5 reader-fit 阅读测试(推荐,机制取自 tech-content-review-panel §Step R):机械复核保证的是"没有违规",reader-fit 保证的是"读者真的读得懂"。适用于本类报告,审核文档与报告同目录落盘,命名 <报告名>_reader-fit审核.md。
push_*.py 脚本模式(WeComChannel + GitHubPagesChannel):照抄一份现成 push_*.py(如 push_ffa_report.py),只改 md_path/html_path/GITHUB_REMOTE_PATH/commit 文案;企微走正式群前按"对外操作先确认"跟用户核对渠道与目标群;GitHub Pages 部署到 analyst-perspectives/<slug>.html 独立路径,不覆盖日报 index.html。Pages 上传成功不等于立即可访问,构建期间返回 404,需轮询(每次 10 秒,交叉验证一个已知可用路径先确认 Pages 本身正常)。@templates/report-template.html — 淡色 HTML 全量模板(CSS 变量、固定导航、fact-strip、verdict 卡、全套阅读组件、layer-stack、scroll reveal、nav active 脚本)。文件头有复用清单、必须替换项、版式契约、组件判据四段说明。@templates/report-template.md — 完整 MD 模板(8 段结构参照)@templates/wecom-template.md — 企微推送版模板(▍ 分节、中文冒号、字节预算分层,正文实测约 3.7K 字节)这三个模板是 Snowflake Summit 2026 的成品。复用它们的:CSS/样式、阅读组件、章节骨架、导航逻辑、写作纪律、企微格式。替换掉它们的:所有厂商名、产品、数字、案例、洞察,以及 05/06/07 段的具体分析框架。样式和结构不要动,内容全部换新。
.num 都不用。.card-h 写"产品全景""本体架构"等于浪费了最容易读到的一行。要写成可独立读懂的判断。.sec-no 显示 06 的问题。改版后逐个 section 核对注释编号与 .sec-no 一致。<h1> 副标题、hero 副标题、表格口径还留着旧版。收尾必须做跨文件关键串计数比对。len(text.encode('utf-8')),超了按分层的删减顺序处理,别目测、别先删买方建议。data-ai-daily-brief(注意不是 daili)。.layer-stack 呈现并列关系:层与层之间不是包含/依赖关系时,分层栈会误导读者以为存在架构承继。并列或竞争关系用 .cmp-table / .swot。.sec-no 为 01–08 无 off-by-one.num).card-h 全部是可独立读懂的判断而非名词短语;标题单独抽出能读出对象—关系—方向;无 200 字以上裸段落.badges 徽标;.layer-stack 仅用于层间包含/依赖关系;.pull 与 .judg 未堆叠必须分清|需先分清|印证:)、无绝对词(grep 必然|难撼|逻辑自洽|决定性)—— ≤ 5;对举句 ≤ 3▍、分隔符为中文冒号,含 vendor caveat 与买方建议,无祈使句/绝对词