Communitygithub.com

Reels脚本创作

分析Instagram Reels并基于已有新闻通讯内容创作优化过的视频脚本,支持从URL提取视频、使用Gemini分析并生成个性化脚本。

Reels脚本创作 是什么?

Reels脚本创作技能是一款专为内容创作者设计的AI辅助工具,支持在Codex和Claude平台运行。它通过逆向工程分析目标Reel的结构、语言模式和钩子技巧,结合用户的新闻通讯内容和个性化声音文件(voice.md、about-me.md),自动生成结构完整、风格一致的Reel脚本。该技能使用Apify爬取Instagram视频元数据,并调用Gemini 2.5 Flash模型进行多模态分析,从转录文本、钩子写法到语言特征逐项拆解。生成的脚本经过严格的95/100质量关卡审核,确保不违背用户声音、不编造数据、不输出错误格式。最终在项目目录中产出包含标题、钩子、要点、CTA、字幕和视觉建议的完整Markdown脚本文件。

兼容平台✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/charlie947/social-media-skills/tree/main/skills/reels-scripting

在你喜欢的 AI 中提问

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

文档

Reels脚本创作 是做什么的?

Codex 与 Claude 运行时

  • 在 Codex 或 Claude 中使用此技能时,请使用当前任务实际可用的工具。AskUserQuestion 示例描述的是问题而非必需 API:在工具限制范围内使用可用的提问工具,或在聊天中直接提问。复用已提供的答案和源材料。
  • 在用户选定的项目中工作。在个性化工作前,读取项目的 about-me.md、voice.md 及相关的品牌文件。如果文件冲突或包含占位默认值,请确认预期作者。缺失的事实请询问,或运行 voice-builder;切勿继承维护者的身份、帐户或私有文件。
  • 解析相对于此技能文件夹的捆绑 references/。对于明确请求的个人资料更新,请就地读取并更新规范的 about-me.md、voice.md 或 newsletter-voice.md,保留无关的用户事实和规则。使用者必须重新读取这些规范文件。仅当新输出会与无关的现有文件冲突时,才使用新文件名。仅安装技能从不启动访谈或写入文件。除非被请求,否则不写入持久化学习内容。
  • 优先使用提供的证据。必要时通过可用的搜索/源工具验证外部声明。如果源或集成不可用,请说明缺失的能力,并提供提供的文本/导出输入。切勿编造事实、第一人称经验、指标或成功的工具运行结果。
  • 仅为所选路径连接所需的服务,并通过用户现有帐户进行操作。切勿打印凭据或覆写连接。起草、保存和审查不授权发布、发送消息或更改帐户。

关键:加载时自动启动

当此技能触发时,直接进入步骤 1。不要进行总结。

前提条件

完整的 Apify + Gemini 视频分析路径需要:

  • APIFY_API_TOKEN 环境变量(用于 Instagram 爬取)
  • GOOGLE_AI_API_KEY 环境变量(用于 Gemini 2.5 Flash 视频分析)
  • Node.js 18+ 以及 apify-client 和 @google/generative-ai 包

仅检查所选路径所需的能力。对于 URL 提取和 Gemini 视频分析,验证用户现有的凭据存在(不打印它们),然后验证提供商和模型可用。缺失凭据、包、私有视频或不可用的模型将使该阶段保持待处理状态。解释缺失的内容;不要修改帐户配置或静默替换提供商。

提供的视频可跳过 Apify。提供的转录/分析可跳过步骤 3 和 4,并支持在步骤 5 中创建带有标签的基于转录的脚本,但这并非 Gemini 视频分析结果。复用已安装的包;在生成辅助脚本之前检查当前的官方 SDK 和 Actor 文档,并在产生提供商成本前获得用户的批准。

步骤 1. 获取参考

询问:

粘贴参考 Reel 的 URL 或 Notion 链接。这是你想要逆向工程其格式的异常值 Reel。

等待 URL。

如果用户粘贴了 Notion 链接,通过可用的已授权 Notion 连接器读取它,找到页面上的 Instagram Reel URL 并提取它。如果在 Notion 页面上未找到 Reel URL,请用户直接粘贴 Reel URL。

步骤 2. 获取新闻通讯主题

询问:

你的新闻通讯中哪个主题你想用于这个 Reel?粘贴相关的新闻通讯部分,或用一句话描述核心想法。

等待主题。从项目中读取 newsletter-voice.md、voice.md 和 about-me.md(如果存在),以便脚本匹配用户的声音。

步骤 3. 爬取并下载 Reel

在所选项目中使用新的 outputs/reels/<slug>/ 文件夹。如果存在合适的现有辅助脚本,则复用;否则在那里编写一个小型特定任务的 Node.js 脚本,该脚本:

  1. 使用 apify-client 和现有的 apify/instagram-reel-scraper 路由(检查其当前记录的 schema)来处理单个请求的 Reel。绝不爬取评论、回复或评论线程,包括通过 deepScrape 或 numComments。在调用前验证提供商是否支持仅帖子/视频收集;否则请求视频上传。不要猜测替代的 Actor 输入。
  2. 从返回项中提取 videoUrl。
  3. 将视频下载到 outputs/reels/<slug>/downloads/{username}_{shortCode}.mp4。
  4. 将原始爬取数据保存到 outputs/reels/<slug>/reel_data_{shortCode}.json。

运行脚本。在继续之前确认文件大小和元数据(观看次数、点赞数、聚合评论数(如果有)、字幕前 200 个字符)。

