motion-craft について
motion-craft は、Remotion で決定論的な動画を計画、制作、検査するためのスキルです。動画制作エージェント向けに、ブリーフや絵コンテ、映像設計、アニメーション、音声、字幕、レンダリング、品質確認を扱います。
主な機能
- 01ブリーフ、スタイル、絵コンテの計画
- 02アニメーション前のフレーム設計
- 03動き、音声、字幕の実装
- 04動画のレンダリングと検査
- 05参照動画との再現度確認
活用シーン
- 01動画ブリーフからシーン計画を作成
- 02指定スタイルで参照動画をアレンジ
- 03再現映像の UI 詳細とタイミングを確認
- 04レンダリング後の映像と音声の同期を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rajaskajanuardani/ motion-craft --skill motion-craftインストール後、Claude Code で/motion-craftを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEinstall.sh.gitignoreREADME.md.claude-plugin/marketplace.json.codex-plugin/plugin.jsonevals/evals.jsonreferences/CAMERA-SCENES-NARRATOR.mdREPLICATION-AND-QA.mdCARD-GRID-3D-PATTERNS.mdSTYLES.mdSCENE-COMPONENTS.mdSOUND.mdstyle-sfx.jsonreferences/storyboards/03-edukasi-akademik.md01-bisnis-promosi.md04-teknologi-software.md06-event-perayaan.md02-korporat-profesional.md07-sosial-kampanye.md05-media-sosial.md08-kreatif-hiburan.mdINDEX.md09-kuliner-travel-lifestyle.md10-infografis-data.mdreferences/styles/03-zine-fotokopi.md01-cyberpunk.md02-doodle.md04-grafiti.md05-topografi.mdREADME(原文)English
プロジェクトの README よりこの README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。
Motion Craft
Bangun video deterministik di Remotion. Ubah ide menjadi keputusan visual dan shot yang bisa diuji sebelum render penuh. Di contoh perintah, <skill> adalah direktori ini.
1. Tetapkan brief
Catat tujuan, penonton, subjek atau tindakan yang perlu terlihat, aset dan referensi, serta durasi, rasio, dan fps. Isi pilihan yang belum ditentukan dengan asumsi yang bisa dibalik dan sebutkan singkat ke user. Jika pilihan mengubah fakta atau prosedur, pastikan konteksnya sebelum menggambar langkah spesifik.
Prioritaskan permintaan eksplisit, pedoman brand, dan referensi user. Untuk replikasi, ikuti layout, timing, framing, kamera, status UI, dan transisi yang terlihat pada referensi. Baca REPLICATION-AND-QA.md untuk pengukuran dan laporan selisih. Untuk adaptasi, catat unsur yang dipertahankan dan yang diganti.
2. Pilih panduan gaya dan storyboard
Pilih pasangan gaya dan storyboard berdasarkan bentuk konten dan tindakan yang perlu terlihat. Storyboard memberi urutan dan pacing. Panduan gaya menentukan komposisi, material, tipografi, kamera, dan gerak yang mendukung adegan itu. Satu gaya dapat dipakai pada beberapa storyboard.
node "<skill>/scripts/plan-motion.mjs" --brief "<isi dan tujuan>" --duration 12 --fps 30 --aspect 16:9 --out research
Gunakan --style <1–43> dan/atau --template <T001–T100> jika user menetapkan pilihan atau agen perlu mengoreksi kecocokan. Planner memakai petunjuk kata utuh dan rekomendasi kompatibilitas. Untuk brief “cara install Linux”, titik awalnya installer grafis (#12 + T023). Jika brief menyebut memasang paket lewat CLI, gunakan #26 + T036. Periksa hasil terhadap maksud user; kata kunci hanyalah bantuan.
Baca satu research/selected-style-guide.md dan satu research/storyboard.md. Buka indeks STYLES.md dan storyboards/INDEX.md saat butuh alternatif. Sesuaikan visual, aset, kamera, suara, dan durasi per adegan di motion-plan.md dan scenes-plan.json. Hapus cue atau komponen yang tidak berperan. Bila user memilih gaya yang berbeda dari rekomendasi, terapkan gaya pada panggung dan edit, sambil mempertahankan tindakan serta UI sumber.
Tulis hero spesifik, tindakan, bukti, dan titik hold sebelum coding. Gunakan STORYBOARD.template.md untuk struktur kustom. Jika mengubah batas frame, gunakan akhir eksklusif dan pastikan durasi dikurangi overlap sama dengan komposisi.
3. Arahkan tampilan sebelum animasi
- Buat frame establishing dan frame hasil pada rasio akhir. Periksa siluet, hierarki baca, area aman platform, dan warna teks pada bidang yang benar-benar dirender. Gunakan ruang kosong dan kesejajaran untuk memisahkan informasi.
- Pertahankan anatomi UI sumber. Ambil screenshot atau potongan layar dari aset user bila tersedia. Saat menggambar ulang, pertahankan chrome platform, posisi kontrol, label, status, dan isi yang relevan. Terapkan gaya video pada panggung, anotasi, atau transisi jika gaya tersebut mengganggu keterbacaan UI asli. Pakai shell di
LivedInUIShells.tsxhanya jika anatominya cocok. - Tampilkan wujud benda fisik dengan foto/vektor asli atau siluet dan bagian yang khas. Gerakkan sesuai poros, berat, atau mekanisme yang diterangkan. Grafik dan angka mengikuti data. Tandai data atau layar contoh sebagai ilustrasi jika bisa disangka fakta.
- Gunakan logo yang cocok dengan aset resmi ketika logo memang bagian dari subjek. Prioritaskan file lokal atau artwork yang diverifikasi.
fetch-brand-logo.mjs --brands "<slug>" --project-dir . --out public/brandsmembantu mencari aset. Gunakan<BrandLogo customPublicSvgPath="brands/<slug>.svg" brand="<slug>" />untuk menentukan file yang benar. - Pilih bentuk dan tekstur berdasarkan bahan atau fungsi. Hindari badge, kartu, indikator bulat, dan ikon yang hanya mengisi ruang. Status, ikon, atau pill fungsional dari UI asli tetap boleh.
ProceduralBackgroundstatis secara default. Pilihpattern="none"untuk panggung bersih atau batasi tekstur ke objek yang membutuhkan. - Gunakan kartu/grid/3D ketika isi memang butuh tata letak itu. Masukkan palet, tipografi, dan visual nyata lewat
Card3DItem.stylePreset/content. Baca CARD-GRID-3D-PATTERNS.md untuk 19 pola yang tersedia.
4. Implementasikan gerak, suara, dan caption
- Pilih komponen per aksi dari SCENE-COMPONENTS.md. Pakai warna, ukuran, dan data dari brief atau referensi.
- Gerakkan objek yang menyebabkan perubahan. Mulai kamera dari hold. Gunakan
splineAtatau waypointCameraRiguntuk memindahkan fokus dengan tujuan jelas. Pilih hard cut, match cut, atau overlap sesuai hubungan antarscene. Blur, portal glow, dan efek kursor hanya saat mendukung aksi. - Gunakan
TypeText presentation="native"di input asli. Ikat klik, ketikan, progress, dan SFX transisi ke frame kejadian. Bacaresearch/selected-sfx-guide.mduntuk tiga cue opsional dari gaya yang dipilih. GunakanSfxCuepada frame aksi dan sisakan jeda. Baca SOUND.md untuk musik prosedural, rekaman, dan cue yang tersedia. - Tambahkan caption bila brief/narasi memerlukannya. Tempatkan
BottomSubtitleBardi screen-space, di luar kamera. Ukur jarak terhadap UI, lower third, atau chrome platform pada frame akhir. Caption tampil dengan posisi dan bobot stabil. Baca CAMERA-SCENES-NARRATOR.md untuk penerapan. narrator-sync.mjs --ttsmemakai Pythonedge-ttsdenganWordBoundarydan akses layanan. Gunakan--timings alignment.jsonuntuk audio yang sudah ada dengan format[{"text":"Halo","startMs":120,"endMs":480}]. Tambahkan--durationagar kelebihan durasi ditolak. Tanpa TTS/alignment,words.json.meta.jsonmenandai timing sebagai perkiraan. Sambungkan TTS keAudioStage narrationSrc="audio/narration.mp3"jika berhasil.
5. Render dan cek hasil
- Jalankan
node "<skill>/scripts/lint.mjs" src. - Render still pada frame pembuka, sebelum dan sesudah tindakan penting, di batas transisi, dan pada hold hasil. Gunakan
inspect-motion.mjs --src src --comp MainVideo --frames <nomor-dipisah-koma>. Periksa hierarki, identitas gaya, potongan UI, keterbacaan, dan batas objek. Ukur rectangle screen-space pada frame penting bila perlu cek geometri. - Render
npx remotion render MainVideo out/v1.mp4. Putar hasil, periksa kontinuitas dan sinkronisasi audio. Gunakaninspect-motion.mjs --video out/v1.mp4 --geometry research/geometry.json --comp MainVideo --frames <daftar> --require-completeuntuk gate otomatis yang lengkap.PARTIALmenandai pemeriksaan yang masih terbuka. - Untuk evaluasi metadata, jalankan
evaluate-video.mjs --video out/v1.mp4 --width <w> --height <h> --fps <fps> --frames <total>. Tambahkan--reference <file> --min-ssim <ambang>hanya untuk referensi yang sudah disejajarkan. Sertakan bukti visual dan selisih nyata bila klaim replikasi dibutuhkan. - Serahkan hasil sesuai brief dengan catatan asumsi atau keterbatasan yang memengaruhi pemakaian.
run-evals.mjsmenguji skrip dan kontrak template. Jalankan prompt evaluasi secara terpisah untuk menilai video nyata.