Communitygithub.com

CrissAlvarezH/video-script

利用创作者自身的视频分析数据,编写能够留住观众的短视频脚本。

video-script 是什么?

该技能通过分析创作者自己的视频库和观众数据,指导短视频脚本的编写和优化。它强调在拍摄前做出三个关键选择:**利益相关者**(谁有理由关心)、**开场白**(为什么继续观看)和**实证**(观众看到什么使主张可信)。支持为口播或旁白解说类视频编写脚本,并能与 `content-ideas`、`video-edit`、`animated-video` 等其他技能协作。它还能够对已发布的视频进行“复盘”,通过分析留存曲线、观看数据等,提炼可复用的教训并更新创作者的知识库。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CrissAlvarezH/ai-reel-gen-app/tree/HEAD/.claude/skills/video-script

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

视频脚本

一个短视频在拍摄前就已经基本决定了,由三个选择决定:利益相关者(除了内部人士,谁有理由关心)、前两句话(为什么继续观看)和实证(观众看到什么使主张可信)。每个选择都要基于证据:首先是创作者自己过去的视频,其次是平台说明,最后才是个人品味。

观众观看的目的是为了寻找一个问题的答案。好奇心让他们留下,每个答案又给他们一个离开的理由,所以脚本是在两者之间取得平衡:尽早提出一个问题,并且在另一个问题被提出之前,不要关闭它。

设置

SKILL_DIR 指代此技能所在的文件夹。如果存在 ~/.video-script/profile.md 文件,则读取它:该文件指定了创作者的视频库、发现文件、平台笔记、声音和节奏。在提出任何建议之前,请先读取发现文件(包括仍在运行的测试)和库索引,并引用与想法相似的过去视频。当发现文件的内容与以下默认内容冲突时,以发现文件为准:因为它们是在该受众群体上衡量得出的。

如果没有配置文件,则询问一次平台、受众群体、一个表现好的过去视频和一个表现不好的过去视频及其数据。然后主动提供创建配置文件和库格式的库。

目标 意味着视频构建的目的:覆盖量(来自非关注者的观看数)、关注数、收藏数或分享数。当请求没有指定任何目标时,默认为覆盖量并说明这一点。

此处的任务是脚本和复盘已发布的视频;创意点子归 content-ideas 处理。此技能的输出止于脚本或经验教训:拍摄是创作者的事,编辑是 video-edit 的事,动画是 animated-video 的事。

创意点子

想出并保存创意点是 content-ideas 的职责。当一个脚本从一个创意点开始时,其笔记已经说明了钩子、它提出的问题、隐藏了什么以及实证:从这些开始,并在依赖它们之前对照来源进行核对。

脚本

用一句话陈述创意点及其目标。一个需要两句话才能说清的创意点就是两个视频;询问先制作哪一个。

在写钩子之前,先找到回报和最强有力的实证,然后用两部分写出钩子:第一部分是用目标受众描述其问题的语言,将主题陈述为他们想要的结果;第二部分是您拥有的最令人惊讶的真实主张或实证,它提出了一个观众可以用语言表达的问题。当命名主题会回答那个问题时,不要命名它。按照创作者的节奏(来自配置文件;默认为每秒3个口语词)进行草稿。三个时刻与时间紧密相关,它们之间的段落遵循一条规则;其余部分则遵循故事自身的形状:

  • 0–3 秒,钩子:关于观众的利害关系或屏幕上显示的内容。先展示资历,作为相信的理由;当观众想要的结果能提出问题时,它就算作一种利害关系。
  • 3–10 秒,第二句话:提高钩子的赌注或强化其问题,但不回答它。大多数可以避免的流失都发生在这里,因此背景信息要往后放。背景信息是指观众仅为了理解后续细节而需要知道的任何内容(历史、某人是谁、某物如何工作);测试方法是:如果将某一行移到15秒之后,在前15秒内没有损失任何内容,那么它就是背景信息。
  • 中间部分,答案被保留:回报不是一个单一的时刻。说出能够关闭钩子问题的句子,通常是观众能识别的一个术语:一旦听到它,他们就认为知道了其余部分。在此之前,是引导到那里的内容,并且本身值得一听:大多数人搞错了什么、它让他们付出了什么代价、为什么明显的替代方案失败了。当它最终被说出来时,同一口气又提出了一个新问题,一些关于它但观众还没听过的东西。保留意味着同时给他们一些别的东西;仅仅挑逗或说“坚持到最后”的句子不是保留,而是填充。
  • 结尾:最终的回报,屏幕上展示钩子承诺的画面,然后最多一个简短的行动号召。回报之后的任何内容都是给即将离开的观众看的。

对于解说型(某物如何工作),请在起草前阅读解释型视频。

在每一行旁边,写下观众看到的内容以及需要捕捉的类型(屏幕录制、文档、真人或产品)。一行无人能画出的内容是观众必须记在脑海里的。对于动画视频,这一列是给 animated-video 的注释,由其设计世界。

