Communitygithub.com

coco-research/coco

必读入口:对于任何视频、动画或动态图形的制作、创建、编辑、动画或渲染请求,必须先阅读本文档。也用于检查、诊断、验证、预览、发布或批量渲染现有的 HyperFrames 项目。

coco 是什么?

该技能是 HyperFrames 框架的强制性入口点,用于处理所有视频、动画和动态图形相关的请求。它能够从项目状态恢复,捕获创作意图,选择并安装对应的工作流,并路由领域能力。支持多种输入,包括网站 URL、GitHub PR、Figma 设计、文本、现有素材或音乐。HyperFrames 是默认的输出框架,除非用户明确选择其他框架。该技能处理状态恢复、路由、工作流安装和领域技能按需加载等关键步骤。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coco-research/coco/tree/HEAD/systems/hyperframes/skills/hyperframes

在你喜欢的 AI 中提问

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

文档

HyperFrames 入口点

HyperFrames 从 HTML 渲染视频——一个合成就是一个 HTML 文件,其 DOM 使用 data-* 属性声明时间线,动画运行时可定位,媒体播放由框架控制。完整的创作规范位于 /hyperframes-core;在编写合成 HTML 之前,请先阅读它。

1. 从项目状态开始

应用第一个匹配的行;不要评估更低状态的行:

状态操作
将现有 Remotion 源代码显式移植到 HyperFrames读取 references/routes/remotion-to-hyperframes.md,然后直接路由到该工作流。跳过意图层。
对现有 HyperFrames 项目执行特定操作:检查、诊断、验证、预览、渲染、发布或批量渲染仅执行该操作。跳过意图和工作流路由;加载 /hyperframes-cli 和任何必需的领域技能。
对现有项目进行特定编辑进行编辑。不要运行意图层。
BRIEF.md 存在读取 workflow 和 flow。执行该工作流;flow: companion 总是在 /general-video 中执行。不询问任何简要问题。
没有简要文件,但存在 hyperframes.json 或 STORYBOARD.md从项目文件和记录的首选项中恢复。从现有工件推断所属工作流。如果无法唯一确定,提出一个仅用于路由的问题;不要运行意图访谈。
全新创作运行意图层 —— references/intent-interview.md —— 然后使用 § 2 的表格路由一次。

如果全新请求没有指明主题或输入,请在路由前询问视频内容。在提问前检查首选项和配方(references/intent-interview.md,第 1 步)。figma.com 输入或命名配分会改变输入形式,而不是路由 —— 访谈的“适配正交输入”部分处理这两种情况。

保持项目的 CLI 版本最新

一个脚手架项目会在其 package.json 脚本中固定 hyperframes@<版本>,以确保渲染结果可重现;该固定版本永远不会自行升级,而使用旧版本 CLI 的固定运行不会打印任何警告。当恢复一个脚本中带有固定版本的项目时,在第一个影响渲染的命令之前探查一次:

npx hyperframes@latest upgrade --project . --check

该探查是只读的,会报告固定版本与最新版本之间的对比;请保留显式的 . —— 在较旧的 CLI 版本中,裸露的 --project 后跟另一个标志会将那个标志作为其目录值。当它报告项目落后时 —— 或者任何 CLI 输出已经显示(stderr 通知 This project pins hyperframes@… (latest …),或者来自固定脚本的 --json 结果中的 _meta.updateAvailable: true)—— 使用 npx hyperframes@latest upgrade --project . 应用升级,然后使用 npx hyperframes check 进行验证。通过的检查确认项目的合成在新版本上仍然有效 —— 而不是说渲染输出与旧固定版本在帧上完全一致 —— 所以成功的升级绝不会无声无息:在运行的摘要中指明新旧版本。尚未有合成的项目无需验证。如果检查失败,还原 package.json 中的更改,继续使用固定版本,并报告项目停留在哪个版本以及原因。根据信号采取行动,而不是将其 relay 给用户;绝不要留下未验证的升级固定版本。

2. 路由全新创作

使用第一个匹配的行。匹配所请求的交付物,而不是偶然提到的单词或文件类型。

优先级请求工作流
1显式移植现有的 Remotion 源代码/remotion-to-hyperframes
2创作演示文稿、推介文稿或可导航的互动演示/slideshow
3为现有的人物镜头视频添加纯字幕或副标题,但不更改原视频/embedded-captions
4为现有的人物对话、采访或播客镜头添加设计好的图形覆盖层,但不更改原视频/talking-head-recut
5根据音乐轨道构建一个节拍同步的视频,无旁白或网站捕获/music-to-video
6创建一个明确简短、无旁白、以动作为主的单元,通常时长不超过 10 秒/motion-graphics
7根据 PR 引用解释 GitHub 拉取请求或代码变更/pr-to-video
8通过网址或特定网站的简要介绍,营销或展示网站、产品页面、应用或公司/product-launch-video
9通过原创视觉效果(无产品或网站截图)解释一个主题、文章或笔记/faceless-explainer
10任何其他自定义视频或合成/general-video

