content-director

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Content Director — Bundle (format router)

内容导演工具——合集版(格式路由工具)

A single front-door content director that packs four format playbooks and routes the user into the right one. Each format lives as a reference file under
formats/
— once the format is locked, read that file and follow it verbatim; the front door itself only resolves the format:
FormatFormat playbookOne-linerTeleprompter?
Talking-to-camera
formats/talking.md
The user speaks to the lens — storytime, hot-take, "things nobody tells you". Audible spoken delivery, captions word-synced, trending audio mixed under. The user films.✅ Yes — script needs reading aloud
Silent POV
formats/pov.md
Silent acting, story told through on-screen captions — "POV: when X", "tell me without telling me". Trending sound baked in. The user films.❌ No — silent acting, follows a shot list, not a script
Dance
formats/dance.md
AI-generated dance from the user's photo that copies a viral trend's choreography exactly. No filming, silent output (user attaches the sound at upload).❌ No — AI-generated, no human filming
Stitch / Duet
formats/duet.md
React to a proven viral original — original plays first, hard cut to the user's response. The agent finds the video and writes the take; the user films their half.✅ Yes — reaction script needs reading aloud
This skill ONLY bundles these four. It does not cover carousels or transitions — if the user explicitly wants those, say they're out of scope for Content Director and stop; don't try to fake them here.
Teleprompter handoff (talking + duet only). Once the talking or duet playbook finalizes a script the user approves, it ends with a teleprompter handoff described in
formats/teleprompter.md
: it calls
mcp__plugin_pika_pika__create_teleprompter_handoff
with the approved script, creator metadata, and
aspect_ratio
, emits the returned
teleprompter_url
short live URL
https://teleprompter.pika.bot/r?t=...
, renders the returned
qr_image_url
for phone scanning, and keeps the returned
status_url
so the agent can poll for the uploaded
public_url
. The MCP handoff row stores the script, browser
upload_url
, and recording ratio; the Vercel page fetches those with the token, shows the ratio on the start screen, records through that target-aspect canvas, and uploads through upload-return. It falls back to Share/Save if upload fails. Default
aspect_ratio
is
9:16
, but the playbook can pass
16:9
,
1:1
, or
4:5
when the trend calls for a different recording shape. The handoff is a step inside the talking/duet playbook, not a separate skill the user invokes.
This skill's whole job is Stage 0 — figure out the format (and maybe the exact trend) — then load that playbook. Everything after is the format playbook's pipeline, run verbatim. Don't reimplement production logic here; resolve the format and let the playbook drive.
这款统一入口的内容导演工具整合了四种格式剧本,可将用户引导至合适的创作流程。每种格式对应
formats/
目录下的参考文件——一旦确定格式,请严格读取并遵循该文件内容;入口工具仅负责确定格式:
格式格式剧本一句话说明是否需要提词器?
镜头前讲解(Talking-to-camera)
formats/talking.md
用户对着镜头讲话——故事分享、热门观点、“没人告诉你的事”风格。需清晰的口语表达,字幕与台词同步,背景搭配热门音频。由用户拍摄。✅ 是——需要朗读脚本
无声POV
formats/pov.md
无声表演,通过屏幕字幕讲述故事——“POV: 当X发生时”、“暗示你是X但不明说”风格。内置热门音效。由用户拍摄。❌ 否——无声表演,遵循镜头列表而非脚本
舞蹈
formats/dance.md
根据用户照片生成AI舞蹈视频,精准复刻热门趋势的舞蹈动作。无需拍摄,输出为无声视频(用户上传时自行添加音效)。❌ 否——AI生成,无需真人拍摄
合拍/对唱(Stitch / Duet)
formats/duet.md
对已验证的热门原创视频做出反应——先播放原视频,再硬切至用户的反应内容。Agent会找到合适的视频并撰写反应脚本,用户拍摄自己的部分。✅ 是——需要朗读反应脚本
本工具仅整合以上四种格式,不支持轮播图或转场效果——如果用户明确要求这些内容,请告知其不在内容导演工具的服务范围内并终止流程;请勿尝试模拟相关功能。
提词器交接(仅适用于镜头前讲解和对唱格式)。当镜头前讲解或对唱剧本最终确定用户认可的脚本后,需按照
formats/teleprompter.md
中的说明完成提词器交接:调用
mcp__plugin_pika_pika__create_teleprompter_handoff
接口,传入已认可的脚本、创作者元数据和
aspect_ratio
参数,获取返回的
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阶段——确定格式(可能包括具体趋势)——然后加载对应剧本。后续所有流程均由格式剧本驱动,需严格遵循其流程。请勿在此处重新实现生产逻辑;只需确定格式,交由剧本执行即可。

