Communitygithub.com

toonfacts

Animierte Cartoon-Fakten-Shorts erstellen (Story-First, Hook-Gated: wahre Geschichten, Geschichte und interessante Fakten, jede auf einer in den ersten drei Sekunden eröffneten Frage aufgebaut) im Ricks-Clips-Stil (2D-Charaktere in einer bunten 3D-Welt, natürlicher trockener Erzähler, wortweise Untertitel) mit Remotion und three.js, Ende zu Ende. Modi: Neues Video (Thema, Recherche, Skript, ElevenLabs-Voiceover, Bauen, Selbstprüfung, Rendern), bestehendes Video aktualisieren, fortsetzen, prüfen, Ideen. Verwenden für „neues video“, „neues video über X“, „video <slug> aktualisieren“, „video <slug> fortsetzen“, „video prüfen“, „gib mir video-ideen“ oder jede Anfrage für einen viralen animierten Fakten-Kurzfilm.

Was ist toonfacts?

Toonfacts ist eine KI-Agenten-Fertigkeit, die den gesamten Workflow zur Erstellung animierter Fakten-Kurzfilme im Stil von „Ricks Clips“ automatisiert. Sie erstellt Story-First, Hook-Gated Videos mit 2D-Charakteren in einer farbenfrohen 3D-Welt, einem natürlichen, trockenen Erzähler und wortweisen Untertiteln mithilfe von Remotion und three.js. Die Fertigkeit deckt den gesamten Prozess von der Ideenfindung und Recherche über die Skripterstellung und Sprachsynthese mit ElevenLabs bis hin zum Bau, der Selbstprüfung, dem Rendern und späteren Aktualisierungen ab. Sie wurde für Claude Code entwickelt und nutzt dessen MCP-Funktionen für die Sprachausgabe. Die Fertigkeit bietet mehrere Modi (Neues Video, Aktualisieren, Fortsetzen, Prüfen, Ideen), die jeweils spezifische Dokumentationen für den Workflow referenzieren. Ein zentrales Merkmal ist das „Hook-Gate“: Der erste Satz muss den Zuschauer in den ersten drei Sekunden fesseln; Skripte und Videos werden so lange überarbeitet, bis dieser Test bestanden wird. Die Fertigkeit enthält strenge Regeln für die visuelle Konsistenz (jede Einstellung muss mit dem Voiceover übereinstimmen und wird automatisch geprüft) und eine spezifische Ordnerstruktur zur Verwaltung von Projekten. Sie vermeidet unnötige Nachfragen beim Benutzer und trifft stattdessen begründete Entscheidungen, die in Notizen festgehalten werden.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alifmahmudashik/toonfacts/tree/HEAD

In Ihrer bevorzugten KI fragen

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

Dokumentation

Toonfacts: Animierte Cartoon-Fakten-Shorts, eine Fertigkeit

Sagen Sie einfach, was Sie möchten, in normalen Worten. Diese eine Fertigkeit erledigt die gesamte Arbeit: Idee, Fakten, Skript, Einstellungsplan, Untertitel, ElevenLabs-Voiceover, Bauen, Selbstprüfung, Rendern und spätere Aktualisierungen. Fragen Sie den Benutzer nie, den Stil zu erklären: Er ist in dieser Fertigkeit definiert.

Modi (aus den Worten des Benutzers auswählen)

