Communitygithub.com

DevineCheung/suge-video-skills

「苏格拉没有底」视频工坊:两种已验证风格:【漫画口播】(混知式彩色漫画 + 用户自录口播逐字对齐,竖屏 1080×1920)与【像素卡点】(像素暖光故事、无口播、文字对白,画面卡在配乐乐句上,4:3 1440×1080)。做本账号任何视频时加载,先按 §1 选风格,再读对应 STYLE.md。

Was ist suge-video-skills?

Dieses Skill ist eine umfassende Videoproduktionswerkstatt für den Kanal „苏格拉没有底“. Es bietet zwei getestete und validierte Stile: „Comic-Erklärvideo“ (Comic-Erklärungen mit farbigen Cartoons und benutzeraufgenommenem Voice-Over, vertikal, 1080×1920) und „Pixel-Beat-Story“ (pixelige, warmherzige Geschichten ohne Voice-Over, mit Text-Dialogen, die auf den Musikbeat geschnitten sind, 4:3 1440×1080). Es ist nützlich für Entwickler und Content-Ersteller, die automatisierte, qualitativ hochwertige Videoproduktion mit klaren ethischen Richtlinien benötigen. Das Skill wird für die Arbeit mit jedem Video auf diesem Kanal geladen. Zuerst wird der Stil nach einem einfachen Schema (Stil 1 oder 2) ausgewählt, dann wird die entsprechende `STYLE.md` gelesen, die die komplette Spezifikation und Abläufe enthält. Es unterstützt die Umsetzung von Audio (benutzeraufgenommenes Voice-Over oder Musik), Videorendering, Asset-Erstellung (Comic-Figuren, Pixel-Elemente) und Einhaltung von konstanten Qualitäts- und Markenstandards (Cover als erster Frame, Wasserzeichen in der Szene, ethische Inhalte). Das Skill arbeitet mit node 22, Remotion und ffmpeg und ist geeignet für Plattformen wie Bilibili, TikTok oder YouTube Shorts.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add DevineCheung/suge-video-skills

In Ihrer bevorzugten KI fragen

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

Dokumentation

苏格拉没有底 · 视频工坊(综合 skill)

1. Stil auswählen

Comic-ErklärvideoPixel-Beat-Story
Verzeichnisstyles/comic-explainer/styles/pixel-beat-story/
Geeignet fürErklärung eines Sachverhalts (Gesellschaft, Zeitgeschehen, Geschichte): Nachfragen zu Nachrichten, Systeme, BegriffsklärungenErzählung einer persönlichen Geschichte (soziale Brennpunkte): Autismus, Alzheimer, zurückgelassene Menschen, Alleinleben…
AntriebBenutzeraufgenommenes Voice-Over mit Wort-für-Wort-Zeitachse (faster-whisper + difflib)Musik mit Takt-/Phrasenraster (beats.py)
SeitenverhältnisHochformat 1080×1920 / 30fpsQuerformat 4:3 1440×1080 / 30fps (änderbar)
DauerAbhängig vom Voice-Over (Beispiel: 10 Minuten, 7 Kapitel)3–4,5 Minuten
BildspracheWarm-beiger Papierhintergrund, Q-Version bunte Comic-Figuren (Green-Screen-Erzeugung, Freistellung), Kapitelkarten, Stempel, programmatische IconsPixel-Nacht-Szene mit Häuschen, Elfen-Figuren, sprechende kleine Objekte, HUD-Zähler, Text-Dialoge
TonOriginalstimme ungeschnitten + programmatische Klaviermusik + Soundeffekte + DuckingMusik (verlängern/unterbrechen/zurückkommen) + programmatische Regen-/Donner-Umgebungsgeräusche, Stille an der schmerzhaftesten Stelle
Enginenode 22 + @napi-rs/canvas (render_example.js DSL)Remotion (weilanx-claude-videos Projekt, Ep54-example.tsx)
Beispiel„Bei so vielen Daten, warum noch ein Staatsunternehmen gründen?“„Er spricht nicht“ / „Er kommt nicht von den Sternen“

Bei Unsicherheit den Nutzer fragen: „Soll dieses Video ein Comic-Erklärvideo oder eine Pixel-Beat-Story werden?“

Nach der Auswahl den vollständigen Inhalt der entsprechenden STYLE.md lesen (read_file) und nach deren Ablauf vorgehen.