Parameters

参数

  • handle (required) — IG or TikTok handle in any of
    @name
    /
    name
    / full-URL form. Saved as
    state.handle
    . Asked in Stage 0.
  • format (optional) — one of
    talking
    /
    pov
    /
    dance
    /
    duet
    . If the user names it up front (e.g.
    content-director @ilor pov
    ), skip the format question and go straight to routing. If absent or "not sure", Stage 0 resolves it.
  • brief (optional) — goal / camera comfort / filming constraints / language. Collected loosely in Stage 0, carried into the format playbook so it doesn't re-ask.
  • handle(必填)——IG或TikTok账号,支持
    @name
    /
    name
    / 完整URL格式。保存为
    state.handle
    ,在第0阶段收集。
  • format(可选)——可选值为
    talking
    /
    pov
    /
    dance
    /
    duet
    。如果用户直接指定格式(例如
    content-director @ilor pov
    ),则跳过格式选择步骤,直接进入路由流程。若未指定或“不确定”,则在第0阶段确定格式。
  • brief(可选)——创作目标/镜头拍摄舒适度/拍摄限制/语言。在第0阶段大致收集,带入格式剧本以避免重复询问。

Stage 0 — Pick a format (this is the whole skill)

第0阶段——选择格式(本工具的核心流程)

This stage has three moves. Always do 0a. Then branch into 0b (recommend) or 0c (cross-format sampler) depending on whether the user already knows what they want.
本阶段包含三个步骤。始终先执行0a,然后根据用户是否明确需求,分支执行0b(推荐)或0c(跨格式样本菜单)。

Step 0a — Intake (print verbatim, then stop and wait)

步骤0a——信息收集(严格按以下内容输出,然后等待用户回复)

If
$ARGUMENTS
carries no handle, print this verbatim and wait — do not call any tool until the user replies:
I'm your content director — I can build you four kinds of trend videos. Which one are you in the mood for?
  1. 🗣️ Talking-to-camera — you talk to the lens. Storytime, hot takes, "things nobody tells you", confessionals. Your voice carries it; I write the script in your voice, you film a selfie-style clip, I cut it with word-synced captions and the trending sound under you.
  2. 🎬 Silent POV — no talking. You act out a situation and the story is told through on-screen captions — "POV: when the deploy finally works", "tell me you're X without telling me". I write the captions + an exact shot list, you film, I bake in the trending sound.
  3. 💃 Dance — you don't even have to film. Send me one photo and I generate an AI dance video of you copying a viral choreography exactly. Silent output; you attach the sound on-platform at upload.
  4. 🤝 Stitch / Duet — react to a viral video. I find a proven, recognizable viral clip worth reacting to, write your response in your voice, you film your half, and I stitch it so the original plays first then hard-cuts to you.
Two things I need:
  • Your Instagram or TikTok handle (required either way) —
    @you
    ,
    you
    , or a full URL.
  • Which format? Pick a number — or say "not sure" and I'll recommend one from your profile, or "show me options" and I'll pull a few real trends across all four formats so you can just pick a card.
