Communitygithub.com

finance-video-script

Menulis, memvalidasi, dan merancang naskah video keuangan pribadi berbahasa Indonesia untuk channel faceless (narasi suara + gambar/halaman) dalam tiga format, A (cerita bertokoh), B (panduan langkah bernomor), dan S (short-form Shorts/TikTok 30–60 dtk).

finance-video-script 是什么?

Skill ini dirancang untuk membantu agen AI (seperti Claude, Cursor, Codex) dalam membuat naskah video keuangan pribadi berbahasa Indonesia untuk channel faceless (narasi suara + gambar full-screen). Skill ini mendukung tiga format: A (cerita bertokoh), B (panduan langkah bernomor), dan S (short-form untuk Shorts/TikTok 30–60 detik). Alur kerjanya dimulai dari pengumpulan brief, pembuatan beat sheet, penulisan scene per beat, lint otomatis (struktur, angka, klaim, disclaimer, kemiripan referensi), pemetaan halaman visual, hingga ekspor naskah (Markdown), prompts gambar AI, dan subtitle SRT. Skill ini juga menyediakan generator gambar AI full-screen dan render video MP4 dengan TTS Bahasa Indonesia. Keunggulan utamanya adalah memastikan naskah orisinal, angka jujur, dan sesuai panduan gaya referensi, sehingga cocok untuk konten edukasi keuangan yang kredibel.

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ferliand/finance-video-skill/tree/HEAD/skills/finance-video-script

在你喜欢的 AI 中提问

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

文档

Finance Video Script

Agen (kamu) yang menulis naskah. Skrip scripts/vengine_cli.py menyiapkan kerangka beat, menerima scene per beat, dan menjalankan lint terhadap panduan gaya.

Cakupan

  • Termasuk: brief (termasuk pilihan style visual) → beat sheet → naskah per beat (scenes.json) → lint → pemetaan halaman visual (map-pages) → ekspor (naskah.md, prompts.json, naskah.srt) → generate aset gambar AI full-screen (generate-images) → render video MP4 sinematik lengkap dengan TTS Bahasa Indonesia (render).
  • Belum termasuk: upload otomatis ke platform.

Persiapan

  • Python 3.10+ dengan pip install pydantic pyyaml pillow edge-tts imageio-ffmpeg, atau jalankan lewat uv run (dependensi otomatis).
  • <skill-dir> = folder tempat SKILL.md ini berada. Semua perintah: python <skill-dir>/scripts/vengine_cli.py <perintah> ... (di Windows boleh py menggantikan python).
  • Jalankan dari folder kerja pengguna, bukan dari dalam folder skill. Proyek disimpan di ./video-projects/<slug>/ (ubah dengan --home DIR atau variabel VENGINE_HOME).

Alur kerja

  1. Kumpulkan brief. Tanyakan yang belum jelas: topik, format (A = cerita, B = panduan langkah, S = short-form 30–60 detik), durasi, style visual (preset: claymation, flat-vector, 3d-pixar, anime-ghibli, cinematic-realistic, watercolor, comic-book, dark-moody, atau deskripsi custom bebas), audiens, angka_kunci, dan khusus format A tokoh (protagonis, pembanding, figuran). Tanyakan juga ajakan komentar/subscribe dan instrumen keuangan yang boleh disebut. Jangan mengarang angka kunci; angka berasal dari pengguna atau dari hitungan yang kamu tulis rumusnya.
  2. Baca references/panduan-naskah.md sebelum menulis apa pun. Itu sumber kebenaran gaya, teknik, dan aturan angka/klaim.
  3. Buat proyek. init <slug> --topic "..." --format A|B|S --minutes N --style <style>, isi brief.yaml bersama pengguna, lalu build <slug> (membuat story bible dan beat sheet).
  4. Tulis per beat (ulangi sampai semua beat selesai):
    1. beat <slug> menampilkan tugas untuk beat berikutnya: brief, tokoh, tiga scene sebelumnya, poin isi, target kata/scene, dan syarat tag.
    2. Tulis JSON scene ke video-projects/<slug>/draft/<beat>.json. Isi image_prompt berbahasa Inggris untuk setiap scene (karena seluruh scene dirender full-screen).
    3. add <slug> --beat <id> --file video-projects/<slug>/draft/<id>.json.
    4. Jika ada error, beat tidak disimpan. Perbaiki JSON sesuai pesan lalu add lagi. Jika beat perlu ditulis ulang setelah tersimpan, tambahkan --replace. Jangan memakai --force kecuali pengguna meminta.
  5. Periksa. status <slug> untuk progres, lint <slug> untuk pemeriksaan penuh. Error harus nol sebelum naskah ditunjukkan sebagai final; warn dibaca dan diputuskan bersama pengguna.
  6. Petakan Halaman Visual. Jalankan map-pages <slug> untuk memetakan page_type dan props secara otomatis mengikuti katalog references/design-video.md.
  7. Ekspor. export <slug> menghasilkan:
    • video-projects/<slug>/out/naskah.md (naskah kanonik per babak)
    • video-projects/<slug>/out/prompts.json (prompt ilustrasi full-screen siap generate untuk seluruh scene lengkap dengan karakter & style)
    • video-projects/<slug>/out/naskah.srt (subtitle ber-timestamp)
  8. Generate Aset Gambar AI Full-Screen. Jalankan generate-images <slug> (bisa tambah --style <style>, --scene <nomor> untuk mengulang satu scene, atau --force untuk menimpa semua) untuk mengunduh gambar AI full-screen (Pollinations Flux) ke video-projects/<slug>/out/images/scene_XXX.png.
  9. Render Video MP4 (opsional/jika diminta). Jalankan render <slug> (bisa tambah --voice id-ID-ArdiNeural atau id-ID-GadisNeural, serta --fps 12 untuk gaya stop-motion claymation) untuk menggabungkan gambar latar full-screen (dengan gerak stop-motion / Ken Burns, vignette, overlay glassmorphism angka/punchline, dan subtitle karaoke), audio voiceover Bahasa Indonesia, menjadi video-projects/<slug>/out/video.mp4.