2. Gemeinsame Kanal-Richtlinien (obligatorisch)

  1. Cover als erster Frame: Jedes Video erhält ein selbst erstelltes Cover, das direkt am Anfang des fertigen Videos eingefügt wird (Comic-Erklärvideo: erste 0,4s; Pixel-Beat-Story: Frame 0). Eine separate Cover-Datei wird ausgeliefert.
  2. Wasserzeichen in die Szene integrieren, kein Ecklogo: „苏格拉没有底“ in Schilder, Namensschilder, App-Leisten, Fenstertitel, Abspann-Angaben usw. schreiben; der Nutzer lehnt explizit ein Wasserzeichen in der unteren rechten Ecke ab.
  3. Erst Muster, dann Vollvideo: Comic-Erklärvideo: Erstelle Anfang bis erstes Kapitel (ca. 80s); Pixel-Beat-Story: Erstelle erste Szene (60–70s). Erst nach Bestätigung des Looks durch den Nutzer das gesamte Video erstellen.
  4. Drehbuch vorab prüfen: Der Nutzer schreibt das Skript / nimmt die Audiodatei selbst auf. Ich bin für Faktencheck zuständig (web_fetch der Originalberichte/Forschung), weise auf mehrdeutige Zeichen, logische Sprünge und heikle Formulierungen hin, bevor ich mit der Arbeit beginne.
  5. Audio-Grundlinie: Die Originalstimme des Nutzers wird nicht geschnitten oder neu angeordnet; kein TTS als Ersatz; Musik und Soundeffekte müssen originell/programmatisch oder lizenziert sein; Platzhalter-Tracks werden bei jeder Auslieferung als solche gekennzeichnet und zum Austausch aufgefordert. Zusammengesetzte Audios werden mit numpy equal-power Crossfade verbunden (ffmpeg acrossfade schneidet bei gleicher Eingabe ab).
  6. Lautstärke: Gesamtes Video -15 LUFS, zweimal loudnorm (shared/loudnorm.sh), Fade-Out am Ende.
  7. Figuren ansehnlich: Sauber, freundlich, ausdrucksstark; der Nutzer akzeptiert keine hässlichen Figuren, auch Nebenfiguren müssen ansprechend sein; gleiche Figuren erhalten ein festes Prompt-Skelett; Erzeugung mit Green-Screen/reinem Hintergrund und anschließendem Freistellen (Comic-Erklärvideo key.py, Pixel-Beat-Story cutout.py).
  8. Kontaktabzug vor dem Rendern prüfen: Mit read_file den Kontaktabzug ansehen – Text erscheint nicht außerhalb des Bildes, überdeckt keine Gesichter, erster Frame ist das Cover, Wasserzeichen ist vorhanden, Schlüsseldialoge/-wörter passen zum Ton.
  9. Rendering: Mit 2 Kernen in der Sandbox segmentiert parallelisieren (jedes Segment concurrency=1), zuerst nach /tmp schreiben, dann in das Arbeitsverzeichnis kopieren (faststart in Netzwerklaufwerke verursacht IO-Fehler); bei Audio-Änderungen nur die Audiodatei neu rendern, bei kleinen Änderungen nur die betroffenen Frame-Segmente neu rendern und überschreiben.
  10. Inhaltsethik (besonders bei Pixel-Beat-Story): Nicht behaupten, dass KI irgendeine Krankheit heilen kann; keine vulnerablen Gruppen romantisieren oder als „die Anderen“ darstellen; Geschichten als fiktional kennzeichnen, keine echten Kinderdaten verwenden; im Abspann Quellen und Jahreszahlen angeben.

3. Verzeichnisstruktur

SKILL.md                         ← Diese Datei (Stilauswahl + gemeinsame Regeln)
shared/loudnorm.sh               Zweimal loudnorm
styles/comic-explainer/        【Comic-Erklärvideo】
  STYLE.md                       Stil-Spezifikationen, Layout-Koordinaten, Animations-DSL, Audio-Ausrichtung und Mischungsprozess
  templates/ lib.js render_example.js audio.py wh.py align2.py key.py mux.sh
  examples/  Cover-/Kontaktabzug-Beispiele, Figuren-Muster, Textformat (mit # oder #Kapitel markiert)
styles/pixel-beat-story/       【Pixel-Beat-Story】
  STYLE.md                       Stil, Drehbuch-Formel, Beat-Regeln, Musikbearbeitung, Layout, QA
  references/ story.md layout.md
  scripts/ beats.py music_tools.py sfx.sh cutout.py contact.sh stills.mjs render.sh mux.sh
  template/ Ep54-example.tsx ep54-music-ops.json ep54-script-example.md assets/

4. Umgebung

  • Allgemein: ffmpeg ≥6, python3 + numpy scipy pillow; chinesische Schriftarten.
  • Comic-Erklärvideo: node 22 + @napi-rs/canvas; faster-whisper (numpy-Array übergeben, keinen Dateipfad); Schriftart LXGW WenKai → fonts/wk.ttf. lib.js benötigt assets/, map/, heads.json (Porträt-Zuschneidetabelle {name:[cx,cy,size]}) im Projektverzeichnis; bei neuen Projekten selbst anlegen.
  • Pixel-Beat-Story: Remotion-Projekt (weilanx-claude-videos, MIT; Remotion privat / für Unternehmen mit ≤3 Mitarbeitern kostenlos); Noto Sans/Serif SC. Vor jedem node-Befehl in der Sandbox export NODE_OPTIONS=--max-old-space-size=4096 setzen, ./node_modules/.bin/remotion statt npx verwenden.

5. Auslieferungs-Textbaustein

In einer Nachricht zusammenfassen: Videolänge, zwei oder drei Highlights (Comic-Erklärvideo: Kapitel und Schlüsselszenen; Pixel-Beat-Story: Beat-Design), ob die Musik nur ein Platzhalter ist, und fragen, was angepasst werden soll. Anhängen: fertiges mp4 + Cover.

Verwandte Skills