关于 publish-element
用于发布已完成脚手架搭建的 Remotion Element 的技术工作流技能,涵盖就绪检查、图库登记、测试、预览渲染和审核关卡。
主要功能
- 01检查 Element 就绪情况与指南
- 02审核元数据和预览设置
- 03将 Element 登记到图库路由
- 04运行格式化和 Element 测试
- 05渲染预览以供审核
- 06要求明确的视觉审批
适用场景
- 01发布已完成的 Remotion Element
- 02将 Element 加入图库
- 03准备预览以进行视觉审核
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill publish-element安装后在 Claude Code 中输入/publish-element确认已加载。
详细介绍
发布 Remotion 元素
设计与质量标准的权威来源是 Element 指南。进行任何更改前,请完整阅读。如果此技能与指南中的验收标准不一致,请以指南为准。
此技能负责技术发布流程。流程从 scaffold-element 技能创建的元素脚手架开始,不负责创建初始开发脚手架。
1. 确认元素已准备就绪
确认以下文件及 packages/docs/src/components/Elements/element-definitions.ts 中的对应条目均已存在:
packages/docs/elements/<category>/<slug>/index.mdxpackages/docs/elements/<category>/<slug>/<slug>.tsx
不要通过此技能启动 Studio。继续之前,必须要求开发者明确确认:他们已在文档 Remotion Studio 中目视检查 element-<category>-<slug>,并确认其效果正确。不要根据测试已完成或 Agent 自行检查推断已获批准。如果开发者尚未批准,或仍需进行视觉开发,请提供以下命令并停止发布流程:
bun run build
cd packages/docs
bun run remotion
2. 执行发布审核
根据 Element 指南以及 scaffold-element 技能中的技术要求,审核已完成的源文件、MDX 页面和中央定义。处理占位内容,并最终确定描述、显示名称、贡献者、尺寸、时长、installationMode、声明的依赖项、预览内边距、海报帧和 preview 对象。
确认 posterUrl 和 videoUrl 使用扁平路径 https://remotion.media/elements/<category>-<slug>-preview.png 和 .mp4。预览素材会合成到标准背景上,并使用 MP4,以确保广泛兼容浏览器、社交卡片和嵌入场景,即使元素本身支持透明度也不例外。这些明确指定的 URL 是发布时的唯一信息来源。
如果元素包含可在 Studio 中编辑的控件,也请使用交互最佳实践技能进行审核。
如果元素导入了 packages/docs 中不可用的包,请将其添加到 packages/docs/package.json,运行 bun install,并包含 bun.lock。
3. 将其添加到图库
- 确认
packages/docs/src/components/Elements/element-definitions.ts中的条目会将元素放入生成的总览和分类库中。 - 将
'<category>/<slug>/index'添加到packages/docs/elements-sidebars.ts中对应的分类。
保留侧边栏现有的排序方式。不要向分类索引手动添加链接:可视图库和原始 Markdown 库均由中央定义生成。如果任务明确新增了分类,请创建一个渲染经过筛选的 ElementLibrary 的索引,并在此步骤中添加该分类的侧边栏分组。
在确认图库注册完成前,请验证元素已显示在总览页面、对应分类页面以及生成的原始 Markdown 路由中。
不要编辑 packages/docs/src/remotion/Root.tsx;元素合成由中央定义生成。
4. 格式化并测试
仅格式化有更改的 TypeScript 和 TSX 文件。对于常见文件:
bunx oxfmt \
packages/docs/elements/<category>/<slug>/<slug>.tsx \
packages/docs/src/components/Elements/element-definitions.ts \
packages/docs/elements-sidebars.ts \
--write
cd packages/docs
bun test src/test/elements.test.ts
5. 渲染并检查预览
按照 Element 指南的要求验证预览。仅渲染新 Element,并使用 element-definitions.ts 中的 posterFrame:
cd packages/docs
mkdir -p .element-previews/<category>/<slug>
bunx remotion still \
src/remotion/entry.ts \
element-<category>-<slug> \
.element-previews/<category>/<slug>/preview.png \
--frame=<poster-frame> --gl=angle --overwrite
bunx remotion render \
src/remotion/entry.ts \
element-<category>-<slug> \
.element-previews/<category>/<slug>/preview.mp4 \
--codec=h264 --crf=23 --image-format=png --pixel-format=yuv420p \
--gl=angle --muted --overwrite
cd ../..
不要在没有 Element 筛选条件的情况下运行 render-element-previews,因为这会渲染所有 Element 并清除全部预览输出。若之后明确要求上传,请使用:
cd packages/docs
bun run render-element-previews --element=<category>/<slug> --upload
cd ../..
筛选后的命令只会清除并重新生成该 Element 的嵌套本地审核输出,然后使用其显式元数据 URL 作为公开位置和 R2 密钥。
检查 packages/docs/.element-previews/<category>/<slug>/preview.png 和 preview.mp4,然后将这两个路径提供给开发者进行视觉审核。停止并等待开发者明确确认两个预览都正确。在获得批准之前,不要运行最终仓库检查或完成发布工作流。
除非明确要求上传且有维护者的 R2 凭据,否则不要提交被忽略的输出,也不要上传预览。
6. 运行最终仓库检查
bun run build
bun run stylecheck
git diff --check
git status --short
完成之前,请确认页面已列入生成的总览和分类库、生成的原始 Markdown 以及侧边栏;所有检查均已通过;且变更仅包含预期文件。报告运行的命令、结果以及检查过的预览文件。