lov-video-chapter · diff
v0.3.0 to v0.3.0
1 added, 1 removed. Audit A to A.
---
name: lov-video-chapter
description: Turn SRT/VTT subtitles and source videos into 3–5 semantic chapters, an editable React chapter-bar project, a transparent ProRes overlay, a burned-in MP4, and editor-ready packages. Use for subtitle chaptering, video segmentation, chapter progress bars, 剪映/CapCut chapter overlays, video chapter rendering, or requests such as “基于字幕进行视频分段”, “生成章节进度条”, “把章节条压进视频”, and “create video chapters from subtitles”.
metadata:
author: lovstudio-contributors
version: "0.3.0"
tags: video chapters subtitle editing rendering
---
- # Video Chapter Skill Kit
+ # 视频章节师 · Video Chapters
Build a complete chapter-bar workflow from semantic planning to final video.
Keep every stage connected through one `chapter-project.json`.
## Route the request
- Read `skills/chapter-plan/SKILL.md` for subtitle analysis and editorial cuts.
- Read `skills/chapter-design/SKILL.md` for React Studio editing and styling.
- Read `skills/chapter-render/SKILL.md` for transparent overlay or burned video.
- Read `skills/chapter-export/SKILL.md` for 剪映/CapCut and other editor packages.
- Run only the stages the user requests. Run all four for an end-to-end request.
## End-to-end workflow
### 1. Analyze the subtitles
```bash
python3 scripts/subtitle_chapters.py \
--input "/path/to/subtitles.srt" \
--segments 5 \
--output "/tmp/video-chapter-analysis.md"
```
Read the analysis pack completely. Select semantic transitions rather than
equal-duration cuts. Start at `00:00`, align later cuts to subtitle cues, and
avoid cutting a sentence.
### 2. Create the project
Write a UTF-8 chapter list:
```text
00:00 开场与目标 | 展示成片并说明这次要完成什么
04:16 挑选并改造 Skill | 判断现有工具并完成适配
```
Create the canonical project:
```bash
python3 scripts/chapter_project.py create \
--chapters "/path/to/chapters.txt" \
--video "/path/to/video.mp4" \
--output "/path/to/chapter-project.json"
```
Read `references/project-format.md` when editing project JSON directly.
### 3. Refine in React Studio
```bash
cd studio
npm install
npm run dev
```
Import `chapter-project.json`, select the local source video, edit chapter
boundaries and titles, adjust styling, then export the updated JSON. Treat the
Studio preview as the visual approval surface.
### 4. Render
Install Pillow once when needed:
```bash
python3 -m pip install -r requirements.txt
```
Create a transparent overlay:
```bash
python3 scripts/render_chapter_bar.py overlay \
--project "/path/to/chapter-project.json" \
--output "/path/to/chapter-overlay.mov"
```
Burn the overlay into the source video:
```bash
python3 scripts/render_chapter_bar.py burn \
--project "/path/to/chapter-project.json" \
--output "/path/to/video-with-chapters.mp4"
```
Create a 剪映-ready package:
```bash
python3 scripts/render_chapter_bar.py package \
--project "/path/to/chapter-project.json" \
--output "/path/to/chapter-package"
```
## Validation
Run before delivery:
```bash
python3 scripts/chapter_project.py validate \
--project "/path/to/chapter-project.json"
```
Confirm:
- chapters are chronological and contiguous;
- the final chapter ends at the project duration;
- titles match the following content;
- the Studio preview matches the requested visual direction;
- the overlay contains an alpha channel;
- the burned MP4 preserves source audio;
- the editor package contains JSON, timestamps, CSV, overlay, and instructions.
## Output policy
- Prefer a transparent ProRes 4444 MOV for 剪映/CapCut.
- Use burned MP4 when the user wants a final publishable file.
- Describe transparent-video import as asset integration.
- Keep editor-specific draft writers in an experimental adapter layer.
- Preserve explicit paths; never assume a private workspace.
## Runtime context (shared)
运行前读取本 Skill 包的 `skill.yaml`,由宿主提供 `skill-runtime/v1` 上下文。字段解析顺序为:当前请求、项目上下文、个人 Preferences、品牌 Profile、通用默认值。
- 只使用 Manifest 声明的字段;Profile 保存公开品牌事实,Preferences 保存个人工作偏好。
- `required: true` 字段缺失时,按 Manifest 的问题配置向用户提出一个聚焦问题;用户明确同意后再保存回答。
- 报错提供可复制的 `context_id`、字段路径与来源,诊断内容避开秘密、完整私人路径和原始配置。
## 通用反馈闭环
用户在 Skill 驱动任务中提出修改意见时,继续当前产物前必须执行:
1. 先判断意见是 `task-specific`(仅本次)还是 `reusable`(可跨任务复用)。
2. `task-specific` 只修改当前任务,不改 Skill。
3. `reusable` 先确定作用域:领域规则先更新对应 canonical Skill;适用于所有 Skill 的规则先更新共享规范。
4. 完成规则更新、版本、lint 与分发核验后,再把修改应用到当前任务。
5. `reusable` 修改会使此前的“确认”“继续”“发吧”失效;完成当前产物修改和回读后必须停下,等待用户下一步指示,不自动进入发布、提交或其他外部写入。