Benutzer sagtModusLesen
„neues video“, „neues video über X“, „überrasch mich“, „mach den nächsten kurzfilm“Neudocs/new-video.md
„video aktualisieren“, „video reparieren“, „ändere X in “, „wende die neuesten regeln an“Aktualisierendocs/update-video.md
„video fortsetzen“ (nach einem manuellen Schritt wie dem Speichern des Audios)Fortsetzendocs/new-video.md, fortsetzen ab der ersten fehlenden Phase
„video prüfen“, „ prüfen“, „prüf diese mp4“PrüfenNur docs/review.md
„video-ideen“, „gib mir ideen“IdeenNur docs/new-video.md Phase 1: Reales Geschichten und interessante Fakten recherchieren, nach Story-Stärke und Hook-Stärke bewerten, in videos/_ideas.md protokollieren, die Top 5 mit einer einzeiligen Geschichte, ihrer Form und einem Entwurf des Hooks anzeigen, nichts bauen
„fertigkeit aktualisieren“UpgradeNur Preflight-Schritt 2, dann die Versionsänderung melden
Wenn die Anfrage unklar ist, wählen Sie Neu, wenn kein Video benannt wird, und Aktualisieren, wenn eines benannt wird. Wie das Video gebaut wird und wie es aussehen muss, steht in docs/engine.md; sowohl Neu als auch Aktualisieren verwenden es.

Betriebsregeln (alle Modi)

  • Eine Einstellung muss bedeuten, was die Stimme sagt, und wird mechanisch geprüft. Jede Einstellung deklariert, was sie behauptet (was gelesen wird, wer was ansieht, worauf was zielt, was gehalten wird) und ruft assertScene auf; jeder auf ein Requisit gemalte Text wird mit fitText angepasst. tools/check_scene.py blockiert das Rendern, bis diese Aufrufe vorhanden sind. Rendern Sie niemals an einem fehlschlagenden Tor vorbei, und reparieren Sie niemals ein abgeschnittenes Schild, indem Sie seinen Text verkleinern oder eine Toleranz erweitern: Reparieren Sie die Geometrie.
  • Der Hook ist ein Tor, keine Verzierung. Es wird kein Skript geschrieben, bis eine erste Zeile das Hook-Tor in docs/new-video.md Phase 2 passiert, und kein Video wird ausgeliefert, bis der Hook-Block oben in templates/review_checklist.md besteht. Eine schwache erste Zeile ist ein Grund für einen Neuentwurf, niemals etwas, das später umgangen wird.
  • Stellen Sie keine Fragen. Treffen Sie vernünftige Entscheidungen, schreiben Sie sie in das NOTES.md des Videos, machen Sie weiter. Stoppen Sie nur, wenn das Voiceover nicht erstellt werden kann (siehe docs/new-video.md Phase 3), ein benötigtes Werkzeug fehlt oder eine Entscheidung nicht rückgängig gemacht werden kann.
  • Ein Ordner pro Video, alles darin: videos/<slug>/ (slug = Titel als kleingeschriebene Wörter, getrennt durch Bindestriche). Finales MP4 und publish.txt ganz oben, Arbeitsdateien in source/, alte Renderings in versions/. Temporäre Dateien (Standbilder, Kontaktbögen, Test-Renderings) nur in work/<slug>/. Lassen Sie niemals Arbeit nur im Gespräch.
  • Geben Sie ElevenLabs-Credits einmal pro Voiceover aus (eine Aufnahme). Nur neu generieren, wenn sich die gesprochenen Wörter ändern, das Audio unbrauchbar ist oder die Aufnahme die Leistungsprüfung in docs/new-video.md Phase 3 Schritt 4 nicht besteht (Lachen oder Übertreibung) – dann einmal mehr, mit reduzierten Tags.
  • Natürlich ist ausdrucksstärker als übertrieben. Der Erzähler lacht nie: kein [lacht] oder [kichert] irgendwo, höchstens 3 Tags im gesamten Skript und keine Ausrufezeichen im Voiceover-Text. Die Bilder tragen die Komödie; ein Erzähler, der über seinen eigenen Witz lacht, ist das klarste Zeichen einer KI-Aufnahme.
  • API-Schlüssel niemals ausdrucken oder speichern. Das ElevenLabs MCP wird vom Benutzer in Claude Code hinzugefügt; verwenden Sie es als verbunden.
  • Niemals ein Video veröffentlichen oder hochladen. Die Auslieferung ist das finale MP4, sein Vorschaubild und eine recherchierte publish.txt (Titel, Beschreibung, Hashtags, Tags).
  • Finale Antwort: Ein paar Zeilen (was erstellt oder geändert wurde, wo es ist, die wichtigen Entscheidungen, ein nächster Schritt). Keine Schritt-für-Schritt-Zusammenfassung.

