Communitygithub.com

bounce12340/josh-video-skills

Eine Übersetzungsschicht für die „Hausregeln“ von Josh bei der Verwendung von OpenMontage (Open-Source-KI-Videopipeline, <SKILLS_DIR>/OpenMontage). Geeignet für: Lange Videos in mehrere Kurzvideos schneiden (Clip-Factory), echte Bildschirmaufnahmen für Tutorials (Screen-Demo), Übersetzung & Synchronisation (Localization-Dub), Podcast in Videos umwandeln (Podcast-Repurpose), „Nach diesem Referenzvideo erstellen“ (Referenzvideo-Analyse), dokumentarische Montage ohne Voice-Over (Documentary-Montage) sowie das Hinzufügen von alten Aufnahmen von NASA/Library of Congress/NARA/Archive.org zu Stock-Footage-Reels. Auslöser: „Mit OpenMontage“, „Langes Video in Kurzvideos schneiden“, „Nach diesem Reel erstellen“, „Übersetzung & Synchronisation“, „Bildschirm-Tutorial-Video“.

Was ist josh-video-skills?

Dieses Skill, `bounce12340/josh-video-skills`, dient als maßgeschneiderte Konfigurationsschicht für die OpenMontage-KI-Videopipeline (Open-Source), speziell für die Videoproduktion von Josh. Es überschreibt die Standardeinstellungen von OpenMontage mit strengen „Hausregeln“, um konsistente, qualitativ hochwertige Ergebnisse für Formate wie Clip-Factory (lange Videos in kurze Clips schneiden), Bildschirm-Tutorials, übersetzte Synchronisation, Podcast-Repurposing, Analyse von Referenzvideos und dokumentarische Montagen zu liefern. Plattform-/Agentenunterstützung: Es ist für Claude Code und andere Bots konzipiert, die die OpenMontage-Pipeline (`<SKILLS_DIR>/OpenMontage`) nutzen. Es stellt sicher, dass Ausgaben die spezifischen Anforderungen von Josh erfüllen: vertikales 9:16-Format, ElevenLabs-Synchronisation (Stimme „Sarah Explains“), traditionelle chinesische Untertitel mit englischen Begleittexten, ein benutzerdefiniertes Vox-ähnliches Cover aus dem Media-Team-Workflow, ordnungsgemäße Quellenangaben (Lizenzprüfung für öffentliche Domäne, Archive.org, NASA usw.), Dateigrößen unter 45 MB und strenge Inhaltsgenauigkeit. Es enthält auch Skripte wie `om_clips.py`, um Bildmaterial aus öffentlichen Archiven zu beschaffen und in Stock-Footage-Reels zu integrieren, mit automatischer Lizenzverfolgung. Das Skill fungiert als Brücke zwischen der generischen OpenMontage-Pipeline und den spezifischen Branding-, Produktions- und Lizenzierungs-Workflows von Josh und stellt sicher, dass alle Ausgaben sofort für die Veröffentlichung auf Plattformen wie Instagram bereit sind.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

openmontage-house: OpenMontage + Josh Hausregeln

