video-script

Create video scripts and publishing materials for YouTubers/UP主. Use when user wants to prepare a video, write a script (口播稿), generate video title, description, tags, or chapter timestamps. Triggers on "写视频脚本", "视频口播稿", "video script", "prepare video", "视频发布素材", or mentions creating content for YouTube/Bilibili.

sugarforever/01coder-agent-skills487 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI

Agent Skills format with YAML frontmatter. Claude Code reads it as-is.

---
name: "video-script"
description: "Create video scripts and publishing materials for YouTubers/UP主. Use when user wants to prepare a video, write a script (口播稿), generate video title, description, tags, or chapter timestamps. Triggers on \"写视频脚本\", \"视频口播稿\", \"video script\", \"prepare video\", \"视频发布素材\", or mentions creating content for YouTube/Bilibili."
license: "MIT"
---

# Video Script & 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 should be conversational and natural for speaking.

- See `templates/script.md` for the output format template
- See `references/script-guidelines.md` for detailed writing rules
- See `references/examples-tutorial.md` for the canonical 教程 / 配置类 sample script - **read it before writing if the topic is a configuration / how-to / setup video**

### 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.md` for the output format template
- See `references/blog-guidelines.md` for detailed writing rules
- **IMPORTANT**: Follow the `personal-writing-style` skill 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.md` and `templates/bilibili.md` for output format templates
- See `references/platform-differences.md` for platform-specific rules and guidelines

### 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.md` for the output format template
- **IMPORTANT**: Follow `personal-writing-style` skill's `references/social-media-style.md` rules (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-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-writing-style` skill** and apply it to every generated file: `script.md`, `blog.md`, `youtube.md`, `bilibili.md`, `x.md`
- **口播稿不例外**:`script.md` 虽然是用来「说」的,也要完整套用标点与风格规则 — 中文弯引号、半角破折号 " - "、ASCII 省略号 "......"、无标题编号、简洁标题,且不留全角/英文标点
- **保留口语化与自然语流**:personal-writing-style 只做标点与语气的统一,不强加模板结构(不要把 script.md 改成 Hook/引言/正文/CTA 那种套路)
- `x.md` 仍以 personal-writing-style 的 `references/social-media-style.md` 为准(链接位置、bullet vs prose、语气)

### Step 10: Generate Cover (封面,可选)

封面不是默认产物 - **先问用户要不要做封面**,需要时再生成。

询问:

```
要不要顺手做一张封面?
- 视频缩略图(YouTube / Bilibili)→ 我用 `cover-design`(代码驱动的排版封面,文字清晰、适合缩略图)
- 文章头图(博客 / X Article)→ 我用 `cover-image`(AI 生成的插画风头图)
```

- 缩略图类需求 → 调用 `cover-design` skill
- 文章头图类需求 → 调用 `cover-image` skill
- 产物存进视频目录(如 `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

1. **先问后写** — 信息不足时必须追问,不要猜测用户意图
2. **口语化脚本** — 脚本是用来说的,不是用来读的
3. **不要加时间戳** — 脚本章节标题和 YouTube 描述里都不要估算时间戳,节奏由作者自己掌控
4. **不要自动发布** — 只生成文件,不执行任何发布操作
5. **保留用户风格** — 如果用户提供了之前的视频风格参考,尽量保持一致
6. **推广信息复用** — 首次询问后保存到 auto memory,后续自动填充
7. **日期目录** — 每期视频按当天日期创建独立目录
8. **技术内容先审后发** — 技术解读/评测等含技术事实的视频,发布前必须逐条事实审核(见 Step 8),无官方来源的点要么删、要么屏上给可见引用,绝不让模型的猜测/幻觉进稿,并出 `fact-check.md` 留档
9. **统一风格收尾** — 所有生成的中文文稿(含口播稿)在收尾时必须用 `personal-writing-style` 过一遍,见 Step 9,不可跳过
10. **封面按需生成** — 封面不是默认产物,先问用户;缩略图用 `cover-design`,文章头图用 `cover-image`(见 Step 10)

More General & Other skills

← All General & Other skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY