accept-element について
外部から投稿されたElementを受け入れる、Remotionのメンテナー専用ワークフローです。投稿内容とプレビュー素材を確認し、明示的な承認後にアップロードして、プルリクエストをレビュー可能な状態に整えます。
主な機能
- 01投稿ファイルとメタデータの確認
- 02プレビュー素材の再生成と比較
- 03メンテナーによる明示的な承認
- 04承認済みプレビューのアップロード
- 05プルリクエストの検証と更新
活用シーン
- 01外部投稿のElementのレビュー
- 02承認済みプレビュー素材の公開
- 03受け入れたプルリクエストのレビュー準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill accept-elementインストール後、Claude Code で/accept-elementを入力して読み込まれたか確認します。
詳細
Remotion Element を受け入れる
これは、submit-element スキルの外部パスを使用したコントリビューション向けの、メンテナー専用ワークフローです。すでに公開プレビュー URL があり、コミット済みのプレビューアセットがない、リポジトリのライターによる直接投稿には使用しないでください。変更を加える前に、Element コントリビューションガイド、scaffold-element スキル、および submit-element スキルをすべて読んでください。
このワークフローは、外部コントリビューターのプルリクエストブランチで実行してください。強制プッシュはしないでください。フォークからのプルリクエストの場合は、「Allow edits from maintainers」が有効になっていることを確認してください。ブランチを更新できない場合は、承認後にのみアップロードし、以下で説明する URL とアセットのクリーンアップを適用するようコントリビューターに依頼してください。
1. コントリビューションがレビュー可能であることを確認する
投稿された <category>/<slug> が 1 つだけであることを特定し、次の点を確認してください。
- 実装、ページ、中央定義、サイドバーへの登録がプルリクエストに含まれていること。
- ページのフロントマターと中央定義で、レビュー用 URL として
/elements/<category>-<slug>-preview.pngおよび.mp4が使用されていること。 - 対応するファイルが
packages/docs/static/elements/<category>-<slug>-preview.pngおよび.mp4にコミットされていること。 - コントリビューターが Studio で Element を確認し、コミット済みの両方のプレビューアセットを明示的に承認していること。
- プルリクエストが Element コントリビューションガイドに沿ったコードレビューに合格していること。
メタデータがすでに存在しない https://remotion.media アセットを参照している Element や、レビュー用アセットがプルリクエストの外部でのみ利用可能な Element は受け入れないでください。
2. コミット済みアセットと最終コードを照合する
対象を絞ったテストを実行し、最終的なプルリクエストのソースから Element をもう一度レンダリングしてください。
cd packages/docs
bun test src/test/elements.test.ts
bun run render-element-previews --element=<category>/<slug>
cd ../..
メンテナーに次のコミット済みアセットのパスを伝えてください。
packages/docs/static/elements/<category>-<slug>-preview.pngpackages/docs/static/elements/<category>-<slug>-preview.mp4
また、次の新しいレンダリングのパスも伝えてください。
packages/docs/.element-previews/<category>/<slug>/preview.pngpackages/docs/.element-previews/<category>/<slug>/preview.mp4
メンテナーに、コミット済みアセットと新しいレンダリングを目視で比較し、同じポスターフレームとアニメーションを表していることを確認するよう依頼してください。アップロードする前に、最終ソースと両方のコミット済みアセットについて、明示的な承認を得られるまで待ってください。エージェント自身の確認を承認と見なしてはいけません。メンテナーが承認しない場合は、コントリビューションを投稿ワークフローに戻してください。
3. 承認済みのファイルそのものをアップロードする
packages/docs/.env にメンテナーの R2 認証情報を設定したうえで、次を実行してください。
cd packages/docs
bun run upload-element-preview \
--element=<category>/<slug> \
--source=submission
cd ../..
packages/docs からコマンドを実行すると、Bun が packages/docs/.env を読み込みます。Element のプレビューアップロードでは packages/remotion-media/.env は使用しません。また、Element のアップロードに汎用の upload-r2 または offload-r2 スキルを使用しないでください。
このコマンドは packages/docs/static/elements にあるファイルそのものをアップロードします。再レンダリングや削除は行いません。明示的な投稿ソースによって、アセットがコミット済みで変更されていないことが検証された後、ローカルパス、署名、合計サイズ、アップロード後のサイズ、公開 HTTP レスポンス、コンテンツタイプが確認されます。両方のアップロードが検証されるまでは先に進まないでください。
コマンドは次の公開 URL を出力します。
https://remotion.media/elements/<category>-<slug>-preview.pnghttps://remotion.media/elements/<category>-<slug>-preview.mp4
4. コントリビューションを公開済みの状態にする
アップロードが成功した後に限り、次の手順を実行してください。
packages/docs/src/components/Elements/element-definitions.tsのローカルのposterUrlとvideoUrlを、出力されたhttps://remotion.mediaの URL に置き換えます。packages/docs/elements/<category>/<slug>/index.mdxのローカルのimageURL を、公開ポスター URL に置き換えます。packages/docs/static/elementsから 2 つのファイルを削除します。packages/docs/static/elementsが空の場合は削除します。
アップロードからクリーンアップまで、slug やフラットなアセット名は変更しないでください。
5. プルリクエストを検証して更新する
cd packages/docs
bun test src/test/elements.test.ts
cd ../..
bun run build
bun run stylecheck
git diff --check
git status --short
対象を絞ったテストで、メタデータに正確な公開 URL が含まれ、一致するローカルのレビュー用アセットが残っていないことを検証できるようになりました。
最終的な差分を確認してください。Element のソース、ページ、定義、ギャラリーへの登録、公開 URL は含まれている必要がありますが、PNG や MP4 は含まれていないはずです。通常どおり受け入れ作業のクリーンアップを同じプルリクエストのブランチにコミットし、強制プッシュせずにプッシュしてください。その後、作業を停止し、プルリクエストのレビュー準備が整ったことを報告してください。