OpenMontage Basis: <SKILLS_DIR>/OpenMontage (Commit 9327439, 2026-10-03, AGPLv3). Vollständige Dokumentation der Basis: AGENT_GUIDE.md, CLAUDE.md, skills/INDEX.md, pipeline_defs/*.yaml. Dieses Skill erstellt nur Entwürfe, veröffentlicht nichts. Die Veröffentlichung erfolgt immer durch den Haupt-Bot, nachdem Josh die Freigabe erteilt hat.

Entscheide zuerst, ob OpenMontage verwendet werden soll (siehe Entscheidungsmatrix in <SKILLS_DIR>/INDEX.md)

  • Gesprochene, zweisprachige Reels, Bearbeitung von echtem Filmmaterial → Verwende stock-footage-reel (Hausformat), nicht das documentary-montage von OpenMontage. Wenn mehr altes/Public-Domain-Material benötigt wird, verwende om_clips.py unten und füge es mit pick: {"source":"file", ...} in shots.json ein.
  • Vox-/Wissenserklärvideos (Animation) → Verwende huashu-art-motion, nicht das animated-explainer von OpenMontage.
  • Alles andere (Clips, Bildschirmaufnahmen, Übersetzung & Synchronisation, Podcast, Referenzvideo-Analyse, dokumentarische Montage ohne Voice-Over) → Verwende OpenMontage, überschreibe seine Standardeinstellungen mit den Hausregeln unten.

Umgebung

source <SKILLS_DIR>/OpenMontage/om-env.sh   # .venv und Node 22 aktivieren, in OpenMontage wechseln
python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"   # Verfügbare Tools anzeigen
  • Installiert: requirements.txt, Remotion composer (npm), piper-tts, faster-whisper, yt-dlp, youtube-transcript-api, opencv-headless, HyperFrames (npx Cache 0.8.147) sowie CPU-Version von torch 2.14.1 + transformers 5.19 (keine GPU-Pakete). CLIP semantisches Matching verfügbar: Nachdem corpus_builder die Materialbibliothek erstellt hat, sortiert rank_for_slot von clip_search Materialien mit Textbeschreibungen (Scores >= 0,25 sind brauchbar); video_understand (CLIP-Modus) ist ebenfalls verfügbar. Beim ersten Mal wird das CLIP-Modell (openai/clip-vit-base-patch32) von Hugging Face heruntergeladen; das Erstellen einer kleinen Bibliothek mit 5 Materialien auf der CPU dauert etwa 1 Minute. corpus_builder zeigt „degraded“ nur an, weil die Hälfte der Quellen keine Keyframes haben; das beeinträchtigt die Nutzung nicht.
  • Schlüssel: PEXELS_API_KEY und ELEVENLABS_API_KEY sind Maschinenumgebungsvariablen (nur in neuen Shells verfügbar, bei Bedarf bash -lc verwenden); om-env.sh übernimmt sie, sie sind bewusst nicht in .env. Nicht ausdrucken oder in Dateien schreiben. Alle anderen Schlüssel sind leer. Keine neuen Konten oder kostenpflichtigen Schlüssel für OpenMontage beantragen; Josh vorher fragen.
  • Kostenpflichtige Generierung (Kling, Veo, Seedance, FLUX usw.) hat derzeit keine Schlüssel; der Selektor überspringt sie automatisch. OpenMontage gibt vor Zahlungen einen Kostenvoranschlag, der von Josh genehmigt werden muss.

Hausregeln (Überschreiben der OpenMontage-Standardeinstellungen für jedes Video)

  1. Bild: Hochformat 1080x1920 (die meisten OpenMontage-Standardeinstellungen sind 16:9; zu Beginn 9:16 angeben). Maximal 3 Minuten, Vollständigkeit vor Kürze.
  2. Synchronisation: ElevenLabs englische Frauenstimme Sarah Explains (voice_id Nhs7eitvQWFTQBsf0yiT), Modell eleven_multilingual_v2.
    • Primär: Das eigene elevenlabs_tts-Tool von OpenMontage direkt verwenden (bereits getestet und funktionsfähig). voice_id angeben; den tts_selector nicht automatisch wählen oder auf Piper zurückfallen lassen. Beispiel: ElevenLabsTTS().execute({"text":..., "voice_id":"Nhs7eitvQWFTQBsf0yiT", "model_id":"eleven_multilingual_v2", "output_path":".../vo.mp3"}). Ein Skript nur einmal senden (sonst werden Credits doppelt abgezogen).
    • Fallback: Bei direktem API-Fehler den user-Elevenlabs-Konnektor verwenden (creative_generate_speech, generations_count: 1), um vo.mp3 zu erstellen, und dann als fertigen Voice-Over an OpenMontage übergeben. Piper nicht für offizielle Sprachausgabe verwenden.
  3. Untertitel: Hauptuntertitel in traditionellem Chinesisch + eine kleinere englische Zeile darunter (Englisch entspricht der Sprachausgabe). Taiwanesische Begriffe, „“ für Anführungszeichen, keine Gedankenstriche. Unterkante der Untertitel nicht unter y=1490, um die Instagram-Oberfläche zu vermeiden.
  4. Cover: B-Vox-Vorlage, <YOUR_WORKSPACE>/media-team/00-profile/covers/render.py (nicht das eigene Cover/Thumbnail von OpenMontage verwenden).
  5. Lizenzierung: Jedes Material in credits.json erfassen (URL, Autor, Lizenz). Die Lizenz von Archive.org ist „verify per item“; jede Datei einzeln öffnen und bestätigen, dass sie Public Domain oder CC0/CC BY ist. Keine Aufnahmen von BBC, TV-Sendern oder Filmstudios verwenden. CC BY muss im Beitrag vermerkt werden.
  6. Datei: IG-Finalvideo H.264/AAC, auf unter 45 MB komprimieren (mit ffprobe Größe und Länge prüfen).
  7. Inhalt: Dem Original treu bleiben, keine Zahlen oder Zitate erfinden, den ursprünglichen Autor angeben.
  8. Ausgabe: Fertiges Video in <YOUR_WORKSPACE>/media-team/03-drafts/<Thema>/ ablegen; projects/ von OpenMontage nur als Arbeitsbereich verwenden.

Wie die einzelnen Workflows gestartet werden

Claude Code im OpenMontage-Ordner öffnen (es liest CLAUDE.md), oder anderen Bot direkt skills/pipelines/<Workflow>/executive-producer.md lesen und schrittweise ausführen lassen. Gleich zu Beginn die obigen Hausregeln einfügen.

  • clip-factory: Lange Videos (YouTube, Livestreams, Podcast-Aufnahmen) in mehrere vertikale Kurzvideos schneiden. Vor dem Herunterladen mit yt-dlp sicherstellen, dass Josh die Nutzungsrechte hat.
  • screen-demo: Echte Bildschirmaufnahmen für Tutorials (screen_recorder/cap_recorder verfügbar).
  • localization-dub: Videos in eine andere Sprache übersetzen und synchronisieren. Synchronisation zuerst mit dem ElevenLabs-Konnektor erstellen, dann zur Zeitabstimmung und Audiomischung übergeben.
  • podcast-repurpose: Podcast-Audiodateien in kurze, aussagekräftige Videos umwandeln.
  • Referenzvideo-Analyse: Ein Reel/Short posten lassen; es analysiert Rhythmus, Einstieg, Struktur, schlägt 2-3 originelle Versionen vor und schätzt die Kosten (animated-explainer, animation, cinematic, character-animation haben reference_input). Nur die Struktur lernen, nicht das Bild oder den Text kopieren.
  • documentary-montage: Themenmontage ohne oder mit wenig Voice-Over (Adam-Curtis-Stil), verwendet CLIP semantisches Matching, um automatisch Material für jeden Abschnitt auszuwählen. Für gesprochene Reels weiterhin stock-footage-reel verwenden.
  • Backlot Storyboard: python -m backlot open <project-id> (lokales Storyboard, nur zur Beobachtung; Fehler beeinträchtigen die Produktion nicht). Nur zur Fortschrittskontrolle und Freigabeprüfung; die endgültige Freigabe durch Josh erfolgt weiterhin im Chat.

Material für stock-footage-reel hinzufügen

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

Gibt für jedes Material einen Thumbnail-Pfad und einen pick-Eintrag ({"source":"file",...}) aus, der direkt in shots.json eingefügt werden kann. Die Lizenzaufzeichnungen werden in om_clips/om_credits.json gespeichert. Thumbnails mit „Read“ ansehen, Lizenz einzeln prüfen, dann ins Video einfügen. Verfügbare Quellen: pexels (mit Schlüssel), archive_org, wikimedia, nasa, nara, loc, coverr, pond5_pd. NASA-Downloads können manchmal zeitüberschreiten (images-assets.nasa.gov); bei Fehler wird note: ausgegeben, einfach auf eine andere Quelle wechseln.

Lizenz (AGPLv3)

Die Verwendung von OpenMontage als Werkzeug zur Videoproduktion, auch für kommerzielle Beiträge, ist erlaubt; die fertigen Videos unterliegen nicht der AGPL. Nur wer „den Code modifiziert und als Netzwerkdienst für andere bereitstellt“, muss den Quellcode offenlegen. Modifizierte Versionen von OpenMontage daher nicht als öffentlichen Dienst hosten.

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 風格」、「素材庫剪輯」。

Verwandte Skills