skills/douyin-smart-publish/SKILL.md
抖音创作者平台智能发布(视频/图文):内容适配→上传→填描述/#话题→封面→存草稿→截图回传确认。默认只存草稿;只有在 Daniel 明确确认后才允许点击发布。覆盖标题(≤55字)、描述(建议≤200字)、#话题标签(3-5个)、封面设置、定时发布、可见性、合拍/下载开关。Playwright 自动化。触发:'发抖音'、'抖音发布'、'douyin publish'、'抖音图文'、'抖音视频'、'发布短视频'。
npx skillsauth add aaaaqwq/agi-super-team douyin-smart-publishInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| 类型 | URL参数 | 说明 |
|------|---------|------|
| 视频 | default-tab=1(默认) | 短视频/长视频 |
| 图文 | default-tab=3 | 图片轮播+描述 |
| 全景视频 | default-tab=3(全景) | VR视频 |
| 文章 | default-tab=4 | 长文(≤8000字+30图) |
| 项 | 规则 | |----|------| | 时长 | 15秒-60分钟(≥15分钟需粉丝≥1000) | | 格式 | MP4, WebM(推荐MP4 H.264) | | 分辨率 | ≥720×1280,推荐1080×1920,最高4K | | 帧率 | ≤60fps,推荐30fps | | 大小 | ≤16GB | | 画幅 | 9:16竖屏(最优) / 16:9横屏 / 3:4 / 4:3 |
| 项 | 规则 | |----|------| | 图片数量 | 2-35张 | | 格式 | JPG, JPEG, PNG, WebP(不支持GIF) | | 大小 | 单张≤50MB | | 比例 | 推荐3:4或4:3,不建议超过1:2 |
| 项 | 规则 | |----|------| | 标题 | ≤55字(实测,超出截断显示) | | 描述 | 建议≤200字(含话题标签) | | 话题 | #话题名 格式,3-5个,精准在前泛在后 | | @提及 | @用户名 增加互动 | | POI定位 | 可添加位置(本地推荐加权) | | emoji | 适度使用,每2-3句1个 |
| 项 | 规则 | |----|------| | 视频封面 | 从视频帧选取 或 自定义上传(1080×1920) | | 图文封面 | 从已上传图片中选择 | | 推荐 | 竖版9:16,清晰大字,对比色 |
将内容转化为抖音格式时:
核心卖点/痛点句 emoji
补充说明(1-2句)
#精准话题1 #精准话题2 #泛话题3
--mode publish。需要接管/风控/停手规则:见
references/handoff-and-human-trace.md
这份 skill 已经在真实抖音创作者后台完成过一次完整图文草稿测试,链路如下:
storage_state 登录态进入创作者后台这次实战得到的关键经验:
creator-micro/* 下,页面仍可能是扫码登录态;要同时检查页面文案/二维码区。存草稿,而是 暂存离开。input[type=file],在授权成功后可直接上传;之前 count=0 的根因是登录页,不是上传能力缺失。推荐排查顺序:
input[type=file] 是否存在发布 / 暂存离开 还是其他变体1. 打开 creator.douyin.com/creator-micro/content/upload
2. 上传视频文件 (拖拽或点击)
3. 等待上传+转码完成
4. 选择/上传封面
5. 填写描述 + #话题 + @提及
6. 设置:可见性(公开/好友/私密)、合拍、下载
7. 可选:定时发布(最远10天)、POI定位
8. 点击 [发布] 或 [存草稿]
1. 打开 creator.douyin.com/creator-micro/content/upload?default-tab=3
2. 上传图片 (2-35张,拖拽排序)
3. 选择封面图
4. 填写描述 + #话题
5. 设置发布选项
6. [发布] 或 [存草稿]
# 0) 冒烟检查(不上传,只打开页面+截图+输出关键信号)
python scripts/publish.py doctor --no-headless \
--screenshot /tmp/douyin_doctor.png
# 1) 从 daily-content 产物直接发布到草稿箱(推荐,SOP直连)
# - 支持 md/txt 两种格式:
# /home/aa/clawd/docs/daily-content/YYYY-MM-DD/douyin/douyin-content-YYYY-MM-DD.md
# /home/aa/clawd/docs/daily-content/YYYY-MM-DD/douyin/douyin-3posts-YYYY-MM-DD.txt
# - pick=1/2/3 选择第几条
# - 默认 mode=draft(只存草稿)
python scripts/publish.py daily \
--source "/home/aa/clawd/docs/daily-content/2026-03-24/douyin/douyin-content-2026-03-24.md" \
--pick 1 \
--type image \
--files "/path/to/img1.jpg,/path/to/img2.jpg" \
--mode draft
# 2) 视频发布(草稿模式)
python scripts/publish.py video \
--file "/path/to/video.mp4" \
--title "可选标题(≤55字)" \
--desc "描述文字 #话题1 #话题2" \
--cover "/path/to/cover.jpg" \
--mode draft
# 3) 图文发布
python scripts/publish.py image \
--files "/path/to/img1.jpg,/path/to/img2.jpg" \
--title "可选标题(≤55字)" \
--desc "图文描述 #话题1" \
--mode draft
# 4) 定时发布(⚠️仅在 Daniel 明确确认后使用 publish)
python scripts/publish.py daily \
--source "/home/aa/clawd/docs/daily-content/2026-03-25/douyin/douyin-3posts-2026-03-25.txt" \
--pick 2 \
--type video \
--file "/path/to/video.mp4" \
--schedule "2026-03-27 21:30" \
--mode publish
| 元素 | 定位策略 | 说明 |
|------|----------|------|
| 上传区域 | input[type="file"] / button:has-text("上传视频") | 文件上传;先确认已登录,未登录时可能为 0 |
| 描述输入 | [class*="desc"] [contenteditable] / textarea / [placeholder*="添加作品描述"] | 描述编辑区 |
| 话题输入 | 描述区中输入 # 触发话题搜索 | 话题弹窗选择 |
| 封面选择 | [class*="cover"] / 封面编辑弹窗 | 视频帧或自定义 |
| 发布按钮 | button:has-text("发布") | 发布确认 |
| 草稿按钮 | button:has-text("存草稿") / button:has-text("暂存离开") | 当前实测图文页常见为 暂存离开 |
| 定时开关 | [class*="schedule"] / 时间选择器 | 定时发布 |
| 可见性 | [class*="permission"] / radio按钮 | 公开/好友/私密 |
| 图片排序 | 拖拽操作 | 调整图片顺序 |
注意:抖音使用React + CSS Modules,class名含hash前缀,优先用文本匹配(
has-text)或placeholder定位。
| 时段 | 推荐度 | 说明 | |------|--------|------| | 7:00-9:00 | ⭐⭐⭐ | 早通勤 | | 11:30-13:00 | ⭐⭐⭐ | 午休 | | 17:30-19:00 | ⭐⭐⭐ | 下班通勤 | | 20:00-22:00 | ⭐⭐⭐⭐⭐ | 晚间黄金档 | | 22:00-00:00 | ⭐⭐⭐⭐ | 睡前 |
| 错误 | 处理 |
|------|------|
| 登录过期 | 提示扫码,--headless false |
| 滑块验证 | 暂停等待手动完成 |
| 上传超时 | 重试3次,指数退避(10s/30s/90s) |
| 转码失败 | 检查格式/分辨率,降级重传 |
| 描述过长 | 截断到200字并警告 |
| 频率限制 | 建议每天≤3条,间隔≥30分钟 |
daily 模式:已核对 pick 对应的是正确那条内容douyin-smart-publish/
├── SKILL.md
├── scripts/
│ └── publish.py # Playwright 自动发布脚本
├── references/
│ └── platform-rules.md # 完整平台规则
└── templates/
└── desc-template.md # 描述/话题排版模板
development
Technology-agnostic prompt generator that creates customizable AI prompts for scanning codebases and identifying high-quality code exemplars. Supports multiple programming languages (.NET, Java, JavaScript, TypeScript, React, Angular, Python) with configurable analysis depth, categorization methods, and documentation formats to establish coding standards and maintain consistency across development teams.
tools
Expert-level browser automation, debugging, and performance analysis using Chrome DevTools MCP. Use for interacting with web pages, capturing screenshots, analyzing network traffic, and profiling performance.
data-ai
Prompt for creating detailed feature implementation plans, following Epoch monorepo structure.
tools
Interactive prompt refinement workflow: interrogates scope, deliverables, constraints; copies final markdown to clipboard; never writes code. Requires the Joyride extension.