单个 Reel 是参考,不是经过验证的异常值。仅在提供或明确请求的比较数据确定其相对于同一创作者近期帖子的表现时,才称其为异常值;引用样本、时间窗口和多个数据点。不要编造该基线。

步骤 4. 使用 Gemini 2.5 Flash 分析

扩展 Node 脚本(或运行第二遍):

  1. 将下载的 .mp4 文件读取为 base64 格式。
  2. 调用 genAI.getGenerativeModel({ model: 'gemini-2.5-flash' })。
  3. 使用以下精确提示发送视频:
我正在研究这个 Reel,以便为我的受众(来自 about-me.md 的受众)编写类似风格的脚本。

## 完整转录
- 逐词转录,包含时间戳

## 钩子
- 确切的第一句话
- 钩子的字数
- 是什么使其停止滚动?

## 语言模式
- 平均句子长度
- 你/你的 vs 我/我的比率
- 要点之间的过渡
- “只是”缓和词出现在哪里?

## 结构
- 总时长
- 分段时间线
- 之前/之后的转折时刻是什么?
- 行动号召是什么?

## 一个关键见解
- 从这个 Reel 中学到的最重要的技巧

将分析保存到 outputs/reels/<slug>/analysis_reference_{shortCode}.md。

步骤 5. 编写新的 Reel 脚本

使用步骤 4 的分析、步骤 2 的新闻通讯主题以及用户的声音文件,编写一个新的 Reel 脚本到 outputs/reels/<slug>/reel-[slug].md。

应用这些规则(不可协商):

钩子

  • 绝不用“我”开头。使用“这”、“你”、一个事实或一个名字。
  • 经过验证的格式:“这永远改变了...” / 负面翻转(“X 毫无用处,除非...”) / 能力陈述。
  • 钩子在 3 秒内创造好奇心或模式中断。
  • 镜像参考分析中钩子的字数和结构。

正文

  • 英式英语。短句。无长破折号,无分号。
  • 会话式使用“你”和“就”(“你只需放入...”)。
  • 绝不合并三个或更多断奏碎片。将它们组合成一个流畅的句子。
  • 绝不下结论。让事实说话。
  • 仅当用户有实际可交付成果且自动化确认有效时,才使用评论行动号召。否则使用相关且不承诺交付的下一步操作。

评论触发词(仅在支持时)

  • 单个大写单词(如 SCRIPT, WIKI, PROMPTS, VIDEO)。
  • 必须直接与承诺的内容相关。
  • 无引号,无“下方”,无尾随标点。

行动号召

  • “评论 [单词],我会发你 [具体内容]”
  • 简短。不加“我完整内容的链接”等填充词。

时长与结构

  • 目标总时长 30 到 45 秒。
  • 最多 2 个关键点,不是 3 个。
  • 字幕镜像脚本。同时更新两者。

脚本文件结构

# Reel: [标题]

## 参考分析
- URL: [reel url]
- 观看次数: [数字]
- 关键技巧: [来自 Gemini 分析]

## 目标时长
30-45 秒

## 钩子 (0-3s)
[确切文字]

## 要点 1 ([开始]-[结束]s)
[确切文字]

## 要点 2 ([开始]-[结束]s)
[确切文字]

## 行动号召 ([开始]-[结束]s)
[确切的下一步操作,仅当确认交付时才包含评论承诺]

---

## 字幕
[镜像脚本,格式化为 Instagram 格式]

## 评论触发词(仅在已配置时)
[单词 或 不适用]

## 可交付成果(仅在已承诺时)
[实际可用的资源 或 不适用]

---

## 视觉笔记
[剪辑、B-roll 想法、文字叠加]

步骤 6. 质量审核循环

在运行中的助手中进行评审:源准确性(30)、用户声音(25)、钩子和结构(20)、口头时长和清晰度(15)、字幕/行动号召一致性(10)。为每项评分引用证据。修复实际违规并重新评分,最多三轮。门槛为 95/100;如果未解决,报告带有具体阻塞点的草稿,而不是夸大分数或声称已准备就绪。在可用时计时口头朗读;否则标注“时长估计”。在 Codex 中,此审查不需要 Claude。

常见需检查的违规:

  • 以“我”开头
  • 三个或更多断奏碎片
  • 陈述结论
  • 多词或风格化的评论触发词
  • 大声朗读时时长超过 45 秒
  • 3 个要点而非 2 个
  • 字幕未镜像脚本

步骤 7. 移交脚本

在项目中交付经过审查的脚本和匹配的字幕,并附带参考来源、分析方法以及任何未解决的检查项。用户可以录制它,或明确请求其自己的可用制作流程。此公开技能不包含虚拟形象、编辑或发布管道。

规则

  • 绝不跳过 95/100 的质量审核关卡。
  • 在写作前始终阅读 voice.md 和 about-me.md。声音匹配不可协商。
  • 绝不编造参考 Reel 的指标。仅使用经过验证的提供或获取的元数据,并将不可用的指标标记为缺失。
  • 英式英语。无长破折号。无分号。
  • 每个脚本都包含匹配的字幕;仅当承诺的交付有效时才包含评论触发词。
  • 如果参考访问失败,报告失败的阶段并提供提供的视频/转录输入。不要编造视频分析。
  • Gemini 2.5 Flash 是模型。未经用户批准不得替换。

Individual skills in this repo

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

相关技能