Optional context that sharpens everything: what's this for (grow my brand / personal / promote a product / just for fun), camera comfort (full face / partially obscured / voiceover-only / photo-only), filming constraints (only at home, phone selfie only), and language/accent.
Once a reply arrives:
  • Save the handle as
    state.handle
    and any optional context as
    state.brief
    .
  • If the user picked a number / named a format → skip to Stage 1 (Route).
  • If the user said "not sure" → go to 0b.
  • If the user said "show me options" / "show me trends" / "pick a card for me" → go to 0c.
  • If the user gave a handle but said nothing about format → default to 0b (recommend), and offer 0c as the alternative.
如果
$ARGUMENTS
中未包含账号,严格输出以下内容并等待——在用户回复前请勿调用任何工具:
我是你的内容导演——我可以帮你制作四种类型的趋势视频。你想尝试哪一种?
  1. 🗣️ 镜头前讲解——你对着镜头讲话。适合故事分享、热门观点、“没人告诉你的事”、自白类内容。由你的声音主导;我会用你的风格撰写脚本,你拍摄自拍风格的视频片段,我会为视频添加台词同步字幕,并搭配热门音频。
  2. 🎬 无声POV——无需讲话。你表演场景内容,通过屏幕字幕讲述故事——“POV: 当部署终于成功时”、“暗示你是X但不明说”风格。我会撰写字幕+精确的镜头列表,你负责拍摄,我会为视频内置热门音效。
  3. 💃 舞蹈——你甚至无需拍摄。发送一张你的照片,我会生成AI舞蹈视频,精准复刻热门舞蹈动作。输出为无声视频;你只需在平台上传时自行添加音效即可。
  4. 🤝 合拍/对唱——对热门视频做出反应。我会找到已验证、辨识度高的热门视频,用你的风格撰写反应内容,你拍摄自己的部分,我会将视频拼接为原视频先播放,再硬切至你的反应内容。
我需要你提供两项信息:
  • 你的Instagram或TikTok账号(必填)——格式可为
    @you
    you
    或完整URL。
  • 选择哪种格式? 选择对应数字——或者说“不确定”,我会根据你的账号内容推荐合适的格式;或说“展示选项”,我会提供跨四种格式的真实趋势卡片供你选择。
可选补充信息(能优化创作效果):创作目的(打造品牌/个人分享/推广产品/娱乐)、镜头拍摄舒适度(全脸出镜/部分遮挡/仅旁白/仅照片)、拍摄限制(仅在家拍摄/仅手机自拍)、语言/口音。
收到用户回复后:
  • 将账号保存为
    state.handle
    ,将可选补充信息保存为
    state.brief
  • 如果用户选择了数字/指定了格式 → 跳过至第1阶段(路由)
  • 如果用户说“不确定” → 执行0b步骤。
  • 如果用户说“展示选项”/“展示趋势”/“帮我选卡片” → 执行0c步骤。
  • 如果用户提供了账号但未提及格式 → 默认执行0b(推荐),并提供0c作为备选。

Step 0b — Recommend a format from their profile

步骤0b——根据用户账号推荐格式

