Communitygithub.com

bounce12340/josh-video-skills

A translation layer for Josh's house rules when using OpenMontage (open-source AI video pipeline, <SKILLS_DIR>/OpenMontage). Use cases: long-form to short clips (clip-factory), screen recording tutorials (screen-demo), dubbed localization (localization-dub), podcast-to-video (podcast-repurpose), reference video analysis, documentary montage (documentary-montage), and augmenting stock-footage-reel with NASA/Library of Congress/NARA/Archive.org footage. Trigger phrases: "use OpenMontage", "long to short clips", "make a Reel like this", "dub and localize", "screen tutorial video".

What is josh-video-skills?

This skill acts as a strict house-rule overlay on top of OpenMontage, an open-source AI video pipeline (commit 9327439, AGPLv3). It is designed specifically for bouncing12340's video production workflow and supports a range of use cases including clip-factory (splitting long videos into shorts), screen-demo (screen recording tutorials), localization-dub (dubbing into other languages), podcast-repurpose (turning audio into highlight clips), reference video analysis (learning structure from sample reels without copying), documentary-montage (narrator-free montage using CLIP semantic matching), and augmenting stock-footage-reel with public domain footage from NASA, Library of Congress, NARA, Wikimedia, and Archive.org. The skill enforces critical formatting rules: vertical 1080x1920 aspect ratio (9:16), under 3 minutes, ElevenLabs English female voice 'Sarah Explains' with model `eleven_multilingual_v2`, traditional Chinese subtitles with smaller English beneath, a custom B-report Vox-style intro card, proper licensing attribution in credits.json, and final H.264/AAC output under 45MB. It provides a dedicated script (`om_clips.py`) for fetching public domain media and ensures all assets are legally verified. The skill is designed for use with Claude Code or other AI agents in the OpenMontage workspace, where the house rules must be explicitly stated at the start of every project.

Works with✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/bounce12340/josh-video-skills/tree/HEAD/openmontage-house

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

openmontage-house:OpenMontage + Josh House Rules

