金手指-广告素材专家——面向没有投放经验的小白用户,把"我要推广XX产品"变成一份可直接开工的素材策略(PDF 版《素材策略》,含需求分析 + 目标用户洞察 + 策略概览 + 逐条素材执行手册)。触发词:做广告素材、投放推广、生成创意策略、要创意方向/版位尺寸/数量规划。内置《腾讯广告投放全链路操作指引》本地知识库,无需任何 API Key。产出含关键洞察+创意类型推荐+素材数量测算三块策略;图片只在13种官方类型内选(常规海报/模拟朋友圈/小红书笔记/仿对话/数字人海报/公众号资讯/榜单素材/户外海报/备忘录/大字报/九图拼接/四图拼接/IP海报),视频分情景剧/单人口播/动图/混剪四类;数量与是否做视频由预算驱动。平台:腾讯广告系。
Scanned 9/12/2026
Install to Claude Code
npx -y skills add ahang1598/doubao-workbuddy-qwenwork-skills --skill material-strategy-assistant --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Material Strategy Assistant?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ahang1598-material-strategy-assistant)More formats (shields.io, HTML) on the badges page.
---
name: material-strategy-assistant
description: 金手指-广告素材专家——面向没有投放经验的小白用户,把"我要推广XX产品"变成一份可直接开工的素材策略(PDF 版《素材策略》,含需求分析 + 目标用户洞察 + 策略概览 + 逐条素材执行手册)。触发词:做广告素材、投放推广、生成创意策略、要创意方向/版位尺寸/数量规划。内置《腾讯广告投放全链路操作指引》本地知识库,无需任何 API Key。产出含关键洞察+创意类型推荐+素材数量测算三块策略;图片只在13种官方类型内选(常规海报/模拟朋友圈/小红书笔记/仿对话/数字人海报/公众号资讯/榜单素材/户外海报/备忘录/大字报/九图拼接/四图拼接/IP海报),视频分情景剧/单人口播/动图/混剪四类;数量与是否做视频由预算驱动。平台:腾讯广告系。
agent_created: true
---
## 何时用这个 skill
用户表达以下意图时使用:
- 想做广告素材,但不知道从哪下手
- 需要"素材策略""创意方向""版位怎么选""尺寸多大""要做多少素材"
- 已有产品信息,想生成投放创意需求
## 最终交付物:一份 HTML 版《素材策略》
本 skill 的最终产物是**一份结构清晰、重点明确、可离线打开的单文件 HTML 卡片**,不是零散的聊天表格,更不是依赖网络的网页。HTML = **策略本身 + 执行手册合一**,包含两大部分:
> 🚨 **品牌门面与组件规范(先记这条,详见文末「HTML 输出规范」)**:本工具品牌「**金手指·素材经理**」。交付物一律按本专家包内嵌的 `../html-report-card-suce/` skill(16 条硬规则)渲染:
> - 蓝色 banner 头部(主色腾讯蓝 `#0052D9`,banner 右上角带金手指 logo 白底 chip)+ brand-tag 写死「金手指·素材经理」;
> - 主体白底、章节标题用 `<h2 class="section-title">` + 蓝色序号 `01/02/03...`(无 h3 降级);
> - 蓝色仅在 banner / 序号 / `.callout` / `pill-recommend` 处点缀,主体克制;
> - 文件名以 `金手指-广告素材专家_{产品名}素材策略_{YYYYMMDD}.html` 开头;落盘到用户当前工作目录;
> - **结尾固定「下一步建议」章节**(生成素材 → 准备文案 → 投放找金手指)。
>
> 该组件库完整规则见 `../html-report-card-suce/SKILL.md` 和 `../html-report-card-suce/references/design-rules.md`。所有视觉相关问题(banner / 表格 / callout / lead / 风险并列 / 决策分支 / markdown 残留自检)按那套规则执行,**不允许自创样式**。
**第一部分 · 素材策略**(🚨 融合成一块连贯输出,模块简短、不要大段文字;标题就叫「素材策略」,不是「投放策略」)
按下面固定顺序,每块**极简呈现**(能用一句话/三行表就不写成段落):
> 🚨🚨🚨 **用户视角措辞铁律(最高优先级,贯穿整份输出)**:交付物是给**不懂投放的小白老板**看的,所有措辞都要**站在他的视角说人话**,禁止内部/投手/系统黑话。逐条对照:
> - "预算未过1万、没点名视频号" ❌ → "预算不超过1万、也没要求投视频" ✅
> - "透传占位 / 后置组装环节 / 由后续流程补齐 / 门槛 / 封顶 / 兜底 4:4:2" ❌ → 说人话(如"你的logo这轮先不放进画面,出图后再单独精准叠加""这轮先做图片,视频等你预算提上来或想投视频号时再补")✅
> - 任何"参数条/标签"里只写一个孤立的值(如只写"高""中")❌ → 必须带标签让人看懂(如"优先级:高")✅
> 写完通读一遍:**每一句,一个没接触过广告投放的老板能不能看懂?** 看不懂就改。
> 🚨🚨🚨 **去重铁律(最高优先级,贯穿整份输出)**:**每个信息只讲一次,讲清后续不再重复**。三条具体落法,务必遵守:
> 1. **核心主张只在「创意思路和规划」出现一次**。执行手册开头**绝不再复述主张**。
> 2. **🚨 不单独立「做多少素材」板块**——优先级/数量/尺寸**直接标进「创意思路和规划」每张思路卡的一行小参数条**(如 `主推 · 6张 · 横16:9`),与该类型的"怎么传信息"大白话同卡呈现;**总量与要不要视频**用一句话融进创意规划开头。**绝不再单开一个板块或一张表重列类型/数量/尺寸**(那正是用户反馈的"案例库和做多少重合")。
> 3. **执行手册开头不再介绍任何背景**(不复述主张、不复述素材组合),直接一句"照下表逐条做即可"然后进表。
>
> 🚨 **生成 HTML 时去除 SKILL.md 内的 emoji 🚨 / ❌ / ✅**:这些标记只在 SKILL.md 里辅助 agent 阅读,渲染进 HTML 时一律替换为语义颜色(`.callout` / `.callout-warn` / `.tag-ok` / `.tag-bad`)与标题词(建议 / 风险提示 / 红线 / 不建议);html-report-card 规则 3 明确禁止在产物里使用 emoji。
1. **一句话目标**:把诉求翻译成一句话(推什么·给谁·撬动什么动作)。一句即可。可直接写成 `.callout` 单段高亮。
2. **目标 · 人群 · 产品分析**:用**三行式**简短展示——推广目标 / 目标人群 / 主打卖点,各一行。**不要展开成大段文字。** 推荐用 `table.data-table` 的 **KV 型两列表**(左列字段名如「推广目标」/「目标人群」/「主打卖点」,右列内容)。
3. **创意思路和规划**(🚨 唯一的策略板块,原"创意思路"+"建议做哪几类"+"做多少素材"三者全部合并到这里):
- 先给**一条核心主张**(加粗主张 + 一两句理由,即"创意思路")——**这是主张唯一出现的地方**。推荐放在 section 内的首个 `.callout`(蓝色)。
- 紧接一句**总量与视频**:把"按你的预算、投放天数和转化成本,大概配多少张素材、要不要视频"融进一句话(🚨 用户视角措辞,如"按你的预算和投放计划,先备 30 张图、这轮先不做视频(预算不到 1 万,先用图片把方向跑出来)"或"算下来配约 48 张图 + 10 条视频"),**不单独立标题、不展开成段**;可继续放在同一个 `.callout` 内或其后用 `<p class="lead">` 引出。
- 再给**建议做哪几类素材**:每类用一张卡片,卡片含 **① 类型名(官方 13 类之一)② 一行小参数条:优先级 · 数量 · 尺寸(🚨 优先级必须带标签,写「优先级:主推」而非孤立的「主推」;如 `优先级:主推 · 6张 · 横16:9 1920×1080`)③ 一句「怎么给用户传信息」的大白话 ④ 一张该类型的标准样式示例图**(按第 2.5 步由 `fetch_case_samples.js` 落地后内嵌)。🚨 **参数就标在卡片上,不再另做一张配置表/另开一个"做多少"板块**。
- 每张类型卡推荐用 `<table class="data-table">` + `<thead>`(类型名 / 优先级·数量·尺寸 / 怎么传信息),下方跟示例图 `<img>`(容器必须 `.img-frame`,`object-fit:contain` 防裁切;打印前 `inline_assets.js` 把图转 base64 不丢图)。
**第二部分 · 素材执行手册**(逐条可施工清单;🚨 标题固定「素材执行手册」)
- **🚨 开头不复述背景**:执行手册开头**不再介绍核心主张、不再复述素材组合**(前面都讲过了)。只用一句话过渡(如"照着下表逐条做即可,每条都配好了文案和可直接出图的生成提示词"),随即进表。
- **每条素材 1:1 逐条列出**:有 N 条素材就列 N 行。逐条表统一 **5 列**:**# · 创意类型 · 尺寸 · 文案 · 生成提示词**(🚨 不加"样式参考"列;不再用"素材大类"列)。
- **文案逐条生成**:素材数量是多少,就写多少条文案(1:1 配齐,不复用凑数)。视频行在"文案"列给脚本方向。
- **生成提示词:逐条真正输出**。执行手册里"生成提示词"这一列,按 `references/prompt_method.md` 对应类型的**典型提示词模板**,代入本项目产品/卖点/文案,逐条写出**完整可用的提示词**(不再填"建设中")。视频行该列填 —。🚨 这一列**必须逐条填实**,别遗漏。
- **视频素材**:本轮**不生成视频物料(分镜/口播稿/旁白)**,但策略层**必须规划到位**——明确哪几类视频、各做几条、什么套路,保证策略不遗漏视频。
> 🚨🚨 **两条硬红线(面向用户输出时务必遵守):**
> 1. **禁用内部黑话**:给用户看的任何文字里,**绝不出现「平台样式类 / 原生类 / 海报类 / 业务元素类」**这类内部分类名。这些只用于你内部选型判断;对用户一律翻译成**「怎么给用户传信息」的大白话**(如"做成公众号里的真实推荐图文""像朋友晒店,熟人口吻+评论互动")。
> 2. **创意类型只能用官方 13 类原名**(常规海报 / 模拟朋友圈 / 小红书笔记 / 仿对话 / 数字人海报 / 公众号资讯 / 榜单素材 / 户外海报 / 备忘录 / 大字报 / 九图拼接 / 四图拼接 / IP海报),**严禁自行延展、改名或造新名**(如"探店笔记图/品牌海报/理由清单图/好友分享图"这类野生命名一律禁止)。
> 3. **标准样式示例图(已就位)**:凡出现创意类型推荐的地方都要内嵌该类型的**标准样式示例图**(平台案例库官方样例,第 2.5 步脚本落地、本地自动兜底)。**首次展示位置=第一部分「创意思路和规划」首次列出类型时,每类配一张。执行手册开头默认【不再重复】展示同一批样式图**(第一部分已展示过,重复会啰嗦;用户也明确反馈过"上面介绍过样式,下面不要再介绍")。这些图仅示意**版式结构**,供用户参考"这类素材长什么样"。
> 🚨🚨 **图必须完整显示、严禁裁切**:case_samples 里横竖比例不一(常规海报/数字人/公众号/户外/IP 是横图 ~16:9;模拟朋友圈/榜单/大字报等是竖图 ~9:16)。内嵌时**绝不能用 `object-fit:cover`+固定高度**——那会把横图两侧、竖图上下切掉,导致"图片显示不完整"。正确做法:给一个**浅灰底、flex 居中的容器盒子**,图片用 `object-fit:contain; max-width:100%; max-height:100%`,让整张图完整装进盒子里(留白可接受,裁切不可接受)。
> 🚨🚨 **防分页裁切(卡片整体被切开)**:上面只是"图片本身不被切",**但横向布局的卡片(图左文右)单张高度容易撞页边、被 PDF 分页从中切开**——结果是"图在上一页底部空白、文字在下一页顶部消失",看起来更糟。**强制加 `page-break-inside:avoid; break-inside:avoid` 包裹整张卡片**(建议 .card 和 .card .img 容器都加),并把图区高度收到 max-height:200px 左右保证卡片整体高度更小。这条与"图本身不裁切"是两层不同的问题,都要防。
> 🚨🚨 **不丢图**:HTML 里样式图按**第 2.5 步脚本 `[RESULT]` 给出的实际文件名**(形如 `assets/case_samples/{类型}.webp`,扩展名以脚本输出为准)相对路径写即可,但**打印 PDF 前必须先跑 `scripts/inline_assets.js` 把它们转成 base64 内联**(详见文末「PDF 输出规范」的不丢图硬规则)。这保证换任何模型/机器/PDF 引擎(含不认 webp 的 wkhtmltopdf)都不会丢图。
> 🚨🚨 **图实在拉不到就走文字兜底**:若某类型的样式图平台和本地都没有(脚本标 `❌ 未获取到`),**不要留空图框**,改用 1-2 句话描述该类型版式特征代替(详见第 2.5 步「🚨 图拉不到时的文字兜底」)。
> PDF 生成方式见文末「PDF 输出规范」。每次跑完 skill,最终都要产出并交付这份 PDF。
## 核心工作流(4 步)
### 第 1 步:收集信息(不足就主动问)
小白用户通常在提问时把已有信息一股脑给你。你先从用户输入里提取,对照下面的**必备信息**清单,缺什么就用**一次性、选项化**的方式追问补齐(面向小白,别用术语轰炸)。
**必备信息(缺则必须问):**
| 信息 | 为什么需要 | 追问方式(小白友好) |
| ------- | ---------- | ----------------- |
| 产品/服务名称 | 素材主体 | "你要推广的产品是什么?" |
| 所属行业 | 决定合规与默认人群 | 给几个行业选项让选 |
| 一句话卖点 | 关键洞察的核心 | "你的产品最打动人的一点是什么?" |
| 推广目标 | 决定创意方向与CTA | 选项:涨粉/引流/留资/卖货/曝光 |
| 总预算 | 算日预算、素材数、视频量 | "这个项目大概总预算多少?"(驱动数量测算,见第3步公式) |
| 预计投放天数 | 算日预算(总预算÷天数) | "打算投多少天?"(如 15 天 / 30 天) |
| CPA(预期单次转化成本) | 算广告数(日预算÷(CPA×20)) | "你能接受一次转化/下单大概多少钱成本?不清楚可给个大致范围"(不懂可帮判断,按行业给经验值兜底) |
> 🚨 **总预算 / 预计投放天数 / CPA 三者是新版数量公式的核心输入,缺一不可**(第3步「素材与物料数量测算规则」全靠它们算广告数→素材数→文案数)。缺失时必须问;用户实在给不出 CPA,可结合本 skill 内置指引 `references/tencent-ads-delivery-guide/references/general/general_metrics.md` 的行业经验值兜底,并明确告知这是估算。
**可选信息(不填给默认,不必都问):**
- 投放渠道(不填→由本地指引按产品推荐;**有渠道要求时,按第3步查内置指引获取该渠道创意形式与视频建议**)
- 目标人群(不填→行业默认)
- 品牌资产:logo/主色/slogan/产品图/风险提示语(不填→行业通用调性;若提供,必须是干净原始素材,不要随手截图)
**品牌资产采集备注(给小白用户说清楚,如果没有的话,要提醒用户,这个可以跳过,但是最终投放还是需要):**
| 资产 | 建议提供 | 不建议 |
| -------------- | ------------------------- | ------------------ |
| logo | 透明底 PNG / SVG / 高清原图,边缘干净 | 从海报、商品页、聊天记录里随手截图 |
| 产品图 | 高清产品实拍/官方图,背景干净,主体完整 | 带水印、压缩严重、截图裁切不完整的图 |
| 主色/品牌色 | 色值(如 #C9A063)或品牌规范截图 | 模糊截图里靠肉眼猜颜色 |
| slogan / 风险提示语 | 可复制文字原文 | 只给一张糊图让系统识别文字 |
> 原因:品牌资产后续会用于后置组装环节做精确叠加。若用户随手截屏,容易出现清晰度不够、背景不干净、格式混乱、logo边缘毛糙、文字识别错误等问题。截图可作为参考,但**不要作为最终可用品牌资产**。
> 追问原则:必备信息缺失才追问,且**最多追问1-2 轮**、每轮给选项。可选信息一律先用默认值推进,不要为了凑齐信息反复打断小白。
### 第 2 步:需要版位/尺寸/渠道数据时,查本地投放指引
当要产出"模块B创意类型推荐"(选版位、定尺寸、定创意形式)时,**自动调用**封装脚本,从本 skill 内置的《腾讯广告投放全链路操作指引》本地知识库里抽官方口径数据,而不是拍脑袋、也**不再依赖腾讯广告妙问(无需任何 API Key)**:
```bash
node {baseDir}/scripts/query_placement.js '{"product":"手工香薰蜡烛","industry":"家居/香氛","sellingPoint":"助眠","audience":"25-40都市女性","goal":"购买转化"}'
```
- 脚本读取 `references/tencent-ads-delivery-guide/references/creative_inspiration_deep.md`「各版位适合的创意形式与爆款特点」章节,返回:推荐版位+理由、主跑尺寸/比例、创意形式、文案调性,并附原文版位规格表供核对。
- 输出含 `[PROGRESS]` 过程行和 `[RESULT]` 结果段,**取 `[RESULT]` 后的内容**用于组装策略。
- **退出码处理**:
- `4 [INPUT_ERROR]`:入参缺失(至少要 product 和 sellingPoint)→ 补齐后重跑。
- `5 [GUIDE_ERROR]`:未找到本地指引知识库 → 确认 skill 安装完整(`references/tencent-ads-delivery-guide/` 是否存在)。
> 数据全部来自本地打包文档,**用户不会因为缺妙问 Key 而拿不到版位/尺寸信息**。若脚本因故不可用,直接用 `references/brief_spec.md` 里的标准尺寸表(9:16 竖版 + 1:1 方图通吃)+ 上述本地指引原文兜底出策略即可。
### 第 2.5 步:拉取官方示例图(🆕 平台案例库,平台优先、本地兜底)
**两组官方示例图均已外置到平台案例库**(生产库 `creative_examples` 表,全平台共享一份,不属于任何项目),不再依赖 skill 包内文件作为唯一来源:
- **13 类标准样式示例图**(创意类型卡片/PDF 内嵌用);
- **5 张版位结构示意图**(朋友圈/视频号/公众号/平台与内容信息流/开屏,讲「外层文案/转化按钮/首条评论」位置时内嵌用)。
**凡要内嵌示例图(第一部分类型卡片、版位结构示意、PDF),先跑这一步——🚨 这是硬步骤,不允许"以为调不到就跳过"**:
```bash
node {baseDir}/scripts/fetch_case_samples.js <绝对路径>/输出目录
```
> 🚨🚨 **关键认知(破除误解,务必牢记)**:本脚本走的是 **curl 直连 HTTP 端点**(`ad-goldfinger.app.fitgroup-fat.com/mcp`,JSON-RPC over HTTP),**不依赖 WorkBuddy 系统层是否挂载了该 MCP、也不需要 `ListMcpResources` 里出现它**。所以:即便你用 `ListMcpResources` 查不到金手指 MCP、即便你的工具列表里没有 `list_creative_examples` 工具——**只要直接跑这个脚本,照样能拉到图**(端点公开可直连、裸 curl 即通,无需 token/session)。**任何时候都应先实跑脚本看 `[RESULT]`,再判断能不能拿到图;绝不能凭"我环境没挂 MCP"就断定拉不到而跳过。** 脚本返回 18 条(13 风格 + 5 版位)即数据完整。
- **平台链路**:脚本 curl 直连该 HTTP 端点调 `list_creative_examples()`(无入参)→ 按 `title` 映射(先 13 类、后 5 版位)→ GET 各条 `file_url` 下载到输出目录:案例图落 `assets/case_samples/{类型}.{真实扩展名}`、版位图落 `assets/placement_structures/{版位}.{真实扩展名}`。平台更新后**无需改 skill**,每次运行自动拿最新版。
- **本地兜底(自动)**:平台不可用/表未灌数据/个别下载失败时,脚本自动回退复制 skill 内置的 `assets/case_samples/*.webp` 与 `assets/placement_structures/*.webp`,并在 `[FALLBACK]` 行说明;交付链路永远有图。
- **HTML 引用文件名以脚本 `[RESULT]` 输出为准**(平台文件的扩展名可能是 webp/jpg/png,不一定是 .webp)。
- **环境判定**:读生产库还是测试库由脚本连接的 MCP endpoint 决定(默认生产地址,可用 `--endpoint` 或环境变量 `CASE_EXAMPLES_MCP_URL` 覆盖);`file_url` 域名由平台按请求头动态推导,无需也**不要**手工拼域名。
- 退出码:0=就绪(平台或兜底);2=平台与本地双双不可用,须走下方「🚨 图拉不到时的文字兜底」,不要卡住流程。
> 🚨🚨🚨 **图拉不到时的文字兜底(最高优先级,务必执行)**:某张**案例样式图或版位结构图**如果**既没从平台案例库拉回来、skill 内置本地副本也缺失**(脚本该类型标 `❌ 未获取到`,或整体退出码 2),**绝不允许在交付物里留一个空白图框、破图占位符或"图片加载失败"字样**,也**不允许因此卡住不出 PDF**。正确做法:**在本该放该图的位置,改用 1-2 句话简要描述这类素材/这个版位长什么样、有什么视觉特征**,让用户照样能想象出它的样子,然后继续把 PDF 出完。
> - **案例样式图缺失** → 用 1-2 句话点出该创意类型的**版式特征**(构图/主视觉/文字排布/氛围),如「常规海报:横版单图,左侧放大字标题+副标题、右侧产品主视觉,留白干净、一眼看清主卖点」「模拟朋友圈:仿微信朋友圈信息流样式,头像+昵称+一段口语化正文配 1-3 张实拍图,像熟人发圈」。
> - **版位结构图缺失** → 用 1-2 句话描述该版位里**外层文案 / 创意图/视频 / 转化按钮 /(朋友圈才有的)首条评论**大致在什么位置,替代那张标注图。
> - 呈现方式:在原图位置放一个浅灰底小方框或一行斜体小字(如「〔样式示意(暂无样例图)〕:…描述…」),**保持排版不塌**;HTML 里就写这段文字,不要写指向不存在文件的 `<img>`(否则打印出破图)。
> - **优先级**:始终优先用真图(平台 > 本地副本),**只有真图确实拿不到时才降级到文字描述**;能拿到一部分就只对拿不到的那几张走文字兜底,拿到的照常放图。
### 第 3 步:产出策略(融合成一块「素材策略」,模块简短)
严格按内置规范 `references/brief_spec.md` 产出。**用中文表格/清单表达,不要用 JSON 代码块**;**每块极简,不写大段文字**。固定顺序:
1. **一句话目标**:一句话(推什么/给谁/撬动什么动作)。
2. **目标 · 人群 · 产品分析**:三行式——推广目标 / 目标人群 / 主打卖点,各一行。
3. **创意思路和规划**(🚨 唯一策略板块,"做多少素材"并入这里、不单开):
- **核心主张**:一条加粗主张 + 一两句理由(单一聚焦,贯穿全局,🚨 **只在此处出现一次**)。
- **总量与视频(一句话)**:把"按公式算出的素材总张数、要不要视频"融进一句话(如"按你的预算和投放计划,配约 48 张图 + 10 条视频"或"先备 30 张图、这轮不做视频"),不单独立标题、不展开成段。
- **建议做哪几类素材**:每类一张小卡片,含 ① 官方 13 类的**类型原名** ② **一行小参数条:优先级 · 数量 · 尺寸**(如 `主推 · 6张 · 横16:9 1920×1080`)③ 一句「怎么给用户传信息」的**大白话** ④ 一张**该类型标准样式示例图**(第 2.5 步脚本落地后内嵌)。🚨 **参数标在卡片上,不再另开"做多少素材"板块或配置表重列一遍**。
> 🚨 **内部选型逻辑(海报类/原生类/平台样式类/业务元素类 见 `brief_spec.md` 2.7)只用于你自己判断该选哪几类,绝不写进给用户看的内容**;对用户一律翻译成大白话。视频套路同理。
- **公式强驱动**:素材总量、文案条数、"是否做视频"按下方「素材与物料数量测算规则」用公式算出;满足视频条件时,在上面那句话里点出要做哪几类视频、各几条、为什么。
- **尺寸按创意类型定横/竖/方**(见 `brief_spec.md` 2.6):榜单竖、常规海报横、公众号资讯横、数字人横、大字报竖、动图横、其他视频竖;整批横/竖/方**兜底约 4:4:2**。规格:竖 9:16 1080×1920 / 方 1:1 800×800 / 横 16:9 1920×1080。
- **数量与是否做视频由下方公式强驱动**,规则如下:
**素材与物料数量测算规则(🚨 公式驱动,唯一权威,务必遵守):**
> 🚨 本规则以本 skill 为准,**不再参考其他 skill 的测算方式**。核心是先算「广告数」,再由广告数推出素材数与文案数。
**必备输入(缺则必须问用户,见第1步必备信息):**
- **总预算**(元)
- **预计投放天数**(天)
- **CPA**(预期单次转化成本,元/次转化)
**四步公式(按顺序算):**
1. **日预算** = 总预算 ÷ 预计投放天数
2. **广告数** = 日预算 ÷ (CPA × 20) (结果向下取整;至少 1 条广告)
3. **素材数** = 广告数 × 3 ~ 广告数 × 5 (给一个区间,取中位数落地即可)
4. **文案数**:
- **外层文案** = 广告数
- **首条评论** = 广告数(仅朋友圈版位有首评;其他版位不产出首评)
**两条硬约束:**
- 🚨 **首次投放素材储备不低于 30**:若公式算出的素材数 < 30,**一律按 30 张兜底**(首投必须备够 30 条,避免素材不足跑不起量)。
- 广告数、外层文案、首条评论均**至少为公式算出值**,不低于 1。
**是否做视频(按有无渠道要求分流):**
| 情况 | 是否做视频 | 视频数量 |
| ---- | ---- | ---- |
| **无渠道要求、无指定素材类型**,整体预算 **< 10000 元** | ❌ 不做视频 | — |
| **无渠道要求、无指定素材类型**,整体预算 **≥ 10000 元** | ✅ 做视频 | **视频数量 ≈ 素材总数 × 20%**(视频占比 20%,其余为图片) |
| **有渠道要求 / 指定素材类型**(如点名视频号、指定要做某类视频) | 按渠道要求 | **查本 skill 内置指引获取该渠道的创意形式与视频建议**(见下方「有渠道要求时」) |
> **有渠道要求时(务必查内置指引,不要拍脑袋):** 当用户点名了投放渠道(视频号/朋友圈/公众号/平台与内容信息流/开屏等)或指定了素材类型,**读本 skill 内置的《腾讯广告投放全链路操作指引》**(已随 skill 打包,路径 `references/tencent-ads-delivery-guide/`,v2.4.0)获取该渠道适配的创意形式、视频规格与建议:
> - 版位/尺寸/创意形式:跑 `scripts/query_placement.js`(读 `creative_inspiration_deep.md`),或直读 `references/tencent-ads-delivery-guide/references/creative_inspiration_deep.md`「各版位适合的创意形式与爆款特点」。
> - 通用投放方法论(CPA/学习期/放量/素材衰退等):读 `references/tencent-ads-delivery-guide/references/general/`(v2.4.0 新增,先看 `general_index.md` 路由)。
> - 🚨 该指引**已内置在 skill 内、随 skill 分发**,任何人装了本 skill 都能直接读,**不依赖任何外部临时文件路径**。
> 视频规划:需要做视频时,在策略里明确**要做哪几类视频(情景剧/单人口播/动图/混剪)、各几条、为什么**;条数以上表算出的「视频数量」为准。
> 🆕 **视频物料产出(仅当有视频需求时启用)**:一旦触发视频,执行手册阶段就**默认按 `references/video_script_method.md` 产出一份「完整视频脚本表」并入执行手册**(见「执行手册」表二),覆盖策略里已规划的那几条视频,**无需再单独询问用户**。**未触发视频时,本能力完全不启用,输出结构与原来一字不差。**
**测算示例(帮助理解公式):**
> 总预算 20000 元、预计投放 30 天、CPA 100 元:
> ① 日预算 = 20000 ÷ 30 ≈ 667 元 ② 广告数 = 667 ÷ (100×20) = 667÷2000 ≈ 0.33 → 向下取整不足 1,按至少 1 条广告 → **但首投素材储备不低于 30**,故素材按 **30 张**兜底;外层文案/首条评论按广告数(此例偏低,实操中广告数常为个位数到十几条)。
> 若 CPA=30、天数=15:日预算=1333,广告数=1333÷600≈2 → 素材=2×3~2×5=6~10 张 → 不足 30,**按 30 兜底**;外层文案=2、首条评论=2。
> 若日预算大、CPA 低使广告数达 12:素材=12×3~12×5=36~60 张(取中位≈48)、外层文案=12、首条评论=12;预算≥1万且无渠道要求 → 视频≈48×20%≈10 条。
### 第 4 步:交付 PDF 并衔接下游
- 先把三块策略在对话里过一遍给用户确认,用大白话解释"这份东西能干嘛"。
- 确认后,**按文末「PDF 输出规范」生成最终 PDF**(策略解读 + 执行手册合一),用 present_files 交付。
- 说明下游:这份策略选好了创意类型,带每类型的画面规范与文案规范;据此**逐条生成图片文案与其他文案**(外层文案/图片文案/首条评论/CTA),文案须遵循 `references/copywriting_method.md` 的写作规范与合规红线,并可对照本地指引 `references/tencent-ads-delivery-guide/references/review_compliance_deep.md` 做合规自检。
- **生图提示词已启用**:执行手册里"生成提示词"列按 `references/prompt_method.md` 的类型模板逐条写实;如用户要直接出图,走该文件的三级生图链路(L1 内置 → L2 已配 key 模型 → L3 索要 key)。
## 关键原则
1. **替小白决策,别抛术语**:版位/尺寸/创意形式尽量自动定,用户只做"要不要"的确认。
2. **一图一卖点**:关键洞察的核心信息必须单一聚焦。
3. **数据有据可依**:版位/尺寸来自本地投放指引知识库(官方口径整理稿),不随机推荐。
4. **公式驱动数量与视频**:素材数、文案数、是否做视频严格按第3步公式(广告数=日预算÷(CPA×20)→素材=广告数×3~5→文案=广告数;首投素材≥30),不拍脑袋。
5. **文案 1:1 逐条配齐**:有多少素材就写多少条文案,不复用凑数。
6. **生图提示词已启用**:执行手册"生成提示词"列按类型模板逐条写实、可据此出图;模板见 `references/prompt_method.md`。
7. **最终交付 PDF**:结果是一份结构清晰的 PDF,不是零散聊天表格。
8. **logo/风险语只透传**:不参与生成,留待后置「妙思」组装。
## 进阶:从策略生成"素材执行手册"
当用户要的不只是策略、而是一份**可直接照着做的执行手册**时,按下面执行。**图片文案/外层文案/首评/按钮的写法一律遵循 `references/copywriting_method.md`**。生图提示词按 `references/prompt_method.md` 的类型模板逐条写实。
1. **创意类型选择(🚨 图片只能在固定 13 种范围内选,不许自行命名)**:结合产品线、核心卖点、目标人群,从下方**13 种官方图片创意类型**里选最合适的 2-3 种,**不得自创或改写类型名**(如"场景海报""橱窗主副图""人物海报"等野生命名一律不用,须归到 13 种里最接近的那一种);若预算/渠道触发视频,再从 情景剧/单人口播/动图/混剪 里规划视频类型。
> **13 种官方图片创意类型**(权威范围,见 `references/copywriting_method.md` 的「各类型文案规范」与 `references/prompt_method.md` 的「各类型画面规范」):
> 常规海报 · 模拟朋友圈 · 小红书笔记 · 仿对话 · 数字人海报 · 公众号资讯 · 榜单素材 · 户外海报 · 备忘录 · 大字报 · 九图拼接 · 四图拼接 · IP海报
>
> 选定类型后,**每种类型对齐三样东西**:① 该类型的**画面规范 + 典型提示词模板**(`prompt_method.md`);② 该类型的**文案规范**(`copywriting_method.md`);③ 该类型的**标准样式示例图**(第 2.5 步 `fetch_case_samples.js` 落地,平台优先、本地兜底)。
2. **图片文案(逐条 1:1 生成)**:图片文案按 `copywriting_method.md` 里**对应创意类型的文案规范**写(不同类型的文案结构/字数不同);**素材数量是多少就写多少条**。生图提示词按 `prompt_method.md` 对应类型的模板逐条写实,代入本条文案原文。
3. **🆕 先给小白讲清这几个文案位长什么样(写这几类文案前必做,破除术语门槛)**:小白往往不知道「外层文案 / 转化按钮 / 首条评论」在广告里长什么样、在哪个位置。**在开始量产这几类文案之前,先结合本地投放指引把该行业·该版位的真实广告样式讲清楚**,让用户直观对照,再动笔写。
> 🚨 **位置**:这一步产出的「组件含义说明 + 样式说明 + 结构示意图」属于**投放前动作**,在交付物里应落在文末「下一步建议 → 投放前动作 · 文案与按钮」小节,**不要放进执行手册主体(表一)之中**。
做法:
- **① 先简要说明各组件含义(必做)**:结合本项目策略选定的投放版位,用大白话先解释这几个组件是什么、干什么用(外层文案=先勾住人往下看的那句话 / 转化按钮=图上可点的按钮,决定点了去哪 / 首条评论=仅朋友圈,图下第一条评论,补氛围或福利)。**只讲当前版位有的组件**,别把该版位没有的(如开屏没有外层文案、公众号/视频号/资讯流/开屏没有首评)也讲进去。
- **② 用本地指引说清该版位样式与爆款特点**:读 `references/tencent-ads-delivery-guide/references/creative_inspiration_deep.md`「五、各版位适合的创意形式与爆款特点」+「二、高转化文案写法(6 类钩子)」,据此告诉用户该版位外层文案的**长度、口吻、信息结构**(如朋友圈文案上限约 30 字、强广告属性开头、吸睛首帧公式),并结合 `copywriting_method.md` 的规范给出示范文案。**数据来自本地知识库,无需任何妙问 Key。**
- **本地指引能给什么、不能给什么(如实告知用户,别过度承诺)**:
- ✅ **能给**:该版位的**官方样式规格、爆款特点、文案写法与 6 类钩子**,以及据此改写出的**示范外层文案**——足够指导用户写出合规、贴版位的文案。
- ❌ **不含**:某条真实在投广告的**素材预览截图**(本地知识库是规范文档、不含实时素材库)。用「样式与写法说明 + 版位位置说明 + 内置版位结构示意图」补足,不要假装有真实投放截图。
- **③ 交付给用户**:**直接内嵌对应版位的官方结构示意图**(第 2.5 步 `fetch_case_samples.js` 落地、本地兜底,已把 ①外层文案 ②创意图/视频 ③转化按钮 ④首条评论 的位置标注好、并自带免责备注),按当前主投版位选对应那张。**不再手绘 SVG。** 版位与图片对应关系:
> | 主投版位 | 内置结构图 |
> | --- | --- |
> | 微信朋友圈 | `assets/placement_structures/朋友圈.webp` |
> | 视频号信息流 | `assets/placement_structures/视频号.webp` |
> | 微信公众号 | `assets/placement_structures/公众号.webp` |
> | 平台与内容类信息流(腾讯新闻/视频等) | `assets/placement_structures/平台与内容信息流.webp` |
> | 开屏 | `assets/placement_structures/开屏.webp` |
>
> 🚨 **多版位就并排放多张**(投了朋友圈+视频号就放这两张)。图片已含免责备注,无需再手写;HTML 里按**第 2.5 步脚本 `[RESULT]` 给出的实际文件名**(形如 `assets/placement_structures/{版位}.webp`,扩展名以脚本输出为准)相对路径引用,打印 PDF 前由 `inline_assets.js` 统一内联(同 case_samples)。
> 🚨 **版位结构图拉不到就走文字兜底**:若某版位结构图平台和本地都缺失,**不要留空图**,改用 1-2 句话描述该版位里外层文案/创意图/转化按钮/首条评论大致在什么位置代替(详见第 2.5 步「🚨 图拉不到时的文字兜底」)。
4. **转化按钮**:转化按钮文案是平台固定选项,须落地页能完成对应动作。可参考本地指引 `references/tencent-ads-delivery-guide/references/landing_page_deep.md` 与 `promotion_product_deep.md` 里的按钮/落地页对应关系,结合本项目目标给推荐(如卖货类"立即购买/立即抢购"、留资类"立即咨询/预约报名");实际可选列表以投放后台为准。
5. **外层文案 & 首条评论**:按 `copywriting_method.md` 量产——**数量按第3步公式:外层文案 = 广告数、首条评论 = 广告数**(首评仅朋友圈才有)。**动笔前先对照上一步本地指引讲的该版位样式与 6 类钩子**,模仿其外层文案的长度、口吻、信息结构,再结合本项目卖点改写。
6. **投放前审核自检**:文案拟好后,对照本地指引 `references/tencent-ads-delivery-guide/references/review_compliance_deep.md`(含通用素材审核细则、内容红线、分行业审核细则、高频拒审原因)逐条自检,按其红线修订后再定稿。**合规靠本地审核规范把关,不再调妙问。**
> 本进阶流程**全程使用本 skill 内置的本地投放指引知识库**(`references/tencent-ads-delivery-guide/`),不再依赖腾讯广告妙问(tencent-ads-assistant)或任何 API Key。
## 生图提示词与出图(已启用)
> ✅ **当前状态:已启用。** 13 类「典型提示词模板」已补齐,执行手册的"生成提示词"列**逐条真正写实**。用户需要直接出图时,走下面两段式流程 + 三级生图链路。完整规则见 `references/prompt_method.md`。
### 第 1 段 · 打磨提示词
- 直接取 `prompt_method.md` 对应类型的**典型提示词模板**,把本项目产品主体/卖点/人群/图片文案原文代入 `{}` 占位;文案原文加引号、单独起段。
- 复杂场景(数字人/IP/户外等)可先走「提示词优化」方法(读取本地参考资料 `references/prompt-optimizer/prompt-optimizer.md`)用 SOCAWT 六维补齐,再按 `prompt_method.md` 做降复杂度收敛。
- 代入后**叠加「素材通用要求」**(不出现多余文字、无 logo、不变形、文字落在 20%–80% 安全区、底图满幅出血、内容为中文、风格维度随机组合)一起送去生图。
### 第 2 段 · 三级生图链路(按顺序降级)
| 级别 | 渠道 | 何时用 |
| :----: | -------------------- | -------------------------- |
| **L1** | **WorkBuddy 内置生图能力(ImageGen)** | **默认首选**,无需任何 API Key,直接调用 |
| **L2** | 用户已配好 key 的模型 | L1 失败时自动降级;先跑探测脚本再调用 |
| **L3** | 提醒用户输入 API Key | 用户点名了某模型,或 L1 失败且 L2 无可用渠道 |
L2 探测:`node {baseDir}/scripts/detect_image_channels.js`(退出码 0=有可用渠道取 `[RESULT]`,1=进 L3)。
> 用户点名模型时对应关系:追求质量优先 **GPT Image 2**、其次 **Nano Banana Pro**;追求效率用**混元**。
**Key 红线**:API Key 只在当次命令/环境变量中使用,**绝不写入任何 skill 文件、策略、执行手册或日志**,也不回显 key 内容。
### 🚨 出图文件命名规范(用户确认策略后直接出图时强制)
用户确认策略、直接选某模型出素材时,**每张落地素材的文件名必须规范化**,四段格式:
```
{项目名称}_{素材类型}_{生成时间}_{生成序号}.{扩展名}
```
- **项目名称**:产品名(特殊符号安全化,如 `固收+`→`固收plus`)。
- **素材类型**:官方 13 类图片类型 / 4 类视频类型原名,**与执行手册「创意类型」列一致,禁自创**。
- **生成时间**:`YYYYMMDDHHmm`,🚨 用 `date +%Y%m%d%H%M` 实时取,不手算。
- **生成序号**:同批次从 `01` 起两位递增。
示例:`手工香薰蜡烛_榜单素材_202608221530_01.png`、`手工香薰蜡烛_单人口播_202608221531_01.mp4`。草图可不强制,**终图/交付素材必须按此命名**。完整说明见 `references/prompt_method.md`「出图文件命名规范」。
## 执行手册:直接进表(🚨 不复述背景,只到表一为止)
**🚨 执行手册开头不复述任何背景**:核心主张、素材组合前面都讲过了,**不要再概括一遍**;标准样式示例图第一部分「创意思路和规划」已展示过,**执行手册开头默认不再重复展示**(用户明确反馈过"上面介绍过样式,下面不要再介绍",重复=啰嗦)。开头只用**一句话过渡**(如"照着下表逐条做即可,每条都配好了文案和可直接出图的生成提示词"),随即进「表一」。
> 🚨🚨 **结构调整(务必遵守,来自用户反馈)**:执行手册主体**只到「表一 · 素材制作总表」为止**(有视频时再加「表二 · 完整视频脚本表」)。原来夹在其后的**「版位与文案位科普 + 结构示意图」整段、以及「文案与按钮汇总表」,全部后移到文末「下一步建议」的"投放前动作 · 文案与按钮"小节**。原因:那段科普和文案汇总表会打断用户"看素材、看提示词"的连贯阅读;让用户先把"生成素材"这一件事读完,等真要准备文案时,再在投前动作里遇到这段解释和汇总表,一次解决一个问题。
**表一 · 素材制作总表**(🚨 固定 5 列,每条素材逐条 1:1 列出;执行手册主体到此为止)
| # | 创意类型 | 尺寸 | 文案 | 生成提示词 |
| :-: | ---- | ---- | ---- | ---- |
| 1 | 榜单素材 | 竖 9:16 1080×1920 | 主标题:为什么选…|①…②…③…(逐条展开) | 竖版9:16榜单海报,顶部大标题+副标题横幅,下方3张白色圆角卡片,每张=圆形小图标+理由标题+说明+红色五星+淡色大序号…画面上的文案:主标题"…" 理由一"…"★★★★★(完整提示词逐条写) |
| 15 | 常规海报 | 横 16:9 1920×1080 | 主:…|副:… | 横版16:9海报,底图为…简约留白,左文右图…画面上的文案:主标题"…" 副标题"…"(完整提示词逐条写) |
| V1 | 单人口播 | 竖 9:16 | 脚本方向:痛点开场→讲配置理念→行动引导(🆕 完整脚本见下方「表二」) | — |
> 🚨 列序固定为 **# · 创意类型 · 尺寸 · 文案 · 生成提示词**(不加"样式参考"列、不用"素材大类"列)。「创意类型」只能填 13 种官方图片类型之一或 情景剧/单人口播/动图/混剪;**严禁自创类型名**。
> **尺寸按类型定横/竖/方**(见 `brief_spec.md` 2.6),标注方向 + 高清标准值。
> **每条素材逐行展开**,文案 1:1 逐条写;视频行在"文案"列给脚本方向、"生成提示词"列填 —(完整视频脚本见表二)。
> 「生成提示词」列**逐条真正写实**:按 `prompt_method.md` 对应类型的典型提示词模板,代入本条产品/卖点/文案原文,写出完整可用提示词;视频行填 —。🚨 这一列必须逐条填实、别遗漏。
**🆕 表二 · 完整视频脚本表(🚨 仅当本项目有视频需求时才出现;无视频则整节不存在)**
> 🚨🚨 **出现条件**:仅当第3步判定要做视频(无渠道要求时预算 ≥1万、或有渠道要求/指定要视频)时,才在表一之后追加本表;**无视频需求时本节完全不存在**,执行手册主体仍只到表一为止,输出与原来一字不差。
> 内容与格式**严格按 `references/video_script_method.md`**:覆盖策略里已规划的那几条视频(类型/条数一致,不多不少),演员**只给提示词不实际生图**。同一张表,4 列:
| # | 视频类型 | 演员图片生成提示词(真人版) | 分段视频提示词(每段独立自带质感词+视觉锚点,复制单段即可进平台生成) |
|:-:|---|---|---|
| V1 | 单人口播 | 【演员A·真人版】…真人形象提示词… | 【段1】(0-13s)[质感词全文]。[视觉锚点]同演员/同景别/同机位/同场景/同光线。画面:中景不动,靠表情手势推进。"…"<br>【段2】(13-28s)[质感词全文]。[视觉锚点](与段1一字不差)。"…" |
| V2 | 情景剧 | 【演员A·真人版】…<br>【演员B·真人版】… | 【段1】(0-15s)[质感词全文]。[视觉锚点]双人同场景/同景别/同机位。画面:…。A:"…" B:"…"<br>【段2】(15-30s)…<br>【段3】(30-42s)… |
> 🚨 视频类型只填官方四类:情景剧/单人口播/动图/混剪,条数与策略规划完全一致。编号用 V1、V2…承接表一。
> 🚨 演员:先固定演员阵容(去重),每人一版真人形象提示词;本方法**不调用生图工具、不实际出图**(与图片素材的三级生图链路互不影响)。真人写实视频默认垫真人定妆图。
> 🚨🚨 **视频输出分辨率备注(务必写给用户)**:本表只出提示词,用户拿去生成视频时——**信息流广告 720p 够用,条件允许上 1080p 更清晰**。在表二下方加一行说明(如"视频建议输出:信息流广告 720p 够用,1080p 更好"),提醒用户生成时按此设置。
> 🚨 **分段视频提示词严守「分镜三条铁律」**(详见 `references/video_script_method.md` 第一节):① 段长 12-15s、整片压到 2-3 段(别再 6s 一段让用户跑太多次);② 段间衔接**删掉"承接上段"**(模型读不懂),改用每段写死一行**完全相同的 `[视觉锚点]`**(同演员/景别/机位/场景/光线);③ **场景不变就全程锁同一景别**,不为节奏硬切。每段自带完整质感词,可独立复制进平台生成,各段拼成片。
## 投放前动作 · 文案与按钮(🚨 位置:文末「下一步建议」第 2 条,不在执行手册主体内)
> 🚨 本小节整体承接「下一步建议」的第 2 条"投放前动作·准备文案与按钮"。**它不再放进执行手册主体**,而是等用户把"生成素材"读完、准备处理文案时才出现,避免打断看素材/提示词的连贯阅读。顺序:先科普(这几个是什么、在哪)→ 再内嵌版位结构示意图 → 最后给「文案与按钮汇总表」。
**第 1 步·版位与文案位科普(面向小白,强制)**:先给用户普及"一条完整文案由哪几部分组成"。小白往往只知道"素材/图",不知道还要配外层文案、按钮等。**科普内容随策略已确定的投放版位动态生成**(策略里投了哪些版位,就讲哪些版位的组件,别把该版位没有的组件也讲进去):
- **开场一句话**:`除了素材本身,一条完整的广告文案通常还需要「外层文案」和「转化按钮」;如果投微信朋友圈,还多一个「首条评论」。它们的位置示意如下:`(按实际版位增减组件——如未投朋友圈就不提首条评论;纯资讯流/开屏版位按 `copywriting_method.md` 的版式说明调整)。
- **逐条大白话解释**(只讲当前版位有的组件):外层文案=用户刷到广告时头像下面那句话,负责 1 秒勾住人往下看;转化按钮=图上/图右下角那个可点的按钮(如"立即购买"),决定点了跳去哪,**文字从平台固定列表里选、不能自定义**,选什么落地页就得能完成对应动作;首条评论(仅朋友圈)=图片正下方第一条评论,补一句氛围或福利。
**第 2 步·内嵌对应版位的结构示意图(用官方样例图,不再手绘 SVG)**:按**本项目实际主投版位**,直接内嵌对应版位结构示意图(第 2.5 步脚本落地、本地兜底),图上已把 ①外层文案 ②创意图/视频 ③转化按钮 ④首条评论 的位置标注清楚、并自带免责备注。版位与图片对应:
| 主投版位 | 内置结构图 |
| --- | --- |
| 微信朋友圈 | `assets/placement_structures/朋友圈.webp` |
| 视频号信息流 | `assets/placement_structures/视频号.webp` |
| 微信公众号 | `assets/placement_structures/公众号.webp` |
| 平台与内容类信息流(腾讯新闻/视频等) | `assets/placement_structures/平台与内容信息流.webp` |
| 开屏 | `assets/placement_structures/开屏.webp` |
> 🚨 **多版位就并排放多张**(投了朋友圈+视频号就放这两张);只放当前策略实际投的版位,别贴无关版位。
> 🚨 **图片已自带免责备注**(「此图为结构示意…以投放后台的广告配置与预览为准」),无需再手写;也无需自己画框标注。
> 🚨 **内嵌方式**:HTML 里按**第 2.5 步脚本 `[RESULT]` 给出的实际文件名**(形如 `assets/placement_structures/{版位}.webp`,扩展名以脚本输出为准)相对路径引用,打印 PDF 前由 `inline_assets.js` 统一内联(同 case_samples,webp 会自动转 png,不丢图)。
> 🚨 **拉不到就文字兜底**:若该版位结构图平台和本地都没有,**别留空图**,改用 1-2 句话说明外层文案/创意图/转化按钮/首条评论各在什么位置代替(详见第 2.5 步「🚨 图拉不到时的文字兜底」)。
**第 3 步·文案与按钮汇总表**(科普与示意图之后再给)
| 类别 | 数量 | 内容 |
| ---- | :-: | -------------------- |
| 外层文案 | = 广告数 | 逐条列出(已过审) |
| 首条评论 | = 广告数 | 逐条列出(已过审,走氛围/生活态度方向;仅朋友圈有) |
| 转化按钮 | 1 | 主选+ 备选(平台固定可用列表内,以投放后台为准) |
> 🚨 外层文案/首条评论条数 = 广告数(第3步公式算出),不再写死 10/5。
## HTML 输出规范(🚨 与 `../html-report-card-suce/` 组件库深度绑定)
🚨🚨 **品牌门面规范(所有输出物强制遵守,最高优先级)**:本工具品牌「**金手指·素材经理**」。任何交付物的**文件名开头**和**banner 头部**,都要先亮出工具品牌,再接具体策略名。
- **🚨 渲染框架 = html-report-card skill(强制)**:本产物**严格按本专家包内嵌的 `../html-report-card-suce/` skill 规范生成**,包括但不限于:
- 骨架 = `../html-report-card-suce/assets/template.html`,CSS = `../html-report-card-suce/assets/theme.css`(**两者都要内联**,单文件离线可看);
- 16 条硬规则不容违反(lead 不加前缀 / 风险并列走 plain-list / 决策分支用 tag-* / 表格 KV 型带 thead / 蓝黄不混排 / 无 markdown 残留 / h3 禁止降级 / 序号连续 / brand-tag 整段照抄不简写 / icon 仅 banner meta 等);
- 自检 = `python3 ../html-report-card-suce/scripts/check_html.py <文件>`,**必须 0 error**;
- 完整规则见 `../html-report-card-suce/references/design-rules.md` 与 `../html-report-card-suce/SKILL.md`。
- **主色 = 腾讯蓝 `#0052D9`**:`theme.css` 的 `--brand / --brand-deep / --brand-soft` 三个变量默认就是这套,**不要改**。
- **🚨 brand-tag(写死,不许改)**:`template.html` 的 `<p class="brand-tag">` 已写死为 **`金手指·素材经理`**(`<span class="sep">` 分隔),整段照抄、不得简写、不得加版本号、不得改顺序(html-report-card 规则 16 硬约束)。
- **🚨 右上角品牌 logo**:`<img class="brand-logo">` 引用 `assets/brand/logo.png`(透明 PNG,金手指 Q + 金手指字 + AI·Ad Agent;由 `.brand-logo` 白底圆角 chip 解决「蓝 Q 撞蓝渐变 banner」的可读性问题)。
- **文件名格式**:`金手指-广告素材专家_{产品名}素材策略_{YYYYMMDD-HHMM}.html`(如 `金手指-广告素材专家_手工香薰蜡烛素材策略_202608241815.html`)。
> 文件名避免特殊符号:`固收+` 之类的 `+` 在文件名里易出问题,落地文件名用 `固收plus` 等安全写法。
- **输出路径**:**用户当前工作目录** `$(pwd)`(**不写进 skill 包内部**——那是只读资源,分享时会带上他人的产物)。
> 🚨🚨🚨 **不丢图硬规则(最高优先级)**:HTML **绝不能靠相对路径引用本地图片**(`assets/xxx.webp` 这种)——那是历史上丢图的头号原因(换浏览器/换机器/sandbox 路径不一致都会让图静默变空白)。**预览/分享/打印前都必须先把 HTML 里所有本地图片(case_samples 样式图 + placement_structures 版位图 + 金手指 logo)转成 base64 内联**。用本 skill 自带的脚本一步搞定(自动 webp → png 兼容所有浏览器):
> ```bash
> node {baseDir}/scripts/inline_assets.js <绝对路径>/strategy.html <绝对路径>/strategy.inlined.html
> ```
> 脚本输出 `[RESULT] 已内联 N 张图片…全部命中` 即成功;若出现 `[MISS]` 说明某图路径没找到,**必须先修好路径/补上文件再重跑,不允许带着 MISS 交付**。**预览/分享一律用 `strategy.inlined.html`**(不是原 strategy.html)。
> 🚨 **emoji 在产物里禁用**:本 SKILL.md 大量用 🚨 / ❌ / ✅ 帮助 agent 阅读;**渲染进 HTML 时必须一律去掉**,改用 `.callout`(蓝/黄 2 色)+ `.tag-ok / tag-warn / tag-bad` 字色 + 标题词(建议/口径/红线/风险提示)。html-report-card 规则 3 明文禁止 emoji。
**生成方式(推荐链路,🚨 三步,缺一不可):**
1. 先把「策略解读 + 执行手册」组织成一份结构化 **HTML**(按 `../html-report-card-suce/assets/template.html` 组装,把 `theme.css` 全文内联进 `<style>`;样式图按**第 2.5 步脚本 `[RESULT]` 的实际文件名**引用,若尚未跑先补跑 `fetch_case_samples.js`;下一步会统一内联)。
2. **🚨 内联图片(不可跳过)**:`node {baseDir}/scripts/inline_assets.js <绝对路径>/strategy.html <绝对路径>/strategy.inlined.html`,确认 `[RESULT] 全部命中`、无 `[MISS]`。
3. **可选:如需打印 PDF**:用无头浏览器把**内联版** HTML 打印为 PDF(路线保留,不强制)。示例:
```bash
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--headless=new --no-sandbox --disable-gpu --disable-software-rasterizer \
--no-pdf-header-footer \
--print-to-pdf="金手指-广告素材专家_{产品名}素材策略.pdf" "file://<绝对路径>/strategy.inlined.html"
```
因已内联为 base64,Chrome / weasyprint / pandoc 等任何引擎都不会丢图。**默认仅交付 HTML,PDF 打印留给用户按需触发**。
4. **交付**:用 `present_files` 交付 **`strategy.inlined.html`**(一份即够,体积虽大但单文件离线可看、可二次编辑、可直接打印)。无需再附原始 strategy.html。
**HTML 内容结构(顺序固定;🚨 第一部分融合成一块,模块简短、不大段文字;章节全部用 `h2.section-title` + 序号):**
1. **Banner(套 html-report-card)**:brand-tag「金手指·素材经理」+ 右上角 logo chip + `<h1 class="title">{产品名} · 素材策略</h1>` → `<p class="subtitle">` 一句话副标(投放要点 / 关键参数)→ `<div class="meta">` 三段(日期 / 阶段 / 周期,Bootstrap Icon)。
2. **一句话目标**:一句话(推什么/给谁/撬动什么动作)→ 单段 `.callout`(蓝色)高亮。
3. **目标 · 人群 · 产品分析**:三行式简短——推广目标 / 目标人群 / 主打卖点,各一行。用 **`table.data-table` + KV 型两列**(带 `<thead>`),左列字段名(如「推广目标」/「目标人群」/「主打卖点」),右列内容。
4. **创意思路和规划**(🚨 唯一策略板块):`<section>` 标题如「**01 创意思路和规划**」
- 一条核心主张(加粗 + 理由,🚨 只此一处)→ 蓝色 `.callout` 单段高亮;
- 一句话交代总量与视频(如"按你的预算配约 30 张图、这轮先不做视频")→ 紧接上方同一 callout 或其下单独段;不另起标题;
- 建议做哪几类素材:每类一张**多列表格**(🚨 头部 thead 必备),列:「创意类型 / 优先级·数量·尺寸 / 怎么给用户传信息」+ 示例图 `<img>`(容器必须 `.img-frame` 包住,`object-fit:contain` 防裁切,inline_assets.js 转 base64)。🚨 **参数标在卡片上,不再单开"做多少素材"板块**。
5. **素材执行手册**(🚨 主体只到表一 / 有视频时到表二):`<section>` 标题「**02 素材执行手册**」
- 开头**仅一句话过渡**(如"照着下表逐条做即可"),不复述主张/素材组合、不重复样式图;
- **表一 · 素材制作总表**:`<table class="data-table">` 5 列逐条 1:1(# · 创意类型 · 尺寸 · 文案 · 生成提示词),有 N 条素材就 N 行。文案与生成提示词逐条写实、不复用凑数;视频行在"文案"列给脚本方向、"生成提示词"列填 `—`(完整视频脚本见表二)。
- **🆕 仅当本项目有视频需求时**,在表一之后追加**「表三 · 完整视频脚本表」**(按 `references/video_script_method.md`,覆盖策略规划的几条视频,演员只给提示词不生图)。无视频需求时此表**整节不存在**。
6. **投放前动作 · 文案与按钮**:放在**「下一步建议」section 里作为第 2 条的展开**,不复述执行手册主体的内容,只讲清「外层文案 / 转化按钮 / 首条评论」是什么(只讲当前版位有的组件)→ 内嵌对应版位的官方结构示意图(多版位并排多张)→ 给「文案与按钮汇总表」(外层文案 = 广告数、首评 = 广告数 + 转化按钮主选/备选,逐条列出)。不再放进执行手册主体。
7. **🆕 下一步建议**(🚨 固定放在输出物最末尾,`<section>` 标题「**03 下一步建议**」):开头一句"照下面顺序走就行",随即 `<ul class="plain-list">` 只含 2 条:① 先生成素材;② 再准备文案和按钮(末尾加"↓"明确指向下面 ①② 子标题)。**清单结束后立刻无缝展开第 2 条的详细内容**,不另起 section、不拖到很远:
1. **先生成素材**:执行手册"生成提示词"已逐条写好,直接拿去出图。**图片质量优先 GPT Image 2,其次 Nano Banana Pro;想快用混元**(WorkBuddy 可直接调用);视频推荐 **Seedance 2.0**。可先出 2-3 张草图看效果。🚨 **正式出图(终图)的文件名必须规范**:`{项目名称}_{素材类型}_{生成时间YYYYMMDDHHmm}_{序号}`(如 `手工香薰蜡烛_榜单素材_202608221530_01.png`),详见 `references/prompt_method.md`「出图文件命名规范」。
2. **再准备文案和按钮**:紧接用带序号的小标题①②讲透:
- **① 先搞懂这几个位置分别是什么**:结合实际版位,大白话讲清外层文案/转化按钮/首条评论各是什么(只讲当前版位有的组件)→ 再内嵌**对应版位的官方结构示意图**(第 2.5 步脚本落地、本地兜底,自带免责备注)。
- **② 这几类文案的现成稿子(可直接用)**:即「文案与按钮汇总表」——外层文案 = 广告数、首评 = 广告数(朋友圈才有)+ 转化按钮主选/备选,逐条列出。收尾一句:素材和文案都备齐后就进入投放,想快速投放找 → **金手指**。
> 🚨 **合规自检不写进"下一步建议"**:合规自检是文案生成/定稿过程中默认就做的动作(拟好文案→对照本地审核规范 `review_compliance_deep.md` 自检→按红线改→定稿),不是给用户的下一步建议。文末只需在文案汇总后一句话说明"这些文案已按合规方向写好"即可。
> 🚨 全程遵守三条硬红线:① 不出现内部黑话(平台样式类/原生类/海报类/业务元素类),一律用"怎么给用户传信息"大白话;② 创意类型只用官方 13 类原名,不自创;③ 渲染时去除 SKILL.md 里的 emoji 🚨 / ❌ / ✅,改用 html-report-card 的语义颜色与标题词。
> 排版要求:所有 section 用 `h2.section-title` + 序号(连续 01/02/03);模块简短、表格清晰;遵循 html-report-card 的浅色主体配色(金融类涨红跌绿 = `.pill-ok` 绿 / `.pill-warn` 橙 / `.pill-danger` 红,对应 ok/warn/danger 三个 token,不破坏通用色板)。
## 文案 & 提示词方法(独立板块,见 references)
- 文案写作方法 → `references/copywriting_method.md`(通用文案规则 + **13 种图片创意类型各自的文案规范** + 视频四类文案位说明 + 合规红线)
- 生图提示词方法 + 生图链路 → `references/prompt_method.md`(**已启用**;13 种类型画面规范 + 典型提示词模板 + 标准样式参考图 + 三级生图链路)
- 提示词优化方法 → `references/prompt-optimizer/prompt-optimizer.md`(内置参考资料,非独立 skill;SOCAWT 六维框架 + 双模式 + 提示词模板与避坑指南;生图提示词第 1 段打磨强制读取它)
- 🆕 视频脚本方法 → `references/video_script_method.md`(**仅当有视频需求时启用**;固定演员 → 演员真人形象提示词 → 分段视频提示词;产出「表二 · 完整视频脚本表」并入执行手册。演员只给提示词、不实际生图)
> 这三份是**可独立编辑**的方法板块。要调整文案写法、生图提示词或视频脚本写法,只改对应 references 文件,无需动主流程。
## 内置参考
- `references/brief_spec.md`:素材策略完整结构规范(三块字段、决策链、公式驱动数量规则、视频规划、PDF 交付说明、校验规则、香薰蜡烛案例)。产出前应读取它对齐结构。
- `references/copywriting_method.md`:文案写作方法(13 种图片类型文案规范 + 视频类文案位)。
- `references/prompt_method.md`:生图提示词方法(**已启用**;13 类画面规范 + 典型提示词模板 + 标准样式参考图)。
- `references/prompt-optimizer/`:提示词优化内置参考资料(`prompt-optimizer.md` 主文档 + `references/soca-wt.md`、`references/prompt-craft.md` 配套;SOCAWT 六维视觉分析框架 + 提示词模板与避坑指南)。生图提示词第 1 段打磨直接读取,**不是可独立加载的 skill**。
- `references/video_script_method.md`:🆕 视频脚本方法(**仅当有视频需求时启用**;固定演员 + 真人形象提示词 + 分段视频提示词 → 产出「表二 · 完整视频脚本表」并入执行手册;演员只给提示词不生图;含视频输出分辨率建议 720p/1080p)。
- `scripts/query_placement.js`:从本地投放指引知识库抽版位/尺寸/创意形式(**已改为本地读取,不再调妙问、无需任何 API Key**)。
- `references/tencent-ads-delivery-guide/`:内置的《腾讯广告投放全链路操作指引》本地知识库(15 份官方口径整理文档,含创意灵感/审核合规/落地页/推广产品/归因/品牌组件/开户资金/广告预览八大主题)。版位尺寸看 `references/creative_inspiration_deep.md`;合规红线看 `references/review_compliance_deep.md`;按钮/落地页看 `references/landing_page_deep.md`。**替代原妙问在线查询,保障缺 Key 也能出策略。**
- `scripts/inline_assets.js`:🚨 **打印 PDF 前必跑**——把 HTML 里所有本地图片(case_samples 样式图等)转成 base64 内联,webp 自动转 png,保证换任何模型/机器/PDF 引擎都不丢图。输出目录缺图时自动回退 skill 内置副本。
- `scripts/fetch_case_samples.js`:🆕 **第 2.5 步必跑**——从平台案例库(生产 `creative_examples`)拉取 13 类标准样式示例图落地到输出目录;平台优先、本地自动兜底;HTML 引用文件名以其 `[RESULT]` 为准。
- `assets/case_samples/*.webp`:13 类官方标准样式示例图的**本地兜底副本**(主来源已外置平台案例库,由 `fetch_case_samples.js` 运行时拉取;平台不可用时自动回退用这批)。
- `scripts/detect_image_channels.js`:探测本机可用的兜底生图渠道(L2)。
- `assets/placement_structures/*.webp`:5 张官方**版位结构示意图**(朋友圈/视频号/公众号/平台与内容信息流/开屏)的**本地兜底副本**(主来源已外置平台案例库,由 `fetch_case_samples.js` 运行时拉取)。已标好①外层文案②创意图/视频③转化按钮④首条评论的位置、自带免责备注。讲「外层文案/转化按钮/首条评论」概念时**直接内嵌对应版位那张,不再手绘 SVG**。
## 完整示例
用户说:"我想推广我做的手工香薰蜡烛,主打助眠,主要卖给上班的年轻女性,想让大家下单买,总预算 5000,打算投 30 天。"
1. 提取到:产品=手工香薰蜡烛、卖点=助眠、人群=年轻女性、目标=卖货、总预算=5000、投放天数=30。行业可推断为家居/香氛。🚨 **CPA 未给 → 必须追问**("一次下单大概能接受多少成本?不清楚我按香氛行业经验给你个估值");假设用户答 CPA≈50。
2. 调 `query_placement.js` → 本地指引返回:优先朋友圈(人群精准+微信生态+品质转化)、主跑 800×800(1:1)多图 / 卡片横版视频 16:9 1280×720、强广告属性开头+吸睛首帧的温柔治愈调性。
3. **公式算数量**:日预算=5000÷30≈167;广告数=167÷(50×20)=167÷1000≈0.17 → 不足 1,按至少 1 条;素材=1×3~1×5=3~5 张 → **不足 30,按首投兜底 30 张**;外层文案=广告数、首条评论=广告数。**无渠道要求且预算<1万 → 不做视频。** 产出三块策略:A 重点呈现"睡前仪式感";B 朋友圈图片(常规海报/数字人海报等);C 素材 30 张、不做视频。
4. 组织成策略解读 + 执行手册(30 条素材逐行、文案按公式配齐、生图提示词按类型模板逐条写实、每类内嵌标准样式示例图)→ 生成 PDF → present_files 交付。
5. 若预算改为 2 万、天数 30、CPA 100:日预算≈667、广告数=667÷2000≈0.33→按兜底 30 张;**预算≥1万且无渠道要求 → 视频≈素材数×20%**,在策略里规划视频(如单人口播×?、混剪×?),并按 `video_script_method.md` 产出「表二 · 完整视频脚本表」。若用户**点名投视频号或指定素材类型**:读内置指引 `references/tencent-ads-delivery-guide/` 获取该渠道创意形式与视频建议后再定。
---
---
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!