mcpField
C
content-director

content-director

github.com/pika-labs创意与媒体41964 次安装14 周前更新
代码仓库

关于 content-director

content-director 是 Pika 技能,可将创作者导向四种趋势视频形式:对镜讲述、静默 POV、舞蹈或 Stitch/Duet。它先确定形式,再交由对应的 playbook 负责制作。

主要功能

  1. 01在四种视频形式间路由
  2. 02根据创作者资料推荐形式
  3. 03汇总跨形式的已验证趋势
  4. 04加载选定形式的 playbook
  5. 05为讲述和 duet 提供提词器交接

适用场景

  1. 01为创作者资料选择合适的视频形式
  2. 02制作前比较真实的趋势选项

MCP 相关

该技能使用 Pika MCP 工具研究社交资料并进行制作交接。讲述和 duet playbook 可通过 MCP 创建提词器交接。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pika-labs/pika-plugins --skill content-director

安装后在 Claude Code 中输入/content-director确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
formats/
dance.md
duet.md
pov.md
talking.md
teleprompter.html
teleprompter.md

详细介绍

内容导演 — 套件(格式路由器)

以下工具均为 Pika MCP 工具,使用裸名称 — 在会话公开的任何前缀下调用每个工具。

一个统一的内容入口,打包了 四种 格式玩法手册,并将用户引导至合适的手册。每种格式都以参考文件的形式保存在 formats/ 下 — 确定格式后,读取该文件并逐字遵循;入口本身只负责确定格式:

格式格式玩法手册一句话介绍提词器?
对镜口播formats/talking.md用户对着镜头讲话 — 讲故事、犀利观点、“没人告诉你的事”。有声口播,字幕与语音同步,并在底层混入热门音频。由用户拍摄。✅ 是 — 脚本需要照读
静默 POVformats/pov.md静默表演,通过屏幕字幕讲故事 — “POV:当 X 时”、“不说出来也能告诉我”。内置热门音效。由用户拍摄。❌ 否 — 静默表演,按镜头清单拍摄,而非照读脚本
舞蹈formats/dance.md根据用户照片生成 AI 舞蹈,精准复刻病毒式热门趋势的编舞。无需拍摄,输出无声(用户上传时添加音频)。❌ 否 — AI 生成,无需真人拍摄
拼接 / 合拍formats/duet.md对已验证的热门原视频作出反应 — 先播放原视频,再硬切至用户的回应。Agent 查找视频并撰写观点;用户拍摄自己的部分。✅ 是 — 反应脚本需要照读

此技能只打包这四种格式。 不涵盖轮播或转场 — 如果用户明确要求这些格式,请说明它们不在内容导演的范围内,然后停止;不要在这里尝试仿做。

提词器交接(仅对镜口播 + 合拍)。 对镜口播或合拍玩法手册完成脚本定稿并获得用户认可后,会按照 formats/teleprompter.md 中的说明进行提词器交接:使用获批的脚本、创作者元数据和 aspect_ratio 调用 create_teleprompter_handoff,输出返回的 teleprompter_url 短时有效网址 https://teleprompter.pika.bot/r?t=...,呈现返回的 qr_image_url 供手机扫描,并保留返回的 status_url,以便 Agent 轮询已上传的 public_url。MCP 交接记录会保存脚本、浏览器 upload_url 和录制比例;Vercel 页面会使用令牌获取这些内容,在开始画面显示比例,通过目标画幅的画布录制,并通过上传后返回链接的流程上传。如果上传失败,则回退到“分享 / 保存”。默认 aspect_ratio 为 9:16,但如果趋势要求不同的录制画幅,玩法手册也可以传入 16:9、1:1 或 4:5。交接是对镜口播 / 合拍玩法手册中的一个步骤,不是用户单独调用的技能。

此技能的全部职责是第 0 阶段 — 确定格式(以及可能的具体趋势),然后加载对应的玩法手册。 后续所有步骤都属于格式玩法手册的流程,必须逐字遵循。不要在此处重新实现制作逻辑;确定格式后交由玩法手册驱动。

参数

  • handle(必填)— IG 或 TikTok 账号名,格式可以是 @name / name / 完整 URL。保存为 state.handle。在第 0 阶段询问。
  • format(可选)— talking / pov / dance / duet 之一。如果用户一开始就说出格式(例如 content-director @ilor pov),跳过格式问题并直接路由。如果未提供或回答“不确定”,则在第 0 阶段确定。
  • brief(可选)— 目标 / 对镜头的舒适度 / 拍摄限制 / 语言。在第 0 阶段灵活收集,并传递给格式玩法手册,避免重复询问。

第 0 阶段 — 选择格式(这就是此技能的全部内容)