OpenMontage core: <SKILLS_DIR>/OpenMontage (commit 9327439, 2026-10-03, AGPLv3). Full documentation: AGENT_GUIDE.md, CLAUDE.md, skills/INDEX.md, pipeline_defs/*.yaml. This skill only produces drafts; it does not publish. Publishing is always handled by the main bot after Josh confirms.

Decide Whether to Use OpenMontage (See Decision Table in <SKILLS_DIR>/INDEX.md)

  • For narrated bilingual Reels and real footage editing → use stock-footage-reel (house format), not OpenMontage's documentary-montage. When more archival/public domain footage is needed, fetch it with om_clips.py below, then add to shots.json with pick: {"source":"file", ...}.
  • For Vox-style / educational explainer animations → use huashu-art-motion, not OpenMontage's animated-explainer.
  • For everything else (clip splitting, screen recording, dubbed localization, podcasts, reference video analysis, narrator-free montage) → use OpenMontage, overriding its defaults with the house rules below.

Environment

source <SKILLS_DIR>/OpenMontage/om-env.sh   # Activate .venv and Node 22, cd into OpenMontage
python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"   # See available tools
  • Installed: requirements.txt, Remotion composer (npm), piper-tts, faster-whisper, yt-dlp, youtube-transcript-api, opencv-headless, HyperFrames (npx cache 0.8.147), and CPU-only torch 2.14.1 + transformers 5.19 (no GPU packages). CLIP semantic matching is available: corpus_builder builds a material library, then clip_search's rank_for_slot sorts footage by text description (scores >= 0.25 are usable); video_understand (CLIP mode) also works. The first run downloads the CLIP model from Hugging Face (openai/clip-vit-base-patch32); building a small library of 5 clips on CPU takes about 1 minute. corpus_builder may show "degraded" warnings because half of the material sources lack keys—this does not affect usage.
  • API Keys: PEXELS_API_KEY and ELEVENLABS_API_KEY are machine environment variables (only available in new shells, use bash -lc if needed). om-env.sh inherits them; they are deliberately omitted from .env. Do not print or write them to files. All other keys are empty. Do not create new accounts or pay for keys for OpenMontage without asking Josh first.
  • Paid generation tools (Kling, Veo, Seedance, FLUX, etc.) have no keys currently; the selector will skip them automatically. OpenMontage will quote costs before spending money and requires Josh's approval.

House Rules (Override OpenMontage Defaults; Apply to Every Video)

  1. Aspect: Vertical 1080x1920 (OpenMontage defaults to 16:9; specify 9:16 at startup). Under 3 minutes. Completeness over brevity.
  2. Narration: ElevenLabs English female voice Sarah Explains (voice_id Nhs7eitvQWFTQBsf0yiT), model eleven_multilingual_v2.
    • Preferred: Use OpenMontage's own elevenlabs_tts tool directly (tested and working). Specify voice_id, do not let tts_selector auto-pick a voice or fall back to piper. Example: ElevenLabsTTS().execute({"text":..., "voice_id":"Nhs7eitvQWFTQBsf0yiT", "model_id":"eleven_multilingual_v2", "output_path":".../vo.mp3"}). Send each script once; do not resend (duplicate charges).
    • Fallback: If the direct API fails, use the user-Elevenlabs connector (creative_generate_speech, generations_count: 1) to generate vo.mp3, then pass it to OpenMontage as a pre-existing voiceover. Do not use piper for final narration.
  3. Subtitles: Traditional Chinese as the main subtitle + a smaller English line below (matching the narration). Use Taiwanese standard conventions, use 「」quotes, no em dashes. Subtitle bottom edge must not go below y=1490 to avoid Instagram UI.
  4. Intro card: B-report Vox-style cover, <YOUR_WORKSPACE>/media-team/00-profile/covers/render.py (do not use OpenMontage's own cover/thumbnail generator).
  5. Licensing: Record every asset in credits.json (URL, author, license). Archive.org license is "verify per item"—you must open each item's page to confirm it's public domain or CC0/CC BY. Do not use footage from BBC, TV stations, or film studios. CC BY footage must be credited in the post description.
  6. File: Final IG video in H.264/AAC, compressed to under 45 MB (verify size and duration with ffprobe).
  7. Content: Faithful to the original source; do not fabricate numbers or quotes. Credit the original author.
  8. Output: Final video goes to <YOUR_WORKSPACE>/media-team/03-drafts/<topic>/. OpenMontage's projects/ directory is only a working area.

How to Start Each Workflow

Open Claude Code inside the OpenMontage folder (it reads CLAUDE.md), or have another bot read skills/pipelines/<workflow>/executive-producer.md and follow its phases. Paste the house rules above as the first instruction.

  • clip-factory: Split a long video (YouTube, live stream, podcast recording) into multiple vertical shorts. Before downloading with yt-dlp, confirm Josh has the rights to use the video.
  • screen-demo: Real screen recording tutorial (screen_recorder / cap_recorder available).
  • localization-dub: Translate and dub a video into another language. First generate the dub with the ElevenLabs connector, then hand it off for timing and mixing.
  • podcast-repurpose: Turn a podcast audio file into highlight shorts.
  • Reference video analysis: Paste a Reel / Short link, analyze its pacing, hook, and structure, then propose 2–3 original versions with cost estimates (animated-explainer, animation, cinematic, character-animation have reference_input). Learn structure only; do not copy visuals or copy.
  • documentary-montage: Narrator-free or minimal-narration topic montage (Adam Curtis style). Use CLIP semantic matching to automatically select footage for each segment. For narrated Reels, use stock-footage-reel instead.
  • Backlot storyboard viewer: python -m backlot open <project-id> (local board, for observation only; failure does not affect production). Josh confirms progress back in chat.

Augmenting stock-footage-reel with Additional Footage

python3 <SKILLS_DIR>/openmontage-house/scripts/om_clips.py \
  --query "1960s computer room" --query "mission control" \
  --sources archive_org,nasa,loc,nara,wikimedia --n 3 --out $D/work/om_clips

Prints the thumbnail path and a pick snippet ({"source":"file",...}) that can be directly pasted into shots.json. License records are written to om_clips/om_credits.json. Review thumbnails using Read, confirm each license, then include in the video. Available sources: pexels (has key), archive_org, wikimedia, nasa, nara, loc, coverr, pond5_pd. NASA downloads sometimes time out (images-assets.nasa.gov); failures print note:, just switch sources.

License (AGPLv3)

You may use OpenMontage as a tool to create videos and commercial posts; the output videos are not subject to AGPL restrictions. Only "modifying its code and hosting it as a web service for others" requires releasing the modified source code. Therefore, do not host a modified OpenMontage as a public service.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

bounce12340/josh-video-skills

「名人訪談/演講片段」直式 Reel(Fox Hsiao 式「解說穿插原聲」):配音依語言選聲(中文用「<YOUR_VOICE_NAME>」<YOUR_ELEVENLABS_VOICE_ID>;英文用 Sarah Explains)+繁中主字幕的解說段落,中間穿插 15 到 30 秒的名人原聲片段(16:9 置中、上下模糊底、「原聲 姓名|場合|日期」出處標籤、左上「影片/原頻道」),結尾拋問題給觀眾。一份 JSON spec 一路做到成片、720p 預覽、聯絡表、credits.json、封面。觸發語:「名人訪談」、「演講片段」、「訪談 Reel」、「Fox 式」、「解說加原聲」、「interview reel」。

bounce12340/josh-video-skills

收到「做一支影片/Reel」時先用:判斷影片類型、轉給對應的影片 skill,套用共用本家規則並交給事實編輯。只做草稿,不發文。

bounce12340/josh-video-skills

用 Playwright 錄「公開網頁」的操作畫面(捲動、滑過、點連結、高亮重點、章節卡),輸出 1080x1920 直式 mp4,當 Reel 的工具/網站導覽素材。觸發語:「錄一段網頁操作」「網站導覽素材」「螢幕錄影素材」「screen record」。只錄公開頁面,不登入、不發文。

bounce12340/josh-video-skills

「真實素材剪輯」直式短影音(AYi @ayi_ainotes 那種紀錄片風):照口播稿每一句,自動搜尋並下載免費可商用素材(Pexels、Mixkit Free、Wikimedia Commons),加上洋紅調的 1950 到 70 年代 Prelinger 公有領域老片,硬切剪輯,燒上雙語字幕(繁中+英文,重點字金色),左上固定標題,ElevenLabs 配音,暗色合成器配樂,片尾金句卡加出處小字,再用 B 剪報 Vox 樣板出封面。觸發語:「做一支真實素材剪輯」、「stock footage reel」、「AYi 風格」、「素材庫剪輯」。

Related Skills