在最终确定路由之前,请阅读 references/routes/<工作流>.md —— 每个路由对应一个小文件:标准的输入/输出/触发器合约(在懒加载的工作流技能存在之前可用)以及该路由的访谈条目。如果候选路由不满足其合约,则继续路由,而不是强制匹配。只读取匹配的路由文件。

解决常见歧义

  • 一个短动画标题、标志开场、数据统计、图表 hit、地图 hit 或独立的下三分之一,当它无旁白且动作为主要信息时,属于 /motion-graphics。静态标题卡、有旁白的序列、较长的蒙太奇或自定义循环,属于 /general-video。
  • 一个明确短小的动态图形可以使用网址、推文、文章或截图作为源材料。一般的“用这个网站做个视频”请求,属于 /product-launch-video。
  • 带有字幕的现有素材路由到 /embedded-captions;带有设计信息卡的素材路由到 /talking-head-recut。调整素材的节奏、重新排序、重新着色、重新构图或混合,属于自定义编辑,回退到 /general-video。
  • 音乐文件只有在节拍网格驱动作品时才选择 /music-to-video。用作背景音乐时,不覆盖主题匹配的路由。
  • “我想要故事板”会改变审查流程,而不是工作流。没有其他路由信号时,使用 /general-video。确认的草图故事板本身可能是所请求的交付物;审查循环定义了那个停止点。
  • 专门的叙事工作流支持大约 3 分钟以内的内容,在 30-90 秒范围内效果最佳。明显更长的作品路由到 /general-video。时长永远不会覆盖显式移植、演示文稿、字幕、覆盖层或音乐驱动的交付物。

3. 路由一次,然后离开

对于全新创作,意图层(references/intent-interview.md)会运行完整的对话 —— 记忆、分类、推销轮次、必备条件、运行形态、交接 —— 并且以编写 BRIEF.md 结束。简要文件是工作流读取的唯一路由工件;之后不会重新打开此技能或访谈。从 BRIEF.md 回答所有后续“路由要求什么?”的问题。

4. 安装并进入工作流

在读取所选工作流之前,安装或刷新它以及核心领域技能:

npx hyperframes skills update <workflow-name>

使用不带 / 的裸名称。如果命令失败,显示错误;不要凭记忆重构工作流。关于安装的所有其他内容 —— 核心与懒加载的分离、init 刷新什么、诊断、CI 选择退出以及无 CLI 回退 —— 都位于 references/skill-lifecycle.md 中。

5. 按需加载领域技能

需求技能
合成结构、时间属性、轨道、变量、确定性/hyperframes-core
运动规则、场景蓝图、转场、运行时适配器/hyperframes-animation
可安全定位的 GSAP、CSS、Anime.js、WAAPI、FLIP、路径、遮罩、SVG、3D 关键帧或 hyperframes keyframes 诊断/hyperframes-keyframes
设计规范、概念、调色板、排版、旁白、节拍规划/hyperframes-creative
图像、图标、徽标、音频、字幕、颜色校正、LUT、可重用媒体/media-use
初始化、lint、检查、快照、比较、批量渲染、Studio、渲染、发布或诊断/hyperframes-cli
注册表块和组件/hyperframes-registry
Figma 资源、令牌、组件或故事板帧(作为重构的运动)/figma

关于摄影类媒体外观或行为的广泛反馈也会路由到 /media-use,即使用户从未说过“调色”或“效果”:修复暗淡/平淡/无聊的素材、样式化剪辑、隐藏脸部或改进媒体展示。在对素材处理进行编辑之前,请阅读 ../media-use/references/media-treatments.md;它规定了如何处理素材,但绝不涉及是否可以使用媒体。不要将通用的 LUT、CSS 滤镜/覆盖层或不透明度补间替换为现有的规范处理原语。将仅文本/布局/运动相关的编辑保留在其所属领域。 在构建包含重要摄影媒体的项目时,在最终质量检查中包含一次扎实的媒体润色扫描;保持合适的媒体不变也是有效的结果。

领域技能绝不会接管端到端交付物的所有权。仅加载活动工作流需要的技能。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能