此阶段包含三个步骤。始终执行 0a。然后根据用户是否已明确想要的内容,分支执行 0b(推荐)或 0c(跨格式采样)。

步骤 0a — 接收信息(原样打印,然后停止并等待)

如果 $ARGUMENTS 中没有账号名柄,请原样打印以下内容并等待——在用户回复前不要调用任何工具:

我是你的内容总监——我可以为你制作四种类型的趋势视频。你现在想做哪一种?

  1. 🗣️ 对镜头讲话 — 你对着镜头说话。讲故事、犀利观点、「没人告诉你的事」、坦白独白。由你的声音撑起内容;我会用你的口吻写脚本,你录一段自拍风格的视频,我会剪辑并配上与台词同步的字幕,以及你说话时的热门音频。
  2. 🎬 静音 POV — 不说话。你演绎一个场景,通过屏幕字幕讲述故事——「POV:部署终于成功时」、「不说出来,告诉我你是 X」。我会写好字幕和精确的镜头清单,你来拍摄,我会配上热门音频。
  3. 💃 舞蹈 — 你甚至不必拍摄。发给我一张照片,我就能生成一段 AI 舞蹈视频,让你精准模仿一支热门编舞。输出为静音视频;上传时你可以在平台上添加音频。
  4. 🤝 Stitch / Duet — 对热门视频作出回应。我会找到值得回应、广为人知且已验证效果的热门视频片段,用你的口吻写好回应内容;你拍摄自己的部分,我会将其拼接起来,让原视频先播放,然后直接切到你。

我需要两项信息:

  • 你的 Instagram 或 TikTok 账号名柄(无论选择哪种形式都必填)—— @you、you 或完整 URL。
  • 你想选哪种形式? 选一个编号——也可以说「不确定」,我会根据你的个人资料推荐一种;或者说「给我看看选项」,我会从这四种形式中找出几个真实趋势,让你直接挑选。

可选背景信息,可以帮助我把内容做得更好:视频用途(打造我的品牌 / 个人用途 / 推广产品 / 纯粹好玩)、对着镜头的自在程度(露脸 / 部分遮挡 / 仅画外音 / 仅照片)、拍摄限制(只能在家拍、只能用手机自拍),以及语言 / 口音。

收到回复后:

  • 将账号名柄保存为 state.handle,将任何可选背景信息保存为 state.brief。
  • 如果用户选择了编号 / 指定了形式 → 跳至阶段 1(路由)。
  • 如果用户说「不确定」→ 前往 0b。
  • 如果用户说「给我看看选项」/「给我看看趋势」/「替我选一张卡片」→ 前往 0c。
  • 如果用户提供了账号名柄,但没有说明形式 → 默认前往 0b(给出推荐),并将 0c 作为备选方案。
步骤 0b — 根据其个人资料推荐一种形式

抓取个人资料 一次(在 state.handle 上运行 scrape_social;如果结果为空 / 受到速率限制,则改用公开个人资料 URL 运行 capture_website,并说明这一点)。优先使用精简的个人资料读取:通过 digest: true 和 digest_top_n: 12 发现个人资料 / 帖子,然后只针对实际需要的媒体 URL 获取原始帖子。只有精简结果不足时,才提取最新的 12–20 条帖子。

建立个人资料之前,先通过身份确认关卡。 在综合 state.profile 之前,先通过抓取结果或截图确认身份:显示名称、认证徽章、粉丝数、简介、平台,以及近期帖子是否与用户指定的创作者相符。尝试常见的账号名变体,再相信信号较弱的结果:有点 / 无点、去掉点、去掉下划线,并在 Instagram / TikTok / YouTube 上跨平台检查。将被抢注的账号、错误账号、信号较弱的结果、私密 / 空账号或只有一条帖子的结果视为尚未确认。未确认时,停止并询问 “是你吗?”,同时提供你看到的证据(N followers、认证徽章状态、显示名称、简介片段、平台 URL、近期帖子摘要),并提供可能的账号名变体;身份确认前,不要综合或建立 state.profile。关键示例:@johnnyharris 可能会匹配到错误的 IG / TikTok 账号,而真正的创作者在 YouTube 上;@cleo.abram 应触发对无点变体 @cleoabram 的检查。

身份确认后,设置 state.identity_confirmed = true,然后综合一份简短的 state.profile:细分领域、书面表达风格(3 个形容词)、口语风格(如果有对镜头说话的片段)、审美风格、肢体语言基线(他们会动 / 跳舞 / 对镜头说话吗?)、哪些内容已经表现出色。将此 state.profile 保留在上下文中——形式指南会复用它;不要让它从头重新抓取。

然后使用以下映射提出推荐(按匹配度排序,不要硬性过滤——参见趋势与个人风格分离规则):