Format JSON scene

{"scenes": [
  {"narration": "Strategi kesatu, uang harus dipisah di awal.",
   "tags": ["SECTION"], "image_prompt": "clean modern workspace with warm morning sunlight beams", "characters": [], "mood": "warm", "notes": ""},
  {"narration": "Kalau setiap hari kamu menyisihkan dua puluh ribu rupiah, dalam sebulan terkumpul enam ratus ribu rupiah.",
   "tags": ["CALC"], "image_prompt": "neatly stacked glass savings jars with glowing coins on wooden desk",
   "motion_prompt": "Stop-motion claymation, slow subtle push-in camera, soft ambient light flicker", "characters": [], "mood": "neutral",
   "notes": "20.000 x 30 = 600.000"}
]}
  • narration: siap dibacakan, 15–35 kata. Scene PUNCH dan SECTION maksimal 14 kata dan berdiri sendiri.
  • tags: PUNCH, BRIDGE, SECTION, CTA, NUMBER, CALC. Syarat per beat ada di tugas dari beat.
  • image_prompt: bahasa Inggris, tanpa teks atau angka di dalam gambar; direkomendasikan diisi pada setiap scene agar latar full-screen sesuai konteks (jika null, engine otomatis meracik prompt latar kontekstual).
  • end_image_prompt (opsional): bahasa Inggris untuk End Frame jika scene memiliki transisi perubahan objek/pencahayaan (mis. sakelar lampu ditekan dari gelap ke terang; di-generate dengan seed yang sama).
  • motion_prompt (opsional): instruksi gerak per scene (mis. zoom_flicker, bobbing, switch_light untuk animasi stop-motion claymation).
  • characters: id tokoh dari story bible (mis. protagonis), bukan nama.
  • mood: tense, neutral, warm, uplift, melancholy.
  • notes: wajib berisi rumus A x B = C untuk scene CALC/NUMBER; tuliskan juga sumber klaim.

Aturan yang tidak boleh dilanggar

  • Tulis orisinal. Jangan menyalin atau memparafrasekan video atau transkrip referensi; hanya struktur dan teknik yang dipakai.
  • Hitung ulang semua angka. Timeline menuju angka tujuan harus eksplisit dan jujur.
  • Tanpa statistik tanpa sumber ("90% orang..."), tanpa janji hasil. Instrumen keuangan hanya sebagai contoh dan wajib disertai kalimat disclaimer.
  • Konten fiksi (format A) diberi label "cerita ilustrasi".
  • Jangan mengubah beats.json atau scenes.json dengan tangan; gunakan add, supaya validasi dan penomoran ulang scene tetap berjalan.

Pemecahan masalah

  • Modul 'pydantic' belum terpasang → pip install pydantic pyyaml atau pakai uv run.
  • Proyek ... tidak ditemukan → periksa folder kerja; proyek berada di ./video-projects/ pada folder tempat perintah dijalankan, atau di --home.
  • Lint mirip_referensi → letakkan transkrip referensi sebagai .txt di ./references/ (atau --refs DIR); tulis ulang bagian yang dilaporkan dengan kata-katamu sendiri.
  • Lint total_kata → tambah atau kurangi scene di beat yang menyimpang jauh dari target (lihat status), lalu add --replace.

相关技能