Communitygithub.com

DingYi1024/拼贴视频工作室

支持断点续传、可审计的纸艺拼贴视频制作技能,集成真实媒体后端、质量保障、恢复和打包功能。

拼贴视频工作室 是什么?

Collage Video Studio 是一个面向 AI 代理的高级技能,用于管理纸艺拼贴视频制作的完整生产流程。它专为 Claude Code、Cursor 等 AI 编码工具设计,将生产作为一个可恢复的项目进行编排。该技能通过严格的流程确保创意和资产的一致性:创意意图保存在 `project.json` 中,生成的中间结果存储在 `state.json` 中,所有提供者执行记录在 JSONL 清单中,最终输出则分门别类地放入 `media/`、`qa/`、`reports/` 和 `exports/` 目录。其核心价值在于支持审计和恢复。如果某个生成步骤失败,代理可以检查状态并精确地从该步骤恢复,而无需重新生成整个项目。该技能支持三种输入模式:`topic`(创意)、`footage`(已有视频)和 `photo`(真实照片),严格遵循用户意图。其工作流程包含多个阶段,例如故事审批、视觉方向审批和媒体生成,每个阶段都有清晰的门控和检查点,确保在进入下一步之前获得用户批准。这套结构化方法对于制作高质量、多平台的纸艺拼贴视频内容尤为有用,既能保证创意控制,又能利用自动化媒体的强大功能。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add DingYi1024/collage-video-studio

在你喜欢的 AI 中提问

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

文档

拼贴视频工作室 是做什么的?

将生产作为一个可恢复的项目进行导演。创意意图保存在 project.json 中,生成的结果保存在 state.json 中,提供者执行过程记录在 JSONL 清单中,派生输出则放在 media/、qa/、reports/ 和 exports/ 目录中。

路由请求

在询问用户已提供的信息之前,先阅读对话并检查提供的任何项目目录。

用户意图操作
开始、制作、创建初始化并起草故事
继续、恢复、下一步运行 project_ops.py next 并执行其单个操作
状态、阻塞、失败运行 studio.py status --verbose,然后诊断最小的单元
保存、检查点创建不可变项目/状态检查点
回溯、恢复列出检查点;仅恢复用户选择的那一个
审计、检查、准备发布运行技术质量审核,然后进行人工创意审查
报告、打包、移交生成有依据的报告和便携归档包
添加或更改提供者阅读后端契约并实现适配器

如果没有现有项目或可用的简要说明,仅询问创意/来源、目标时长和语言。除非用户或目标平台已固定帧,否则使用 --aspect auto。在第一次节拍图审查中显示解析后的宽高比及其原因。

选择输入模式

  • topic:根据创意生成旁白和视觉效果。
  • footage:重新风格化现有表演视频,同时保留时间和原始音频。
  • photo:将一张真实的人像或产品照片锚定到生成的场景中。

切勿修改原始照片或素材。

初始化

定位此技能目录,然后运行:

python scripts/studio.py doctor
python scripts/studio.py init <project-dir> --mode topic \
  --topic "<topic>" --duration 30 --aspect auto --language zh