交付并按配置文件中指定的位置保存:脚本包括时间、口语线和屏幕画面;捕捉列表;草稿标题包含口语脚本无法承载的注意事项和链接,其开头提出钩子的问题而不是回答它;预估时长;替代钩子(每个都附带自己的第二句话,当开头仍不确定时);以及需要验证的主张及其来源(标记任何无法打开的来源)。让一个新的代理根据来源逐一检查脚本中每个主张的措辞:正确的研究仍然可能在脚本中被夸大。

当创作者重写某些行时,将风格差异带到您仍然拥有的行中。除非被要求编辑,否则保留他们的措辞,并单独指出其中的事实问题。

检查清单

在交付脚本之前,对照以下内容、发现文件和平台笔记进行检查:

  • 一个创意点。只有当每个项目都证明了那个创意点时,列表才有存在的理由。
  • 利害关系是根据谁受影响以及他们想要什么来定义的,使用非专业人士能理解的词汇。工具名称和行话要在观众有理由关心之后才出现。
  • 以观众的身份阅读:每一行,问自己现在是否会觉得知道了答案而离开。如果是,在计划的时间点之前,移动该行或在那里提出下一个问题。说出什么关闭了钩子的问题以及何时关闭。
  • 每个主张都被展示出来。声音、字幕和屏幕给出相同的数字。
  • 钩子中的每个承诺都在屏幕上得到了兑现。
  • 每个句子,单独阅读,都能说明谁对什么做了什么,以及任何结果去了哪里。替换缺失的宾语和模糊的指代,使用名词;保留指代清晰的代词。修改会破坏这一点,所以每次修改后都要再次检查。
  • 句子是完整、连贯的,使用创作者的语调(配置文件中的语调指南),易于大声说出。一个被截断得如此之短以至于引出一个问题(“完整的路线”指的是什么?)的句子,其代价超过它节省的几秒钟。
  • 每一行都推动故事向前发展(重复前一行或宣布即将发生什么的行则不会),并且运行时长度尽可能短,以允许故事讲完。

复盘已发布的视频

  • 记录每一个数据:观看次数、观众数、平均观看时长、关注数、互动次数、每个比率及其标签、按来源划分的观看次数,以及带有时长的留存曲线(阅读数据洞察)。从屏幕截图中,使用 python3 SKILL_DIR/scripts/retention_curve.py SHOT --duration SECONDS 读取曲线,并检查其基于面积的平均值与应用中的数字是否一致。根据缩略图、图表日期和观看次数来识别每个屏幕截图对应的视频;当这些证据无法判断时进行询问。
  • 将曲线与最终渲染的字幕对齐:对于每一个悬崖和平台,记录其发生前几秒钟内所说的内容和显示的内容。与库进行比较:相同格式的视频,以及每个视频的 3→10 秒下降率。
  • 当存在值得制作的下一个版本时,指出它:要解决所发现问题的最小的更改,例如新的钩子或用户在离开处的剪辑,或者一个击败其他视频的视频做对了什么以及如何重复它。
  • 编写视频的库条目和索引行,然后更新发现文件:将证据添加到它触及的每个假设,并且仅当两个或更多视频一致时才更改状态。在保存之前,从字幕文件中获取每一行引用的内容和时间,而不是摘要;仅在有来源的情况下提供发布日期;对照索引检查每个排名词(最高、最低、唯一、最佳),范围限定为其覆盖的视频。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

CrissAlvarezH/animated-video

Make animated videos in code with Remotion (React, SVG, three.js): explainers, character stories, motion graphics, kinetic typography, paper collage and animated infographics, in 2D or 3D, from a script or voiceover, in any aspect ratio. Use when asked to animate a script, make an animated video or Reel, or motion graphics. Not for editing camera footage (video-edit) or AI-generated clips (higgsfield-*).

CrissAlvarezH/new-style

Create a new visual style for the creator's videos in a Reel Studio workspace (styles/<id>/style.json): interview him for its name, feel, colours and what each one means, fonts, motion, where pictures come from, reference links and images, then write the style so it shows in Estilos and new videos can use it. Use when he asks for a new style or presses "Nuevo estilo" on the Estilos page.

CrissAlvarezH/persona-hablando

The "Persona hablando + animaciones" format of a Reel Studio video — the creator talks to camera in his own recording; you transcribe it, agree the cuts with him (pauses, flubs, retakes), cut it, and lay the video's style animations over or between his shots. Use for any video whose format.txt says persona-hablando.

CrissAlvarezH/reel-studio

How a narrated explainer video is made in a Reel Studio workspace, in any visual style — script, pictures, voice, images, build, board, sound, mute test, render — following the creator's settings from the studio (profile, format, voice, image sources). Use for any new or revised video in a project's videos/ (projects/<id>/videos/). The video's style adds its own skill (styles/<id>/SKILL.md) for the look and the Remotion kit; LESSONS.md has what past videos taught.

相关技能