Preflight (still, jeder Lauf, jeder Modus)

  1. Projekt und Ordner. Finden Sie das Remotion-Projekt (den Ordner mit package.json und src/). Erstellen Sie videos/, videos/_ideas.md und work/, falls nicht vorhanden.
  2. Halten Sie diese Fertigkeit aktuell. Wenn dieser Fertigkeitsordner ein Git-Klon ist, führen Sie ein stilles git pull --ff-only aus und lesen Sie CHANGELOG.md, um zu erfahren, was sich geändert hat; erwähnen Sie die neue Version nur in der finalen Antwort, wenn sie sich geändert hat. Wenn es kein Git-Klon ist, überspringen.
  3. Werkzeuge. Überprüfen Sie ffmpeg, Python 3 und @remotion/three (installieren Sie @remotion/three und three im Projekt, falls nicht vorhanden). Finden Sie die ElevenLabs MCP-Werkzeuge (Namen wie text_to_speech, generate_speech, creative_generate_speech, list_voices, speech_to_text, transcribe); laden Sie sie mit ToolSearch, falls verzögert. Wenn keine vorhanden sind, fahren Sie bis zum Voiceover fort, schreiben Sie NEEDS_AUDIO.md mit der Erklärung, dass das ElevenLabs MCP verbunden werden muss (oder das Audio bereitgestellt werden muss), und stoppen Sie dort.
  4. Alte separate Fertigkeiten. Wenn .claude/skills/cartoon-3d-short/ oder .claude/skills/new-video/ ebenfalls existieren, verwenden Sie sie nicht. Teilen Sie dem Benutzer einmal in der finalen Antwort mit, dass er diese beiden Ordner entfernen kann, da diese Fertigkeit beide ersetzt.
  5. Legacy-Hilfsdateien. Löschen Sie video-ideas/SKILL-UPDATE.md (erste Zeile beginnt mit „# Instructions for Claude Code“) und video-ideas/README.md (erste Zeile „# video-ideas“), falls vorhanden. Löschen Sie niemals etwas anderes.
  6. Alte publish-Dateien umbenennen (einmalig). Die publish-Datei ist jetzt reiner Text, nicht Markdown, da der Benutzer daraus kopiert und sie nicht gerendert lesen möchte. Kopieren Sie für jedes videos/<slug>/publish.md den Inhalt nach videos/<slug>/publish.txt, entfernen Sie dabei das Markdown (löschen Sie #, **, Backticks, Tabellen-Pipes; machen Sie aus Überschriften Großbuchstaben und behalten Sie den Inhalt identisch), und teilen Sie dem Benutzer in der finalen Antwort mit, welche publish.md-Dateien er nun löschen kann. Löschen Sie sie niemals selbst.
  7. Migration des alten Layouts (einmalig, durch Verschieben, niemals Löschen). Wenn video-ideas/ oder out/ aus einer älteren Version existiert:
    • video-ideas/_ideas.md wird zu videos/_ideas.md.
    • Für jedes video-ideas/<slug>/: publish.md (oder publish.txt) geht nach videos/<slug>/publish.txt; jede andere Datei (script.md, voiceover*.mp3, words.json, NOTES.md, REVIEW.md, CHANGES.md, NEEDS_AUDIO.md, Prüfbögen) geht nach videos/<slug>/source/.
    • Ordnen Sie jedes finale Rendering in out/ seinem Slug zu (anhand des Dateinamens oder Titels – out/<slug>.mp4 oder ein Name wie The_Man_Who_...): das neueste wird zu videos/<slug>/<slug>.mp4, ältere werden zu videos/<slug>/versions/<slug>_v1.mp4, _v2.mp4 nach Datum sortiert.
    • Alles andere in out/ (Standbilder, Kontaktbögen, QA, Test-Renderings, pro-Video-Temporärordner) wird nach work/legacy-out/ verschoben und die beiden Hilfsdateien oben nach work/legacy/. Alles, was Sie nicht zuordnen können, bleibt ebenfalls dort.
    • Wenn abgeschlossen, listen Sie in der finalen Antwort auf, was wohin verschoben wurde (eine kurze Liste), und teilen Sie dem Benutzer mit, dass die leeren Ordner video-ideas/ und out/ gelöscht werden können. Berühren Sie nicht src/, public/, scripts/, audio/ oder backup/, und lassen Sie alle bereits in work/ befindlichen Dateien an ihrem Platz.

Ordnerstruktur

videos/                        # alles Fertige oder in Bearbeitung, ein Ordner pro Video
  _ideas.md                    # jedes verwendete oder abgelehnte Thema (zuerst lesen, zuletzt anhängen)
  <slug>/
    <slug>.mp4                 # ENDGÜLTIGES Video: die hochzuladende Datei
    thumbnail.jpg              # erstelltes Cover, 2160x3840 (kein roher Frame)
    publish.txt                # Titel, Beschreibung, Hashtags, Tags, Kategorie, angehefteter Kommentar + Recherchequellen
    source/                    # script.md  voiceover.mp3  words.json  NOTES.md  REVIEW.md  CHANGES.md
    versions/                  # frühere Renderings: <slug>_v1.mp4 ... (vom Aktualisieren-Modus aufbewahrt)
work/                          # Temporäre Dateien, sicher zu löschen: Standbilder, Kontaktbögen, QA, Test-Renderings, REMOTION_TMP, wenn kein anderes Laufwerk
  <slug>/

Was in dieser Fertigkeit enthalten ist

PfadWas es ist
docs/new-video.mdNeu und Fortsetzen: Idee, Recherche, Skript, Voiceover, Bauen, Prüfung, Auslieferung
docs/update-video.mdAktualisieren: Änderung klassifizieren, alte Versionen schützen, anwenden, neu rendern, Regressionstest
docs/review.mdDer Prüfzyklus (Kontaktbögen, Prüfungen, Bewertungen, Korrekturen)
docs/engine.mdWie das Video gebaut wird und aussehen muss: Pipeline, Regeln für jedes Video, Bildausschnitt, Beleuchtung, Kameraführung, Untertitel, Reaktionen, Qualitätsschranke
references/story_format.mdDas sechsteilige Story-Format, Comedy-Werkzeugkasten, Tempovorgaben
references/ (andere)Stilbibel, Messberichte, Referenzbilder und -bögen
templates/Renderer-Quellcode (bridge/), Audiosynthese, Skripte, Einstellungsplan, Skript- und Prüfvorlagen
docs/history/Archiv der README, CHANGELOG und ursprünglichen Formulierungen der beiden früheren Repos. Keine Anweisungen
tools/review_video.shLängen-, Hartschnitt- und Lautstärkeprüfungen plus Kontaktbögen
tools/make_thumbnail.pyErstellt ein 2160x3840 Shorts-Vorschaubild: schneidet die Figur aus, setzt sie auf einen gemachten Hintergrund, stapelt den Text
tools/check_scene.pyBlockiert ein Rendering, dessen Einstellungen niemals ihre physische Wahrheit deklariert oder deren Requisitentext nicht angepasst wurde
tools/check_voice.pyÜberprüft eine Voiceover-Aufnahme: Geschwindigkeit, Pausen, Lautstärke und die Sekunden, in denen die Auslieferung zu schnell ist (Lachen, Hetzen)

Verwandte Skills