阅读:

  • production-standard-v6.md 首先用于每个新的作品集制作;它使正式的 Remotion 电影、制作来源、全片多样性、响应式导演、动作证明和项目范围构图证明成为强制要求;
  • production-protocol-v5.md 首先用于每个新的制作;它绑定场景、故事板、来源族、提供者支出、时间安排、修订、证明和运行时失效;
  • story-system.md 在编写节拍之前;
  • visual-system.md 在编写主题或提示之前;
  • layered-motion.md 当需要独立移动图层或确定性视差时;
  • advanced-layer-primitives.md 在编写注册源族、姿态序列、持久可见性、循环条或种子化母题字段之前;
  • editorial-composition.md 在编写递归组、可编辑文本/数据图形、相机耦合视差或响应式导演计划之前;
  • semantic-contracts.md 在生成命名标识、空间拓扑、机制解释或信息图之前;
  • quality-gates.md 在接受剪切或编译场景之前;
  • responsive-direction.md 当交付超过一种宽高比时;
  • provider-lifecycle.md 在进行付费生成、拒绝、恢复、取代或故意复用工件之前;
  • production-profiles.md 在进行付费生成之前;它定义了草稿/平衡/全深度下限、精确尝试预算、工件指纹和质量审核失效;
  • directed-motion.md 在动画化作品集级分层镜头之前;它定义了主要动作、物理原因、三阶段时序、密度和保持;
  • motion-audit.md 在添加跟随层、接触锁定或交付前检查变换跳变时;
  • smooth-keyframes.md 在对人物或物体进行动画化,且流畅播放比解剖真实感更重要时;
  • articulated-rigs.md 当人物、动物或机制需要连接的肩、肘、翼、轮或铰链运动时;
  • locomotion.md 在将关节角色根部移过画面之前;它定义了交替的着地脚和全身步态循环审查;
  • production-standard.md 用于作品集级纸动画、创作姿态、自然旁白和社交视频交付质量;
  • production-closure.md 用于 Remotion 编辑器、精确的旁白引导帧、语义执行、注册深度堆叠和三种证明类型;
  • voice-continuity.md 在编写、生成或批准旁白之前;
  • delivery-qa.md 在渲染或诊断抖动运动、冻结镜头尾或最终混音响度之前;
  • aspect-direction.md 在锁定横屏或竖屏之前;
  • project-schema.md 在编辑文件或后端时;
  • operations.md 在恢复、恢复或执行作业时;
  • replicate-backend.md 用于捆绑的生产后端;
  • acceptance.md 在声称完成之前。

门控 1 — 批准故事

填写 creative.arc、beats 和 shots。

在批准之前,编译恰好三个场景,批准一个确切的选项上限,并编译节奏故事板:

首先记录版本化的样式卡片、宽高比和视差摄入决策:

python scripts/intake.py choose --aspect <16:9|9:16|1:1> \
  --style <style-id> --parallax <none|restrained|cinematic> \
  --note "<human decision>" --output <project-dir>/build/intake-decision.json
python scripts/production_protocol.py scenarios project.json \
  --output build/scenarios.json
python scripts/production_protocol.py approve build/scenarios.json <profile> \
  --note "<human decision>" --output build/scenario-decision.json
python scripts/production_protocol.py storyboard project.json \
  build/scenarios.json build/scenario-decision.json \
  --output build/storyboard.json

将选定的选项上限复制到 production.approved_visual_attempt_cap 中。配置文件既是上限也是执行下限。不要自动使用恢复储备。

  • 使开头在三秒内可理解。
  • 给每个节拍一个主张或情感转折。
  • 为身份、拓扑、机制和信息图声明声明语义契约。
  • 给每个事实声明一个在其所在节拍内的证明时刻。
  • 给每个场景至少三个连续的节奏阶段以及建立、动作/高潮和最终证明时刻;最终时刻在标准化 0.82 处或之后。
  • 将关键声音和视觉动作绑定到同一事件目录中的同一个证明 ID。
  • 设置 transition_intent 为 reveal、compare、traverse、explain、emphasize、change-time 或 change-place;让编译器选择一致的机制。
  • 优先使用上下文加细节:每个有旁白的节拍使用两个不同的镜头。
  • 普通制作镜头的时长保持在 3 到 6 秒之间。
  • 编写具体的 element_motion;不要使用“使其动态”。
  • 对于导演的分层工作,添加 shot.direction.primary_action、physical_cause 和 motion_density。一个镜头只有一个可读的主动作。
  • 对于素材模式,设置节拍 start_s 和 end_s。
  • 对于照片模式,定义 source.anchor_policy。

运行:

python scripts/studio.py validate <project-dir> --stage story

向用户展示节拍图。在批准之前不要生成媒体。批准后:

python scripts/studio.py approve <project-dir> --gate story --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "story approved"

门控 2 — 批准视觉方向

在 creative.candidate_themes 下创建恰好三个候选方案。让它们在媒介、调色板、排版、纹理、构图和运动特征上有所不同。

python scripts/studio.py jobs <project-dir> --stage styles

对同一个代表性节拍执行每个预览并注册每个结果。将所有三个一起展示。用户选择后:

python scripts/studio.py choose-theme <project-dir> <theme-id>
python scripts/studio.py approve <project-dir> --gate style --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "visual direction approved"

切勿静默替换不受支持的宽高比。

生产媒体

对于每个阶段:

python scripts/studio.py jobs <project-dir> --stage images
python scripts/job_runner.py <project-dir> --stage images \
  --adapter <adapter.py> --dry-run