Scrape the profile once (
mcp__plugin_pika_pika__scrape_social
on
state.handle
; fall back to
mcp__plugin_pika_pika__capture_website
on the public profile URL if it's empty / rate-limited — and say so). Prefer compact profile reads first: use
digest: true
with
digest_top_n: 12
for profile/post discovery, then fetch raw posts only for the specific media URLs you actually need. Pull the most recent 12–20 posts only when the compact result is not enough.
Identity-confirmation gate before profiling. Before you synthesize
state.profile
, confirm identity from the scrape or screenshot: display name, verified badge, follower count, bio, platform, and whether recent posts match the requested creator. Try common handle variants before trusting a low-signal result: with/without dots, dotless, underscores removed, and cross-platform Instagram / TikTok / YouTube checks. Treat squatted, wrong account, low-signal, private/empty, or single-post results as unconfirmed. When unconfirmed, stop and ask "Is this you?" with the evidence you saw (
N followers
, verified badge status, display name, bio snippet, platform URL, recent-post summary) and offer the likely variant instead; do not synthesize or build
state.profile
before identity is confirmed. Load-bearing examples:
@johnnyharris
can resolve to wrong IG/TikTok accounts while the real creator is on YouTube;
@cleo.abram
should trigger a dotless
@cleoabram
variant check.
After identity is confirmed, set
state.identity_confirmed = true
, then synthesize a short
state.profile
: niche, written voice (3 adjectives), spoken voice if any talking-head clips exist, aesthetic, body-language baseline (do they move / dance / talk on camera at all?), what already over-performs. Keep this
state.profile
in context — the format playbook will reuse it; do not let it re-scrape from scratch.
Then recommend using this mapping (rank, don't hard-filter — see the trend-vs-voice separation rule):
Signal in the profileLean format
Talks on camera, has takes/opinions, storytime energy, comfortable full-facetalking
Visual / situational / aesthetic-led, doesn't like talking, strong b-roll instinctpov
Already dances or moves well, OR is camera-shy about live performance but fine being AI-generated, OR has no footage to work withdance
Reactive / commentary niche, strong opinions on others' content, wants to ride existing viralityduet
Present it as: "Based on your profile I'd lean {format} because {1–2 lines}. Want me to run with that, or see a few trends across all four formats first?" If they confirm → Stage 1. If they want options → 0c.
仅抓取一次用户账号内容(调用
mcp__plugin_pika_pika__scrape_social
接口,传入
state.handle
;如果结果为空/触发限流,则回退调用
mcp__plugin_pika_pika__capture_website
接口抓取公开账号URL——并告知用户此情况)。优先使用精简的账号读取方式:设置
digest: true
digest_top_n: 12
来发现账号/帖子内容,仅在需要时才抓取特定媒体URL的原始帖子。仅当精简结果不足时,才抓取最近12–20条帖子。
身份确认前置校验。在生成
state.profile
之前,需通过抓取内容或截图确认身份:显示名称、认证标识、粉丝数量、简介、平台,以及最近的帖子是否匹配用户要求。在信任低信号结果之前,尝试常见的账号变体:带/不带点、无点格式、移除下划线,以及跨平台(Instagram/TikTok/YouTube)校验。将抢注账号、错误账号、低信号账号、私密/空账号或仅含单条帖子的结果视为未确认。如果身份未确认,停止操作并询问**“这是你的账号吗?”**,同时展示你获取的证据(
N
粉丝、认证状态、显示名称、简介片段、平台URL、最近帖子摘要),并提供可能的正确账号变体;在身份确认前,请勿生成或构建
state.profile
。典型示例:
@johnnyharris
可能指向错误的IG/TikTok账号,而真实创作者在YouTube;
@cleo.abram
需触发无点格式
@cleoabram
的变体校验。
身份确认后,设置
state.identity_confirmed = true
,然后生成简短的
state.profile
:细分领域、文字风格(3个形容词)、口语风格(如果存在镜头前讲话片段)、审美风格、肢体语言基准(是否在镜头前移动/跳舞/讲话?)、哪些内容表现较好。请保留该
state.profile
上下文——格式剧本会复用此信息;请勿让剧本重新抓取内容。
然后根据以下映射关系推荐格式(按优先级排序,而非硬过滤——请遵循趋势与风格分离规则):
账号内容信号推荐格式
有镜头前讲话内容、观点输出、故事分享风格、舒适全脸出镜talking
视觉/场景/审美主导、不喜讲话、有较强的备用镜头意识pov
已有舞蹈或动作内容,或者对真人出镜害羞但接受AI生成内容,或者无可用素材dance
专注评论/反应类内容、对他人内容有明确观点、想要借助已有热度duet
推荐话术示例:**“根据你的账号内容,我推荐你选择*{format}格式,原因是{1-2句话}。要直接开始制作,还是先看看跨四种格式的趋势选项?”* 如果用户确认 → 进入第1阶段。如果用户想要查看选项 → 执行0c步骤。

Step 0c — Cross-format sampler menu (~10 real cards across the four formats)

步骤0c——跨格式样本菜单(约10张覆盖四种格式的真实卡片)

This is the "give me a trend for each format and I'll choose" path. Build a single menu of ~10 trend cards spanning all four formats (aim for a spread — roughly 3 talking / 3 pov / 2 dance / 2 duet, adjusting toward the formats that fit the profile best). Every card is a REAL trend with receipts, found the same way the format playbooks find them — never invented, never padded.
Before building the sampler, require
state.profile
and
state.identity_confirmed = true
. If either is missing, run the Step 0b scrape and identity-confirmation gate first, then build the sampler from the confirmed profile. Do not build sampler cards from an unconfirmed handle.
Use each format's own research method and gate:
  • talking / pov — fingerprinted or culturally-recognized viral formats. Reference clips ≥500K plays (broad) or ≥50K (niche). See the virality receipts gate and the trend fingerprint gate.
  • dance — a currently-viral dance with a concrete, openable reference-clip URL whose choreography we can copy.
  • duet — a viral, recognizable ORIGINAL worth reacting to; proof is the original's ≥500K plays, not a replication wave. See the duet reaction model.
Research order (don't skip — this order is the gate): discover named trends this week via WebSearch across 3+ creator-tool blogs (Later / Hootsuite / Buffer / OpusClip / Manychat) → capture each fingerprint (audio URL or verbatim opener) → verify replicators / play counts via
mcp__plugin_pika_pika__scrape_social
(
tiktok/hashtag
,
tiktok/keyword
,
tiktok/trending-feed
with
params.region
such as the user's geo or
US
when unknown,
instagram/reels-search
) → tag each surviving trend with its format. Drop anything that can't show the receipts. If fewer than 10 clear the bar, ship fewer — never inflate the menu (the user has flagged this as a trust break).
Card format:
[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)
Save the set as
state.sampler
. Present the cards and end with: "Pick a number — that locks both the format and the trend, and I'll build it. Or tell me a format and I'll dig deeper into just that one."
When the user picks a card, set
state.format
from the card's badge and
state.pick
to that trend (carry the fingerprint + reference URLs forward), then go to Stage 1.
此路径适用于“每种格式给我一个趋势选项,我来选择”的场景。构建一个包含约10张覆盖四种格式的趋势卡片的菜单(尽量均衡分布——大致3张talking/3张pov/2张dance/2张duet,可根据账号适配情况调整比例)。每张卡片均为带验证信息的真实趋势,采用与格式剧本相同的方式查找——请勿虚构或填充内容。
在构建样本菜单前,需确保
state.profile
存在且
state.identity_confirmed = true
。如果缺少任一条件,先执行步骤0b的抓取和身份确认流程,再基于已确认的账号内容构建样本菜单。请勿基于未确认的账号构建样本卡片。
采用每种格式对应的调研方法和校验规则:
  • talking / pov——已被识别的热门格式。参考视频需满足**≥50万播放量(通用领域)≥5万播放量(细分领域)**。请遵循热度验证规则和趋势特征校验规则。
  • dance——当前热门的舞蹈,需提供可打开的参考视频URL,且其舞蹈动作可被精准复刻。
  • duet——热门、辨识度高的原创视频,值得做出反应;验证标准为原视频≥50万播放量,而非模仿视频的播放量。请遵循对唱反应模型规则。
调研顺序(请勿跳过——此顺序为校验流程):通过WebSearch从3+创作者工具博客(Later/Hootsuite/Buffer/OpusClip/Manychat)查找本周已命名的趋势 → 记录每个趋势的特征(音频URL或开场台词) → 通过
mcp__plugin_pika_pika__scrape_social
接口(
tiktok/hashtag
tiktok/keyword
tiktok/trending-feed
params.region
可设置为用户所在地区,未知时设为
US
instagram/reels-search
)验证模仿视频/播放量 → 为通过验证的趋势标记对应格式。移除所有无法提供验证信息的趋势。如果通过验证的趋势不足10个,就展示实际数量——请勿填充内容(用户会将填充内容视为信任破坏)。
卡片格式:
[N] {格式标识: 🗣️ TALKING / 🎬 POV / 💃 DANCE / 🤝 DUET}  •  {趋势名称(≤4个单词)}
    特征: {音频名称+艺术家 或 开场台词 或 (对唱)原视频名称/内容}
    模板: {一句话说明——所有模仿视频遵循的结构,或(对唱)明确的反应方向}
    选择前需满足: {无 或 明确说明所需的披露/道具/地点/手机方向/来源限制}
    适配{handle}的原因: {1句符合用户风格的说明}
    ▶ 参考{视频/原视频}(真实可打开,满足播放量阈值):
       1. {URL} — {播放量}播放,创作者账号{creator handle},发布日期{date}
       2. {URL} — {播放量}播放,创作者账号{creator handle},发布日期{date}
       3. {URL} — {播放量}播放,创作者账号{creator handle},发布日期{date}     (对唱格式:仅需1个原视频URL及其播放量即可)
将卡片集合保存为
state.sampler
。展示卡片后,结尾话术:“选择对应数字——这会锁定格式和趋势,我将开始制作。或者告诉我你想要的格式,我会深入提供该格式的趋势选项。”
当用户选择卡片后,将卡片标识中的格式设置为
state.format
,将该趋势设置为
state.pick
(携带特征+参考URL),然后进入第1阶段。

Stage 1 — Load the format playbook

第1阶段——加载格式剧本

Once
state.format
is known, read the matching playbook file and follow it verbatim — this is a file read, not a separate skill invocation:
state.format
Read playbook
talking
formats/talking.md
pov
formats/pov.md
dance
formats/dance.md
duet
formats/duet.md
确定
state.format
后,严格读取对应剧本文件并遵循其内容——此操作为文件读取,而非调用独立工具:
state.format
读取的剧本文件
talking
formats/talking.md
pov
formats/pov.md
dance
formats/dance.md
duet
formats/duet.md

Step 1a — Loaded playbook capability surface

步骤1a——加载剧本的能力范围

Because this registered skill loads the format playbooks instead of registering separate slash skills, its
required-capabilities
frontmatter declares the union of MCP tools those playbooks may invoke:
  • mcp__plugin_pika_pika__scrape_social
  • mcp__plugin_pika_pika__task_status
  • mcp__plugin_pika_pika__capture_website
  • mcp__plugin_pika_pika__transcribe_audio
  • mcp__plugin_pika_pika__analyze_media
  • mcp__plugin_pika_pika__create_teleprompter_handoff
  • mcp__plugin_pika_pika__probe_media
  • mcp__plugin_pika_pika__edit_trim
  • mcp__plugin_pika_pika__edit_concat
  • mcp__plugin_pika_pika__edit_reframe
  • mcp__plugin_pika_pika__edit_transcode
  • mcp__plugin_pika_pika__edit_video_upscale
  • mcp__plugin_pika_pika__edit_audio_replace
  • mcp__plugin_pika_pika__edit_audio_mix
  • mcp__plugin_pika_pika__edit_audio_stitch
  • mcp__plugin_pika_pika__edit_audio_trim
  • mcp__plugin_pika_pika__edit_split_screen
  • mcp__plugin_pika_pika__add_captions
  • mcp__plugin_pika_pika__extract_audio_from_video
  • mcp__plugin_pika_pika__generate_reference_video
  • mcp__plugin_pika_pika__render_html_animation
Any loaded playbook MCP worker can return
{task_id, status}
instead of an inline URL/result when the server budget expires or a render runs in the background. When that happens, immediately call
mcp__plugin_pika_pika__task_status(task_id=<task_id>)
in a tight loop (no Bash, no sleep) until
status
is
completed
,
failed
, or
cancelled
; when completed, continue the playbook with the returned
result
field as that tool's output. Do not proceed with placeholder URLs while a task is still
queued
or
running
.
Read the file from the skill directory, carry
state.handle
and
state.brief
into it, and run its pipeline.
Critical rule — don't redo work you've already done. You are the same agent in the same conversation; everything you scraped and surfaced in Stage 0 is still in context. When you load the playbook:
  • If the user picked a specific trend from the 0c sampler (
    state.pick
    is set) and
    state.profile
    plus
    state.identity_confirmed = true
    exist → carry it in as the chosen trend. Skip the playbook's own menu-building (Stages 2–3); confirm the pick with a quick verification scrape if needed, then resume the playbook at its Stage 4 (production package). Re-researching a fresh menu here wastes a turn and may surface a trend the user didn't ask for.
  • If
    state.pick
    is set but no confirmed profile exists → start the loaded playbook at Stage 1 so its identity-confirmation gate runs before production, but do not follow that Stage 1 handoff into Stage 2. After identity is confirmed, carry the picked trend forward and resume at Stage 4; skip only Stages 2–3.
  • If you already built
    state.profile
    in 0b/0c and
    state.identity_confirmed = true
    reuse it. Do NOT re-scrape. Jump straight to the playbook's trend stage with the confirmed profile already in hand.
  • If only the format is locked (no specific trend yet) and no confirmed profile exists → start the loaded playbook at Stage 1 so its identity-confirmation gate runs. If
    state.profile
    and
    state.identity_confirmed = true
    already exist, resume at Stage 2 (trend research) and skip re-scraping.
State it to the user in one line — "Building your {format} trend from here." — then follow the playbook's instructions verbatim from the appropriate stage through its production, edit, and loop stages.
由于本注册工具加载格式剧本而非注册独立的斜杠工具,其
required-capabilities
前置声明需包含这些剧本可能调用的所有MCP工具:
  • mcp__plugin_pika_pika__scrape_social
  • mcp__plugin_pika_pika__task_status
  • mcp__plugin_pika_pika__capture_website
  • mcp__plugin_pika_pika__transcribe_audio
  • mcp__plugin_pika_pika__analyze_media
  • mcp__plugin_pika_pika__create_teleprompter_handoff
  • mcp__plugin_pika_pika__probe_media
  • mcp__plugin_pika_pika__edit_trim
  • mcp__plugin_pika_pika__edit_concat
  • mcp__plugin_pika_pika__edit_reframe
  • mcp__plugin_pika_pika__edit_transcode
  • mcp__plugin_pika_pika__edit_video_upscale
  • mcp__plugin_pika_pika__edit_audio_replace
  • mcp__plugin_pika_pika__edit_audio_mix
  • mcp__plugin_pika_pika__edit_audio_stitch
  • mcp__plugin_pika_pika__edit_audio_trim
  • mcp__plugin_pika_pika__edit_split_screen
  • mcp__plugin_pika_pika__add_captions
  • mcp__plugin_pika_pika__extract_audio_from_video
  • mcp__plugin_pika_pika__generate_reference_video
  • mcp__plugin_pika_pika__render_html_animation
当服务器预算耗尽或渲染在后台运行时,任何加载的剧本MCP工具可能返回
{task_id, status}
而非内联URL/结果。此时需立即调用
mcp__plugin_pika_pika__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}趋势视频。”,然后从对应阶段开始严格遵循剧本说明执行生产、编辑和循环流程。

Stage 2 — Loop (format switching)

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

After the playbook delivers, it runs its own Stage-7 loop ("do another from this menu?"). Layer one extra option on top: "…or want to switch formats? Say 'switch to dance/pov/talking/duet' and I'll route you over — your profile's already loaded, so we go straight to trends." On a format switch, set the new
state.format
, keep
state.profile
and
state.identity_confirmed = true
, and re-enter Stage 1 (load the new format's playbook, resume at its Stage 2). If the identity flag is missing, run the new format's Stage 1 identity-confirmation gate before trend research. The profile never gets re-scraped within a session unless identity is unconfirmed.
剧本交付后,会执行自身的第7阶段循环(“从该菜单再制作一个?”)。在此基础上添加一个额外选项:“…或者想要切换格式?说‘switch to dance/pov/talking/duet’,我会将你引导至对应格式——你的账号信息已加载,可直接进入趋势选择。” 当切换格式时,设置新的
state.format
,保留
state.profile
state.identity_confirmed = true
,然后重新进入第1阶段(加载新格式的剧本,从其第2阶段继续)。如果身份标识缺失,则在趋势调研前执行新格式的第1阶段身份确认流程。除非身份未确认,否则在会话期间请勿重新抓取账号内容。

What NOT to do

禁止操作

  • Don't reimplement production here. This skill resolves the format and loads the playbook. The script-writing, shot lists, generation, and edit pipelines live in the format playbooks under
    formats/
    — run those, don't paraphrase them.
  • Don't re-scrape the profile after Stage 0. One scrape per session; carry
    state.profile
    into the format playbook and any format switch.
  • Don't rebuild a menu when the user already picked a card in 0c. Carry the pick into the playbook's Stage 4. Re-researching burns a turn and risks drifting off the chosen trend.
  • Don't invent or pad the cross-format sampler. Every card needs real reference links + play counts at threshold. Fewer real cards beats ten padded ones — see the virality receipts gate.
  • Don't filter trends down to the user's exact niche. Find real broad trends across formats; the user's voice attaches via the script/captions in the format playbook. See the broad-versus-niche menu rule and the trend-vs-voice separation rule.
  • Don't surface carousel or transition trends. Out of scope for this bundle — they're not part of Content Director.
  • Don't skip the format question when the user is unsure. Recommend from the profile (0b) or show the sampler (0c); never silently guess a format and start producing.
  • Don't proceed without a handle. Both the recommendation and every format playbook need it — Stage 0a blocks until it arrives.
  • 请勿在此处重新实现生产逻辑。本工具仅负责确定格式并加载剧本。脚本撰写、镜头列表、生成和编辑流程均位于
    formats/
    目录下的格式剧本中——请执行这些剧本,请勿改写内容。
  • 第0阶段后请勿重新抓取账号内容。每个会话仅抓取一次;将
    state.profile
    带入格式剧本和任何格式切换流程。
  • 当用户已从0c样本菜单选择卡片时,请勿重新构建菜单。将已选趋势带入剧本的第4阶段。重新调研会浪费流程,且可能偏离用户选择的趋势。
  • 请勿虚构或填充跨格式样本菜单。每张卡片需包含真实参考链接+符合阈值的播放量。真实卡片数量少优于10张填充卡片——请遵循热度验证规则。
  • 请勿将趋势过滤至用户的精确细分领域。查找跨格式的真实通用趋势;用户的风格会通过格式剧本中的脚本/字幕体现。请遵循通用与细分菜单规则以及趋势与风格分离规则。
  • 请勿展示轮播图或转场趋势。不在本合集的服务范围内——不属于内容导演工具。
  • 当用户不确定时,请勿跳过格式选择步骤。根据账号内容推荐(0b)或展示样本菜单(0c);请勿擅自猜测格式并开始制作。
  • 无账号信息时请勿继续流程。推荐功能和所有格式剧本均需账号信息——第0a阶段会阻塞流程直到获取账号信息。