self-media-video-publisher
About self-media-video-publisher
A skill for self-media video publishing workflows. It checks finished videos and platform copy, then prepares a manual publishing package or uploads at the authorization level approved for each platform, with verification and task-card records.
Key features
- 01Check video, cover, subtitles, and platform copy
- 02Prepare manual, form-fill, draft, or scheduled publishing
- 03Require separate authorization for each platform
- 04Verify uploads and record publishing outcomes
- 05Stop and hand over on verification or risk checks
Use cases
- 01Prepare manual publishing materials for several platforms
- 02Upload a video as a draft or private item with approval
- 03Schedule a release for a user-specified time
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ yanhua1010/ self-media-content-workflow --skill self-media-video-publisherAfter installing, type/self-media-video-publisherin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlassets/video-publish-pack-template.mdreferences/sau-adapter.mdupload-adapters.mdscripts/publish.mjsDetails
From the project README视频发布
目标
把确认过的视频成片和平台文案,准确、完整地送到用户选择的平台,并把结果记回任务卡。默认交付手动发布包;外部上传只在逐平台授权后进行,优先上传为私密或草稿,由用户自己点公开。
前置条件
- 终稿已确认:用户完整看过、听过成片。
- 各平台版本和发布字段已就绪,见
self-media-short-video的 video-platform-versions.md 和平台文案模块的各平台规范。 - 有配乐或素材署名要求时,署名文本已写进各平台描述。
缺少任一项时,报告缺口并停在 AWAITING_USER,不带着缺口上传。
发布方式分级
从低到高,每升一级都需要用户对该平台、该条视频单独授权:
| 级别 | 方式 | 谁点“发布” | 适用 |
|---|---|---|---|
| L0 手动发布包 | 交付文件、封面、字幕和逐字段文案,用户自己上传 | 用户 | 默认;任何平台 |
| L1 填表助手 | 浏览器扩展或已登录浏览器自动打开发布页并填好字段 | 用户检查后亲自点 | 想省去重复填表,又要逐个把关 |
| L2 私密上传或草稿 | 官方 API 或上传工具上传为私密、不公开或草稿 | 用户在后台检查后公开 | YouTube 官方 API;支持草稿的平台 |
| L3 定时发布 | 上传并设定公开时间 | 到点自动公开 | 只在用户明确给出平台、视频和时间后使用 |
“全部发了吧”这类笼统指令不等于 L3 授权。逐平台列出将要执行的动作(平台、文件、标题、公开范围、时间),用户确认后再执行。
适配器发现
先发现当前环境已有的能力,不要求用户为本 Skill 安装特定工具。常见选项和各自边界见 upload-adapters.md:
- YouTube:优先使用官方 YouTube Data API(用户本人完成 OAuth 授权),或已登录的 YouTube Studio。
- 抖音、视频号、小红书:通常没有面向个人创作者的公开上传 API。可选的有填表类浏览器扩展、基于浏览器自动化的开源上传工具,或用户手动上传。
- 已安装
sau时,可选 SAU 适配器:先用node scripts/publish.mjs --episode <期目录> --platforms douyin,weixin,xhs,youtube --dry-run预览,再逐平台确认。视频号传草稿、YouTube 传私密(L2);抖音、小红书只有--mode schedule --at的 L3 定时发布,到点自动公开,脚本逐平台要求人工确认且--yes对它们无效。--sau指定可执行文件,--yes只用于已经逐平台授权的 L2 平台。 - 非官方自动化可能违反平台条款或触发风控,新账号尤其敏感。向用户说明风险,由用户选择。
没有可用适配器,或用户不想安装时,直接交付 L0 手动发布包。
发布流程
- 核对发布包:逐平台检查视频文件、画幅、时长、封面、字幕、标题、描述、话题、署名和 AI 标识字段,缺什么报什么。
- 列出执行计划:每个平台一行,写清发布级别、文件、标题和公开范围或时间。
- 取得逐平台授权:用户确认哪些平台、按哪一级执行。 使用 SAU 脚本时,每个平台都要单独确认;默认草稿路径不支持抖音和小红书,不能用即时上传代替草稿。
- 执行:一次处理一个平台。登录失效、验证码、短信验证、风控提示或界面异常时立即停止,交给用户接管,不重试绕过。
- 回读核对:上传后打开后台或草稿,核对标题、封面、描述前两行、字幕、公开范围和定时时间。
- 记录结果:把发布级别、执行时间、核对结果写回任务卡和发布矩阵。用户报告公开成功后,再记录公开链接。
安全边界
- 不一键群发,不在未授权的平台上执行任何写操作。
- 不自动点赞、评论、关注、私信,不刷量。
- Cookie、Token、OAuth 凭据和账号密码只由用户本人或上传工具保存在本机;不读取、不回显,不写入任务卡、日志、发布包或仓库。
- 不代用户输入密码或验证码;登录由用户本人完成。
- 不为躲避版权识别而改变速、加噪音或裁切画面。
- 平台要求 AI 生成或合成内容声明时,如实勾选。
输出
返回每个平台的:发布级别、使用的适配器、上传或填表结果、公开范围或定时时间、回读核对结果、需要用户在后台完成的动作。未执行的平台写明原因(未授权、无适配器、风控停止),并附上该平台的手动发布包路径。
可使用 video-publish-pack-template.md 生成逐平台手动发布包。