| name | douyin-workflow |
| description | 抖音图文笔记全流程工作流 — 从爆款拆解到内容创作再到发布。
覆盖爆款拆解、选题策划、卡片化写作、文字卡片图生成、标签生成、打磨、DraftPush 同步全链路。
支持全自动(无人值守)和半自动(交互式)两种模式。
Use when: "抖音", "抖音图文", "写抖音", "发抖音", "图文笔记", "文字卡片",
"帮我发篇抖音图文", "最近没什么灵感", "抖音爆款", "同步到抖音",
"帮我写抖音", "抖音内容", "想做抖音博主", "抖音标题", "图文数据不好",
"帮我拆解抖音爆款", "抖音怎么写", "帮我做张卡片", "抖音图文教程",
"帮我看看卡片", "优化卡片", "抖音选题", "帮我推荐标签", "抖音卡片风格".
Proactively suggest when the user mentions writing douyin content, 抖音, 图文,
文字卡片, or short-video platform content creation tasks.
|
| allowed-tools | ["Bash","Read","Write","Edit","WebSearch","WebFetch"] |
抖音图文工作流
一站式完成抖音图文笔记创作:爆款拆解 → 选题 → 调研 → 卡片化写作 → 标签生成 → 生成文字卡片图 → 打磨 → 输出内容包 → DraftPush 同步。
核心约束
一个对话做一篇图文。 第一篇图文完成后,如果用户想写新的,提示"请开一个新对话"。
运行模式
| 模式 | 触发方式 | 行为 |
|---|
| 半自动(默认) | 正常对话 | 关键节点停下来等用户确认 |
| 全自动 | 用户说"全自动"、"不用问我"、"直接做完"、"帮我写完直接发" | 全程不问,自己决策 |
半自动卡点: 爆款拆解确认、选题确认、卡片大纲确认、卡片内容审阅、标题选择、卡片风格确认、发布确认
全自动策略: 优先选爆款潜力最高的选题、按爆款公式直接写、根据体检报告自动优化、优先选爆款潜力最高的标题(痛点法 > 数字法 > 悬念法 > 对比法 > 情绪法 > 干货法)、自动选择卡片模板、打磨完成后直接输出到 DraftPush 待同步目录。
全自动失败处理: 某个步骤失败时不中断全流程——跳过失败步骤继续,最后汇总报告哪些步骤成功、哪些失败。常见情况:搜索失败 → 用缓存素材继续;图片生成失败 → 跳过卡片图继续;同步失败 → 保留内容包,提示手动发布。
步骤状态标记: 每完成一个步骤,MUST 输出状态标记,格式为 ✅ 步骤 N:步骤名 — 一句话说明结果。示例:
✅ 步骤 1:爆款拆解 — 分析 10 篇爆款,提炼出 5 个共性元素
✅ 步骤 2:选题 — 推荐 3 个选题,已确认「5个免费AI工具」
✅ 步骤 3:调研 — 搜集 5 条素材
✅ 步骤 4:卡片化写作 — 6 张卡片,共 720 字
这让用户随时知道进度到哪了,也防止 AI 跳步骤。
意图路由
| 用户说的 | 走哪条路 |
|---|
| "帮我发篇抖音图文" / "帮我写抖音" / "最近没什么灵感" | 完整流程:爆款拆解 → 选题 → ... → 同步 |
| "帮我拆解一下 XX 的抖音爆款" | 只执行爆款拆解 |
| "帮我写篇关于 X 的抖音图文" | 跳过选题,从调研开始 |
| "帮我把这个写成抖音图文"(附带素材) | 跳过选题+调研,从卡片化写作开始 |
| "帮我想几个标题" / "标题太普通了" | 调用爆款标题生成器 |
| "帮我推荐标签" | 调用标签推荐器 |
| "帮我看看这些卡片怎么样" / "有没有改进空间" | 调用卡片体检报告 |
| "帮我做张卡片" / "生成文字卡片图" | 只生成文字卡片图 |
| "帮我配置" / "怎么设置" / "配置助手" / "检查配置" | 运行配置助手(见 references/douyin-setup.md) |
如果不确定用户意图,直接问。
完整流程
1. 爆款拆解
搜索同类抖音爆款图文,拆解标题、卡片结构、每张卡片内容、标签,提炼爆款公式。
拆解流程:
- 用 anysearch 搜索关键词相关的抖音爆款图文
- 筛选互动量高的图文(点赞+收藏 > 1000)
- 逐篇拆解:标题公式、卡片结构、卡片节奏、标签使用
- 提炼爆款共性,生成「爆款公式报告」
- 保存到 Obsidian 素材库(
13-抖音/素材库/)
半自动: 展示拆解报告,让用户确认
全自动: 直接应用爆款公式到后续步骤
详细流程见 references/douyin-inspiration.md
2. 选题
基于爆款拆解结果 + 三模式扫描,推荐 3-5 个选题:
- 热点速报:抖音热榜 + 知乎热榜 + 微博热搜
- 深度选题:B站知识区、得到、豆瓣、即刻等知识信源
- 预判选题:AI 工具更新、职场节点、科技发布等周期性事件
信源连通性自动适配网络环境(config/connectivity.json),详见 references/douyin-inspiration.md
半自动: 展示选题清单,让用户选择
全自动: 自动选爆款潜力最高的选题
详细流程见 references/douyin-inspiration.md
3. 调研
拿着选题,搜集写作素材。不要凭空编造,用真实数据和案例支撑图文。
素材来源: 竞品图文、产品官网、用户评价、行业数据
半自动: 展示素材清单,问用户是否补充
全自动: 直接整理好素材包供写作使用
详细流程见 references/douyin-research.md
4. 卡片化写作
按爆款公式撰写抖音图文。将内容拆成 5-8 张文字卡片,每张 100-150 字。
硬性约束:
- 标题 ≤ 30 字(含标点):这是抖音图文的硬限制
- 每张卡片 ≤ 150 字:确保文字在 1080×1440 卡片上不溢出
- 描述栏 ≤ 200 字:短摘要 + 标签
卡片结构:
- 卡片 1(标题卡):大标题 + 吸引点,用 card-title.html 模板
- 卡片 2(引入卡):痛点/场景,建立共鸣
- 卡片 3-N(正文卡):每张一个要点,100-150 字
- 最后一张(结尾卡):总结 + CTA(关注/收藏引导)
写作风格:
- 干货感强:每张卡片都有独立价值
- 口语化:像在和朋友分享
- 有态度:明确观点,不模棱两可
半自动: 展示卡片大纲让用户审阅
全自动: 写完直接进入下一步
详细写作要求见 references/douyin-writing.md
5. 生成标签
为图文推荐合适的标签组合,采用金字塔搭配策略:
- 热门标签(1-2 个):百万级搜索量,获取曝光
- 精准标签(1-2 个):十万级搜索量,精准触达
- 长尾标签(1 个):万级搜索量,降低竞争
标签格式: #话题(抖音格式,单边 #)
标签数量: 3-5 个
半自动: 展示标签组合让用户确认
全自动: 自动生成标签组合
详细策略见 references/douyin-tools.md
6. 生成文字卡片图
根据卡片模板生成每张卡片的 HTML,再截图转为 PNG 图片。
卡片风格:
- 白底简洁(card-clean.html):干货教程、知识科普
- 深色背景(card-dark.html):科技、AI、职场观点
- 渐变背景(card-gradient.html):生活技巧、效率工具
- 标题卡(card-title.html):第一张卡片专用
图片规格:
- 尺寸:1080 × 1440 px(3:4 竖版)
- 格式:PNG
- 样式:纯内联 CSS
生成方式(按优先级):
- Agnes API(
agnes_api_key 已配置)→ 调用 Agnes 文生图
- SenseNova API(
sensenova_api_key 已配置)→ Agnes 失败时自动切换
- Chrome 无头截图(以上都不可用)→ 将 HTML 渲染为 PNG:
CHROME=$(which google-chrome 2>/dev/null || echo "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome")
"$CHROME" --headless=new --screenshot=slide-01.png \
--window-size=1080,1440 --default-background-color=0 \
"file:///path/to/slide-01.html"
- 跳过(Chrome 也不可用)→ 提示用户手动截图
半自动: 展示卡片风格方案让用户选择
全自动: 根据选题类型自动选择模板
模板详情见 templates/README.md,生成指南见 references/douyin-cards.md
7. 打磨
写完初稿后,先去 AI 味,再跑体检报告,针对性优化。
去 AI 味: 4 轮扫描:
- 查特征词:替换 AI 高频词(赋能/深耕/打造)、删除套话(值得注意的是/在当今社会)
- 查结构:打破刻板结构、排比堆砌、卡片内容雷同
- 查风格:加情绪起伏、换口语称呼、补具体案例
- 加人味:补个人经历、明确立场、加入口语感和幽默感
体检维度: 标题吸引力、卡片结构、内容干货力、文字量控制、互动引导力
半自动: 展示体检报告问用户要不要改
全自动: 根据报告自动优化
体检报告用法见 references/douyin-tools.md
8. 输出内容包
将每张卡片图、元数据、描述文案打包输出到 output/ 目录。
内容包包含:
slide-01.html ~ slide-N.html — 每张卡片的 HTML
slide-01.png ~ slide-N.png — 每张卡片的截图
douyin-meta.json — 元数据(标题、标签、卡片数等)
description.md — 描述栏文案(≤200字 + 标签)
输出目录结构:
output/{日期-标题}/
├── slide-01.html
├── slide-02.html
├── ...
├── slide-01.png
├── slide-02.png
├── ...
├── douyin-meta.json
└── description.md
DraftPush 集成(可选):
如果 config/douyin.json 中 draftpush.enabled 为 true,额外输出到待同步目录:
{vault}/13-抖音/待同步/{日期-标题简称}/
├── douyin-meta.json
├── slide-01.png
├── slide-02.png
├── ...
└── description.md
douyin-meta.json 格式:
{
"title": "5个免费AI工具,每天省2小时",
"description": "打工人必备的5个免费AI神器,国内直接能用...",
"tags": ["AI工具", "效率提升", "打工人", "免费工具", "办公技巧"],
"platforms": ["douyin"],
"cover": "slide-01.png",
"images": ["slide-01.png", "slide-02.png", "slide-03.png", "slide-04.png", "slide-05.png"],
"card_count": 5,
"source_skill": "douyin-workflow",
"created_at": "2026-06-23T21:00:00+08:00"
}
详细输出格式见 references/douyin-publishing.md
9. DraftPush 同步
通过 DraftPush Chrome 扩展一键同步到抖音草稿箱。
AI 执行步骤:
- 确认
config/douyin.json 中 draftpush.enabled 为 true
- 将内容包输出到
{vault}/{draftpush.sync_dir}/{日期-标题简称}/
- 确保
douyin-meta.json 中 platforms: ["douyin"]
- 提示用户打开 DraftPush 扩展完成同步
半自动: 同步前让用户确认内容
全自动: 直接输出到待同步目录
详细流程见 references/douyin-publishing.md
增强工具
随时可调用,不绑定特定阶段:
| 工具 | 干什么 | 什么时候用 |
|---|
| 爆款标题生成器 | 6 种策略各生成 2 个标题(共 12 个),按推荐度排序 | 写完卡片取标题时 |
| 标签推荐器 | 金字塔标签搭配(热门+精准+长尾) | 生成标签时 |
| 卡片体检报告 | 5 维度打分 + 优化建议 | 打磨阶段必用,也可随时调用 |
| 开头卡生成器 | 标题卡 + 引入卡优化 | 卡片化写作时 |
| 卡片风格指导 | 根据内容类型推荐模板和配色 | 生成卡片图阶段 |
详细用法见 references/douyin-tools.md
配置说明
首次使用需要配置。配置文件 config/douyin.json 支持两个位置(当前目录优先):
详细流程见 references/douyin-setup.md
- 当前项目目录:
{项目}/config/douyin.json
- Skill 目录:skill 安装位置下的
config/douyin.json
cp config/douyin.example.json config/douyin.json
配置文件包含敏感信息,已在 .gitignore 中排除。
用户说"帮我配置"或"配置助手"时,先检查 config/douyin.json 中哪些已配置、哪些缺失,只引导用户配置缺失的部分。可选功能(anysearch、DraftPush、Obsidian 集成)逐个询问是否需要,用户说不要就跳过。
Obsidian 集成
素材库存储在用户的 Obsidian Vault 中(13-抖音/),与小红书(12-小红书/)同级但独立:
13-抖音/
├── _index.md
├── 爆款公式/
├── 素材库/
└── 数据追踪/
配置 obsidian_vault_path 后,AI 可以直接读写 Obsidian 中的素材。