python scripts/job_runner.py <project-dir> --stage images \
  --adapter <adapter.py> --retries 1

新的主题和照片项目默认使用确定性分层运动。仅当用户明确重视模型创建的变形而非可编辑性和可重复性时,才使用生成式图像到视频;对 motion、voice 和 music 阶段重复媒体步骤。

当请求需要独立移动的纸物体、可编辑视差或显式前景/中景/背景控制时,将 motion.pipeline 设置为 layered,然后执行:

python scripts/studio.py jobs <project-dir> --stage layers
python scripts/job_runner.py <project-dir> --stage layers --adapter <layer-aware-adapter.py>
python scripts/studio.py jobs <project-dir> --stage motion
python scripts/job_runner.py <project-dir> --stage motion --adapter <layer-aware-adapter.py>

阅读 layered-motion.md 了解透明 PNG 和 layers.json 契约。不要将带有整帧缩放或平移的展平关键帧表示为多层运动。为了流畅交付,所有新的制作项目默认为 30 fps。保持 motion.frame_conversion: "auto",以便低于目标的提供者片段通过运动插值而非重复帧来填充。对内部关键帧使用连续曲线,用 phase_s 错开循环对象,并检查 MP4 而非低帧率 GIF。当缓慢运动显示出单像素步进时,使用 2 倍过采样。素材模式跳过 images 和 layers;保留原始音频的素材模式跳过 voice。

对于由主机端图像工具创建的媒体,在生成前保留调用,然后完成或拒绝精确尝试:

python scripts/external_media.py reserve <project-dir> image:<source-id> \
  --provider <provider> --model <model> --prompt "<exact production prompt>"
python scripts/external_media.py complete <project-dir> <attempt-id> <output-file>
python scripts/external_media.py reject <project-dir> <attempt-id> \
  --reason "<review failure>"

不要将未注册的主机输出直接复制到图层包中。作品集制作只接受提供者生成的、用户提供的、许可的、委托的或指纹链接的衍生源。placeholder: true 总是阻碍交付。

对于编辑工作,编写一个递归合成并编译单独的执行计划:

python scripts/editorial_contract.py composition.json \
  --kind composition --output result/manifests
python scripts/asset_quality.py result/manifests/composition-9x16.json \
  --mode composition

不要将横屏布局裁剪为竖屏。通过节点覆盖重新放置标题、主题、数据、注释和背景纸。验证每个宽高比的安全区和可编辑文本适配。当内容必须保持精确和可编辑时,使用本地矢量/文本/图表图元。对结构化路径、曲线、标签和标记使用 data-svg。为注释指定显式排除;编译器必须在所有注释中找到无冲突的位置,否则停止。

对于持续的横向移动,编写一个 looping-environment 并运行 world_motion.py。需要有远/地面条带、递增深度速度、屏幕/世界参与者锚点、近层遮挡、三种宽高比规划、接缝证据和带签名的相机补偿轨迹。阅读 production-standard-v6.md 和 production-protocol-v5.md。

在使用提供者之前声明耦合的 source_packages。相对后/主体/前运动需要一个完整的注册族和 16:9、9:16 及 1:1 的揭示信封。使用 registered_family.py 推导;切勿生成或替换隔离的成员。在去除色度之前观察未经处理的提供者原生关键平面,并保留其源、策略和观察指纹。

在真实的 Remotion 工作区中检查和编辑同一清单:

cd workspace
npm ci
npm run dev

Player 必须保留递归组、深度、关键帧、编辑点、状态序列、持久可见性、瞬态强调、循环条、母题字段、证明时刻、视听提示绑定以及选定的执行计划。在发布前使用 npm run build 和 npm run render 进行验证。

对于精加工工作,将 motion.directed_motion 设置为 true 并遵循 directed-motion.md。不要为了满足配额而动画化每一个图层。声明主要图层、物理原因、预期/动作/稳定阶段以及任何有意的阅读保持。面部、地板、地平线或桌子通常应在证据移动时保持稳定。当预期和稳定需要不同时序时,使用每关键帧到达 ease。

附加轮子、铰接部件、火焰、衣物以及其他被动二次响应,使用 follow;仅继承它们物理共享的父属性。声明 direction.secondary_responses 并使用 direction.contacts 锁定着地或落地的属性。运行...

相关技能