video-planner
Plan videos and prepare publishing materials for YouTubers/UP主. Use when user wants to plan a video, write a script (口播稿) with on-screen / screen-share cues, generate video title, description, tags, or YouTube chapter timestamps. Triggers on "策划视频", "写视频脚本", "视频口播稿", "video planner", "video script", "prepare video", "视频发布素材", or mentions creating content for YouTube/Bilibili.
How do I install this agent skill?
npx skills add https://github.com/sugarforever/01coder-agent-skills --skill video-plannerIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is a professional video planning tool that researches topics using web tools and local files. It stores user promotional info locally for persistence and includes a mandatory fact-checking process. Its ingestion of external data for research creates a potential surface for indirect prompt injection, though mitigated by its structured workflow.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Video Planner & Publishing Materials
Help YouTubers/UP主 prepare video content: write structured scripts (口播稿), blog posts, platform-specific publishing materials, and an X (Twitter) promo tweet.
Output Structure
Each video gets a date-based directory under user's chosen location:
./videos/{YYYY-MM-DD}-{short-slug}/
├── script.md # 视频口播稿
├── blog.md # 博客文章
├── youtube.md # YouTube 发布素材
├── bilibili.md # Bilibili 发布素材
├── x.md # X (Twitter) 推广文案
├── fact-check.md # 技术事实审核表(技术类视频必出,见 Step 8)
└── cover.png # 封面(可选,见 Step 10)
Interactive Workflow
Step 1: Gather Information
IMPORTANT: Before writing anything, collect sufficient context from the user. Ask the user:
请提供以下信息,帮我为你准备视频内容:
1. **视频主题**:这期视频讲什么?(必填)
2. **目标平台**:YouTube / Bilibili / 两者都有?(默认:两者)
3. **目标时长**:大约几分钟?(默认:10分钟)
4. **目标观众**:面向什么人群?(如:开发者、AI爱好者、初学者)
5. **关键要点**:你希望视频覆盖哪些要点?(可以是大纲、笔记、或链接)
6. **相关资料**:有没有参考文章、文档、代码仓库?(可选,我可以帮你研究)
已有部分信息的话,直接告诉我就好,缺的我会追问。
If the user provides partial info upfront, only ask for the missing pieces.
Step 2: Research (If Needed)
If the user provides reference URLs, docs, or repos:
- Use WebFetch to read reference articles/docs
- Use Read/Grep/Glob to explore code repos
- Use WebSearch to find supplementary information
- Summarize key points for script use
If the topic is about a specific technology/tool:
- Research its core features and selling points
- Find common pain points it solves
- Look for comparison angles with alternatives
Step 3: Create Directory
Create the date-based directory:
./videos/{YYYY-MM-DD}-{short-slug}/
Example: ./videos/2026-03-07-react-server-components/
The short-slug should be a brief, descriptive kebab-case label derived from the topic.
Step 4: Write Script (script.md)
Write a structured 口播稿 in the user's preferred language. The script is what the user reads aloud while recording, so two things matter as much as the content:
- 照着念友好(read-aloud first):每一句都要是「能顺口念出来」的话,不是写出来给人读的文章。太书面、太像技术文档的句子会拖慢录制 - 写完后过一遍,把长定语、术语堆砌、嵌套从句改成短句口语(详见
references/script-guidelines.md的「照着念友好」规则)。 - 屏上呈现推荐(screen-share cues):作为 AI,你要逐段智能判断这段口播配什么画面最好 - 某个网页的某一段、某个应用 / 终端界面、一段代码、还是一张对比 / 速查卡 - 并写成
(屏幕:……)备注。目的:用户照着口播稿念的同时,一眼知道该在屏幕上呈现什么。在脚本开头加一张「屏上呈现总则」总表(画面来源 + 逐段映射),正文每段再用内联(屏幕:……)落到具体内容。不是每段都要切画面 - 判断「需不需要」也是你的工作,纯口播段就标「纯口播」。
参考:
templates/script.md- 输出格式模板(含「屏上呈现总则」表与内联屏幕备注)references/script-guidelines.md- 详细写作规则(含「照着念友好」「屏上呈现推荐」两条)references/examples-tutorial.md- 教程 / 配置类标准范本,配置 / how-to / setup 类视频开写前先读
Step 5: Write Blog Post (blog.md)
Repurpose the video content into a blog post to maximize content utilization. The blog should NOT be a transcript - it should be a standalone article that reads naturally.
- See
templates/blog.mdfor the output format template - See
references/blog-guidelines.mdfor detailed writing rules - IMPORTANT: Follow the
personal-chinese-writing-styleskill conventions
Step 6: Write Platform Descriptions (youtube.md & bilibili.md)
Generate separate publishing materials for each platform. The two platforms share the same core content but differ in structure and promo placement.
- See
templates/youtube.mdandtemplates/bilibili.mdfor output format templates - See
references/platform-differences.mdfor platform-specific rules and guidelines - YouTube 章节:YouTube 描述里放章节时间戳(从
00:00开始,按脚本结构估算),列表上方先放一行免责声明「时间戳为按脚本结构的估算,剪辑完成后按实际时长调整」。Bilibili 描述不放章节。 - 参考资料块:含外部链接(repo / 官网 / 文档)的视频,在 YouTube 描述末尾附一个「参考资料」块,列出链接,以及封面源文件路径(
cover.html/cover.png)便于复用。
Step 7: Write X/Twitter Promo (x.md)
Generate a short promo tweet that the user can post alongside the video to drive traffic. Not a summary — a hook that makes people want to watch.
- See
templates/x.mdfor the output format template - IMPORTANT: Follow
personal-chinese-writing-styleskill'sreferences/social-media-style.mdrules (link position, bullet vs prose, tone) - Leave
[视频链接]as a placeholder — user fills in the real URL on publish
Step 8: Fact Audit (技术事实审核)
技术解读 / 评测 / 任何含技术事实点的视频必做,不可跳过。 在风格校对之前先把内容核实一遍 - 因为审核可能要删改成段内容。
- 逐条核验:把
script.md和blog.md里的每一条技术陈述列出来,标来源、给核验结论。规则与来源分级见references/fact-audit.md - 结论三档:✅ 成立(有官方来源,可直接讲)/ ⚠️ 需屏上引用(非官方来源,保留但录制时屏上给可见证据)/ ❌ 删除(无来源或属推断,从脚本和博客移除)
- 绝不让模型的猜测 / 幻觉进稿:没有来源支撑的推断一律删,或改成「官方没披露,不猜」
- 闭源 / research preview 内容:脚本里要有披露句(「研究预览,部分细节未公开」)和边界句(「未披露的实现不猜」);启用机制(环境变量 / 命令 / 菜单)对照当前官方文档核对;争议数字默认取官方
- 产物:把核验结果写成
fact-check.md放进视频目录,便于复核追溯。格式见templates/fact-check.md
Step 9: Apply personal-chinese-writing-style (统一风格校对)
After every file is written and fact-audited, run a dedicated polish pass over all generated Chinese text files. This is a required finishing step, not optional.
- Invoke the
personal-chinese-writing-styleskill and apply it to every generated file:script.md,blog.md,youtube.md,bilibili.md,x.md - 口播稿不例外:
script.md虽然是用来「说」的,也要完整套用标点与风格规则 — 中文弯引号、半角破折号 " - "、ASCII 省略号 "......"、无标题编号、简洁标题,且不留全角/英文标点 - 额外做一遍「照着念」复核(口播稿专属,standalone-style 之外):标点统一不等于好念。再过一遍
script.md,确保每句都顺口 - 把太书面 / 太技术文档化的句子(长定语、术语堆砌、嵌套从句、被动腔)改成短句口语;可以默念一遍,卡壳的地方就改。判断标准见references/script-guidelines.md的「照着念友好」。(屏幕:……)屏上备注保留,不要被风格校对删掉。 - 保留口语化与自然语流:personal-chinese-writing-style 只做标点与语气的统一,不强加模板结构(不要把 script.md 改成 Hook/引言/正文/CTA 那种套路)
x.md仍以 personal-chinese-writing-style 的references/social-media-style.md为准(链接位置、bullet vs prose、语气)
Step 10: Generate Cover (封面,可选)
封面不是默认产物 - 先问用户要不要做封面,需要时再生成。
询问:
要不要顺手做一张封面?
- 视频缩略图(YouTube / Bilibili)→ 我用 `cover-design`(代码驱动的排版封面,文字清晰、适合缩略图)
- 文章头图(博客 / X Article)→ 我用 `cover-image`(AI 生成的插画风头图)
- 缩略图类需求 → 调用
cover-designskill - 文章头图类需求 → 调用
cover-imageskill - 产物存进视频目录(如
cover.html/cover.png)
Step 11: Review & Iterate
完成后提示用户:
视频脚本和配套内容已准备好:
📂 {目录路径}/
├── script.md — 口播稿(约 X 分钟)
├── blog.md — 博客文章
├── youtube.md — YouTube 发布素材
├── bilibili.md — Bilibili 发布素材
├── x.md — X (Twitter) 推广文案
├── fact-check.md — 技术事实审核表(技术类视频)
└── cover.png — 封面(如已生成)
请检查内容,如果需要调整,告诉我:
- 需要修改哪个部分?
- 风格/语气需要调整吗?
- 有要补充的要点吗?
Personal Promotion Info
Users should configure their promotion block. On first use, ask the user for their promotion links and save to auto memory for cross-session persistence.
When asking:
我注意到这是你第一次使用视频策划 skill。请提供你的个人推广信息,我会记住以便后续使用:
- 社交媒体链接(Twitter、Bilibili、YouTube 等)
- 知识星球/社群链接
- 联系方式
- 其他固定推广信息(如课程链接、赞助信息等)
Save to auto memory directory as video-promo.md (e.g. ~/.claude/projects/.../memory/video-promo.md). On subsequent uses, check if this file exists in the memory directory and read it directly — no need to ask again.
Examples
See references/examples.md for detailed examples of different usage scenarios.
Critical Rules
- 先问后写 — 信息不足时必须追问,不要猜测用户意图
- 照着念友好 — 口播稿是作者照着念的,每句都要顺口;太书面 / 太技术文档化的句子必须改成短句口语(见 Step 4、Step 9 与
references/script-guidelines.md的「照着念友好」) - 屏上呈现推荐 — 逐段智能判断这段口播配什么画面(网页某段 / 应用 / 终端 / 代码 / 对比卡),写成内联
(屏幕:……)备注,并在脚本开头给一张「屏上呈现总则」总表;纯口播段标「纯口播」(见 Step 4) - 脚本不加时间戳;章节只在 YouTube 描述 —
script.md章节标题不标时间戳(节奏由作者录制时掌控);YouTube 描述放估算章节时间戳(从00:00起)并在列表上方加免责声明(剪辑后按实际时长调整);Bilibili 描述不放章节 - 不要自动发布 — 只生成文件,不执行任何发布操作
- 保留用户风格 — 如果用户提供了之前的视频风格参考,尽量保持一致
- 推广信息复用 — 首次询问后保存到 auto memory,后续自动填充
- 日期目录 — 每期视频按当天日期创建独立目录
- 技术内容先审后发 — 技术解读/评测等含技术事实的视频,发布前必须逐条事实审核(见 Step 8),无官方来源的点要么删、要么屏上给可见引用,绝不让模型的猜测/幻觉进稿,并出
fact-check.md留档 - 统一风格收尾 — 所有生成的中文文稿(含口播稿)在收尾时必须用
personal-chinese-writing-style过一遍,见 Step 9,不可跳过 - 封面按需生成 — 封面不是默认产物,先问用户;缩略图用
cover-design,文章头图用cover-image(见 Step 10)
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/sugarforever/01coder-agent-skills/video-planner">View video-planner on skillZs</a>