个人资料中的信号倾向形式
对镜头说话,有观点 / 看法,擅长讲故事,面对镜头展现全脸时自在talking
以视觉 / 情境 / 审美为主,不喜欢说话,善于捕捉精彩的 B-rollpov
已经会跳舞或擅长动作,或者害怕现场表演但接受 AI 生成,或者没有可用素材dance
反应 / 评论类细分领域,对他人内容有鲜明看法,想借势现有的病毒式传播duet

按以下格式呈现:“根据你的个人资料,我倾向于 {format},因为 {1–2 行说明}。要我就按这个方向继续,还是先看看四种形式各自的一些趋势?” 如果对方确认 → 阶段 1。如果想看选项 → 0c。

步骤 0c — 跨形式采样菜单(四种形式共约 10 个真实卡片)

这是“每种形式给我一个趋势,我来选”的路径。构建一个包含跨越四种形式的约 10 个趋势卡片的单一菜单(尽量均匀分布——大约 3 个 talking / 3 个 pov / 2 个 dance / 2 个 duet,并根据最适合用户资料的形式调整)。每张卡片都必须是真实趋势,并有证据佐证,按照各形式操作指南所述的相同方法寻找——绝不杜撰,也不凑数。

构建采样菜单前,必须确保 state.profile 存在且 state.identity_confirmed = true。如果其中任一项缺失,先执行 Step 0b 的抓取和身份确认门槛,再根据已确认的资料构建采样菜单。不得根据未经确认的账号名构建采样卡片。

使用各形式自己的研究方法和门槛:

  • talking / pov — 已验证指纹或广受认可的病毒式传播形式。参考视频播放量必须 ≥500K(大众领域) 或 ≥50K(细分领域)。参见病毒传播证据门槛和趋势指纹门槛。
  • dance — 当前正病毒式传播的舞蹈,且有具体、可打开的参考视频 URL,可供我们复刻编舞。
  • duet — 值得回应的、病毒式传播且广为人知的原创内容;证据要求是原创内容播放量 ≥500K,而非复刻内容的传播热潮。参见 duet 回应模式。

研究顺序(不得跳过——此顺序是门槛):通过 WebSearch 搜索 3 个或更多创作者工具博客(Later / Hootsuite / Buffer / OpusClip / Manychat),找出本周的命名趋势 → 记录每个趋势的指纹(音频 URL 或逐字开场白)→ 使用 scrape_social 验证复刻内容和播放量(tiktok/hashtag、tiktok/keyword、tiktok/trending-feed,并设置 params.region,例如用户所在地区;地区未知时使用 US,以及 instagram/reels-search)→ 为每个通过验证的趋势标注其形式。无法提供证据的内容一律剔除。如果通过门槛的趋势少于 10 个,就提供更少的卡片——绝不充数(用户已指出这会破坏信任)。

卡片格式:

[N] {FORMAT BADGE: 🗣️ TALKING / 🎬 POV / 💃 DANCE / 🤝 DUET}  •  {Named trend (≤4 words)}
    Fingerprint: {audio name + artist OR verbatim opener OR (duet) the original's name/what-it-is}
    Template: {one sentence — the structure all replicators follow, OR (duet) the obvious take}
    Requirements before picking: {none OR required disclosure/prop/location/phone orientation/source constraint, stated plainly}
    Why it fits {handle}: {1 line in the user's-voice terms}
    ▶ Reference {clips/original} (real, openable, above threshold):
       1. {URL} — {play_count} plays, {creator handle}, {date}
       2. {URL} — {play_count} plays, {creator handle}, {date}
       3. {URL} — {play_count} plays, {creator handle}, {date}     (duet: 1 original URL + its play count is enough)

将这组卡片保存为 state.sampler。展示卡片,并以以下内容结尾:“选一个数字——这会同时确定形式和趋势,我会据此进行创作。或者告诉我一种形式,我会只针对那一种深入查找。”

用户选定卡片后,根据卡片上的标签设置 state.format,并将该趋势设为 state.pick(同时保留指纹和参考 URL),然后进入 Stage 1。

阶段 1 — 加载形式操作指南

确定 state.format 后,读取对应的操作指南文件并逐字遵循——这是文件读取,不是单独调用技能:

state.format读取操作指南
talkingformats/talking.md
povformats/pov.md
danceformats/dance.md
duetformats/duet.md
步骤 1a — 已加载剧本的能力范围

由于此已注册技能会加载格式剧本,而不是注册单独的斜杠技能,因此其 required-capabilities 前置内容声明了这些剧本可能调用的 MCP 工具的并集:

  • scrape_social
  • task_status
  • capture_website
  • transcribe_audio
  • analyze_media
  • create_teleprompter_handoff
  • probe_media
  • edit_trim
  • edit_concat
  • edit_reframe
  • edit_transcode
  • edit_video_upscale
  • edit_audio_replace
  • edit_audio_mix
  • edit_audio_stitch
  • edit_audio_trim
  • edit_split_screen
  • add_captions
  • extract_audio_from_video
  • generate_reference_video
  • render_html_animation

如果服务器预算耗尽或渲染在后台运行,任何已加载的剧本 MCP 工作器都可能返回 {task_id, status},而不是内联 URL/结果。发生这种情况时,立即紧密循环调用 task_status(task_id=<task_id>)(不使用 Bash,不休眠),直到 status 为 completed、failed 或 cancelled;若已完成,则将返回的 result 字段作为该工具的输出,继续执行剧本。如果任务仍处于 queued 或 running 状态,不要使用占位 URL 继续执行。

从技能目录读取文件,将 state.handle 和 state.brief 一并传入,并运行其流程。

关键规则 — 不要重复已完成的工作。 你是同一对话中的同一个 Agent;你在阶段 0 中抓取并展示的所有内容仍保留在上下文中。加载剧本时:

  • 如果用户从 0c 采样器中选定了某个具体趋势(已设置 state.pick),且 state.profile 已存在并且 state.identity_confirmed = true → 将其作为选定趋势传入。 跳过剧本自己的菜单构建(阶段 2–3);如有需要,快速抓取一次以确认选择,然后从剧本的**阶段 4(制作方案)**继续。重新研究并生成一份新菜单会浪费一个回合,还可能出现用户没有要求的趋势。
  • 如果已设置 state.pick,但没有已确认的个人资料 → 从已加载剧本的阶段 1开始,让其身份确认关卡先运行,但不要沿着阶段 1 的交接进入阶段 2。身份确认后,传入已选趋势并从阶段 4 继续;只跳过阶段 2–3。
  • 如果你已在 0b/0c 中创建 state.profile,且 state.identity_confirmed = true → 复用它。不要重新抓取。 直接跳转到剧本的趋势阶段,并使用已确认的个人资料。
  • 如果只确定了格式(尚未选定具体趋势),且没有已确认的个人资料 → 从已加载剧本的阶段 1开始,让其身份确认关卡先运行。如果 state.profile 和 state.identity_confirmed = true 已存在,则从**阶段 2(趋势研究)**继续并跳过重新抓取。

用一行话告知用户:“正在从这里开始打造你的{format}趋势。” 然后从适当阶段开始,严格按照剧本说明执行,直至完成制作、编辑和循环阶段。

阶段 2 — 循环(切换格式)

剧本完成后,会运行自己的阶段 7 循环(“要从此菜单中再做一个吗?”)。在此基础上增加一个选项:“……或者想切换格式吗?说‘切换到 dance/pov/talking/duet’,我就会为你切换过去——你的个人资料已经加载,因此我们可以直接开始看趋势。” 切换格式时,设置新的 state.format,保留 state.profile 和 state.identity_confirmed = true,然后重新进入阶段 1(加载新格式的剧本,并从其阶段 2 继续)。如果缺少身份确认标记,则先运行新格式的阶段 1 身份确认关卡,再研究趋势。除非身份尚未确认,否则在同一会话中不会重新抓取个人资料。

不要做的事

  • 不要在这里重新实现生产流程。 此技能负责解析格式并加载操作手册。脚本撰写、镜头列表、生成和剪辑流程都位于 formats/ 下的格式操作手册中——运行这些手册,不要转述其内容。
  • Stage 0 之后不要重新抓取个人资料。 每个会话只抓取一次;将 state.profile 传递给格式操作手册以及任何格式切换。
  • 如果用户已在 0c 中选定卡片,不要重新生成菜单。 将所选卡片传递给操作手册的 Stage 4。重新研究会浪费一次交互,还可能偏离所选趋势。
  • 不要编造或凑数填充跨格式采样器。 每张卡片都需要真实的参考链接和达到门槛的播放次数。真实卡片少一些,也胜过凑出十张——请参阅病毒式传播凭据门槛。
  • 不要只筛选与用户确切细分领域相关的趋势。 跨格式寻找真实的广泛趋势;用户的风格通过格式操作手册中的脚本/字幕来体现。请参阅广泛趋势与细分领域菜单规则,以及趋势与风格分离规则。
  • 不要展示轮播或转场趋势。 这些不属于此工具包的范围——它们不是 Content Director 的一部分。
  • 用户不确定时,不要跳过格式问题。 根据个人资料给出建议(0b),或展示采样器(0c);绝不要默默猜测格式并开始制作。
  • 没有账号名时不要继续。 建议和每份格式操作手册都需要账号名——Stage 0a 会阻止流程继续,直到用户提供账号名。

评论

支持 Markdown