Communitygithub.com

alexgreensh/anidoodle

Code-gezeichnete Standbilder, Zeichen-Zeitraffer, Filme, Erklärfilme und interaktive Web-Animationen in 31 Stilen mit komponierten Soundtracks. Passt einen Referenzstil an, hält Figuren konsistent, lehrt Zeichnen. Deterministisch, keine generierten Assets.

Was ist anidoodle?

anidoodle ist ein KI-Agenten-Skill zur Erstellung von vollständig in Code gezeichneten Bildern, Filmen und interaktiven Inhalten. Jeder Frame wird durch eine einzige, deterministische Funktion gemalt, und jeder Audio-Sample wird durch einen eigenen Komponisten-Synthesizer erzeugt. Der Skill unterstützt 31 verschiedene Stile und bietet Workflows für Standbilder (Still), Loops, Filme, Erklärfilme, Launch-Videos und interaktive Web-Animationen. Besondere Features sind die strenge Einhaltung eines "Kunst-Handwerksniveaus" (craft bar), das Sicherstellen von Figurenkonsistenz über verschiedene Stile hinweg, und die Integration von Musik- und Soundeffekt-Komposition. Der Skill ist deterministisch: Der gleiche Quellcode erzeugt auf jeder Maschine die gleichen Pixel und den gleichen Sound. Er wird über die CLI mit Node.js-Tools gesteuert und ist für die Integration in Agenten wie Claude Code, Cursor und Codex optimiert.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/alexgreensh/anidoodle/tree/HEAD/skills/anidoodle

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht anidoodle?

Bilder, Filme und interaktive Stücke, die vollständig in Code gezeichnet werden. Eine reine Funktion malt jeden Frame; eine andere komponiert und synthetisiert jedes Audio-Sample. Die gleiche Quelle baut die gleichen Pixel und den gleichen Sound auf jeder Maschine, in jeder Größe, in jeder Länge.

Die Engine ist der einfache Teil. Arbeit wird weggeworfen, weil sie keinen Sinn hatte, weil das Motiv nur eine Ikone seiner selbst war, weil ein Stil nur ein Paletten-Tausch war, weil die Musik keine Form hatte oder weil die Person ihre Geduld bei der Freigabe von Fragmenten verbraucht hat. Dieser Skill trägt das Handwerk bei, das all das verhindert.

Beginne mit Fragen, dann baue

Lies references/workflows/start-here.md und führe dessen Aufnahme durch: eine Frage nach der anderen, nur das, was die Anfrage offen lässt, zuerst deine Empfehlung. Was machen sie, in welchem Stil (zeige das Galerieblatt, https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg; die Liste ist references/styles/INDEX.md), welche Form (1x1, 9x16, 16x9, 4x5 oder beliebiges B x H), wie lang (beliebige Länge; niemals begrenzen), welcher Sound (stumm oder ein Musikstil und eine Stimmung), welche Charaktere. „Du entscheidest“ bedeutet, wähle und begründe in einem Satz. Schreibe die Antworten in ein kurzes Briefing, bevor du zeichnest.

Was erstellst du?

ErstellungLesehinweis
Ein Standbild: Held, Spot, Cover, Karte, Poster, eine SerieStandbild-Workflow unten, references/formats.md
Ein Bild, das sich selbst zeichnet (Zeitraffer, Behind the Scenes)references/workflows/drawing-process.md
Ein Loop, Sticker, animiertes Logo, Ambient-HeaderLoop-Workflow unten, references/formats.md
Ein Story-Film, jede LängeFilm-Workflow unten, references/workflows/long-film.md
Ein Erklärvideo oder eine Infografikreferences/workflows/explainer.md
Ein Launch- oder Produktvideo (deren Screenshots sind willkommen)references/workflows/launch-video.md; baue es auf references/workflows/launch-video-kit.md auf
Eine interaktive Web-Animation, die auf die Benutzeroberfläche reagiertreferences/workflows/interactive.md
Eine Zeichenstunde oder „Wie zeichne ich das?“references/workflows/teach-drawing.md
Ein Charakter, der in jedem Stil identisch bleibt (vom Holzstich bis zum Legostein)references/workflows/character-consistency.md, references/anatomy.md
Ein Stil, der an ein Bild angepasst wirdreferences/workflows/adapt-a-style.md
Eine Partitur oder ein Soundtrackreferences/music/README.md
  • Musik: Schreibe deine eigene Partitur für den Film (references/music/README.md); node tools/music.mjs check <score.ts#export> muss BESTANDEN haben, bevor ein Mensch zuhört.
  • Soundeffekte: references/music/sound-design.md. 14 geschichtete, gesäte Effekte, die durch den Filmbild (FilmSfx) gesteuert werden; die Partitur duckt sich ab, und jeder Cue muss innerhalb von 6 dB von ihr liegen. Effekte nur bei tatsächlichen Richtungswechseln, ein Aufbau + ein Einschlag pro Film.
  • Launch-Filme: launchTemplate.ts rendert den Launch eines Produkts aus Daten: Prompts, eigens dafür gezeichnete Platten, eine eigens dafür geschriebene Partitur, Wörter, Installationszeilen; Gewohnheiten, die Tokens sparen, sind in references/working-method.md.

Die sieben Gesetze

  1. Jedes Stück hat einen Sinn. Ein Standbild: eine Idee, ein Fokus-Subjekt, ein Licht. Ein Film: eine Verwandlung, ein Ertrag, ein Token, der zurückkehrt. → references/storytelling.md
  2. Gib den Realismus an. Nenne die Anatomie, die Ansicht und die Referenz, die du geöffnet hast, für Tiere, Objekte und Menschen gleichermaßen. → references/realism-and-craft.md, references/anatomy.md
  3. Ein Stil ist eine Art, Markierungen zu setzen. Ändere das Medium, die Kante und die Reihenfolge der Markierungen, über die Palette hinaus. → references/styles.md
  4. Beweise den Look an EINEM Standbild, dann baue von Anfang bis Ende. Danach kosten Prüfungen mehr, als sie einsparen. → references/working-method.md
  5. Der Vertrag ist absolut. Rein in (frame, env) (und dem Eingabelog, für interaktive Stücke), nur rng(seed), keine Uhr, kein ctx.filter. Nichts generiert oder heruntergeladen; Bilder, die die Person mitbringt, können eingebettet, durch Hash verankert werden. → references/determinism-and-contract.md
  6. Musik bekommt einen Plan, niemals ein Adjektiv. Ein Stil, eine Stimmung pro Abschnitt, die Noten als Daten, dann Messungen. Du kannst sie nicht hören, daher hört ein Mensch zu, bevor sie ausgeliefert wird. → references/music/
  7. Einer leitet, einer baut, beide schreiben alles auf. Wenn eine Sitzung degradiert, setze zurück; die Dateien sind das Gedächtnis. → references/working-method.md

Workflows

Standbild. (1) Sage die Idee in einem Satz; nenne das Fokus-Subjekt und das Licht. (2) Öffne eine echte Referenz für alles, was existiert, und notiere welche. (3) Wähle den Stil und lies zuerst den Header seiner Platte. (4) Zeichne in der Reihenfolge dieses Mediums. (5) Rendere mit still.mjs in voller Größe, führe den Detaildurchlauf auf Ausschnitten durch (Gesichter, Hände, Füße, Gelenke; references/craft-bar.md), kritisiere schriftlich. ✋ Eine Freigabe. (6) Liefere jede geforderte Größe und Form aus der gleichen Quelle und sage, dass reproducible ausgegeben wurde.

Loop. Wie ein Standbild, plus: jede Bewegung ist periodisch über den Loop, das Subjekt stoppt nie, etwas bewegt sich jede Sekunde. Prüfe die Naht (letzter Frame gegen Frame 0). ✋ Eine Freigabe, an der bewegten Datei.

Film. (1) Die Geschichte in drei Sätzen (Setup, Transformation, Ertrag) und das Token; für längere Filme ein Spine plus eine Zeile pro Kapitel. Wenn du es nicht schreiben kannst, höre auf. (2) Das Raster: ein Beat ist 60 x fps / bpm Frames, der BPM aus der Partitur des Briefings; eine Cue-Tabelle enthält jede Framenummer und ein Prüfer läuft beim Laden. (3) Echte Referenz für alles, was existiert. (4) EIN Look-Standbild, der schwierigste Frame, schriftlich kritisiert. ✋ Freigabe. (5) EIN 8-Sekunden-Musik-Sample. ✋ Freigabe. (6) Baue den gesamten Film; mechanische Prüfungen laufen kontinuierlich. (7) Prüfe einmal die gerenderte Datei: ein Kontaktblatt pro Beat, jeder Schnitt als Paar, die Tote-Luft-Zahlen. Eine priorisierte Fehlerliste, ein Neubau. (8) ✋ Endgültige Freigabe. Sage, was du verifiziert hast und was du nicht kannst.

Maximal drei Freigabetore. Freigabe ist ein Budget; gib es dort aus, wo ein Fehler teuer wäre.

Das handwerkliche Niveau

Der Test: Würde ein stolzer menschlicher Illustrator das ausliefern, oder ist es mechanische Formzusammenstellung? Die vollständige Tabelle der Indizien ist references/craft-bar.md. Diejenigen, die die meiste Arbeit zunichtemachen: aus Ellipsen aufgebaute Motive, ein Stil, der in einen anderen umgefärbt wurde, Dinge, die einblenden, anstatt gezeichnet zu werden, Menschen mit Gummi-Gelenken, und ein Charakter, der von Einstellung zu Einstellung unterschiedlich gezeichnet wird.

Keine tote Luft in allem, was sich bewegt: etwas ändert sich sichtbar jede Sekunde. Ein Film, der sich selbst zeichnet, deklariert kind: "drawing" und wird auf einem feineren Niveau bewertet; ein Standbild fällt durch.

Die Engine

engine/ ist der portable Kunstkern plus die Werkzeuge. engine/src/canvas-core weiß nichts über das DOM oder ein Backend. W, H, fps und durationFrames stammen aus dem meta des Films. Kamerabewegungen (Schwenks, Zooms, Parallaxe, Verwackeln) stammen aus engine/src/canvas-core/camera.ts: references/camera.md. render.mjs --blur N rendert mit Bewegungsunschärfe (N Subframes gemittelt in linearem Licht pro Frame); der Standardpfad bleibt unberührt.

node <skill>/engine/tools/scaffold.mjs ~/art --film intro --format 9x16 --duration 12   # Sekunden
cd ~/art && npm install && npx playwright-core install chromium
node tools/still.mjs intro --frame 0 --out out/look.png --scale 2   # ein Standbild, mit seinem Hash
node tools/render.mjs intro                                        # MP4; --out x.gif|x.webm|x.apng
node tools/gate.mjs intro                                          # Determinismus, Vertrag, tote Luft
node tools/emit.mjs intro --out out/intro.html                     # ein eigenständiger Offline-Player
WerkzeugFunktion
scaffold.mjsein Projekt mit einem Standbild und/oder Film; --duration, --format oder --size, --fps, --bpm
still.mjs / render.mjsFrames, zweimal mit Hashes gezeichnet (--frames a,b,c --sheet in einem Browser) / das Stück in jedem Format (--from/--to, --poster-frame, --hashes)
gate.mjsDeterminismus, Vertrag, tote Luft, Artefakte; --self-test beweist, dass es fehlschlagen kann
registry.mjs / gallery.mjsdie Stil-Liste aus den Platten selbst / das Galerieblatt
docs-check.mjsschlägt fehl, wenn die Stilanzahl, -länge oder -pfad eines Dokuments nicht mit dem Code übereinstimmt
verify-export.mjsQA der gerenderten Datei: Frames, Dauer, Partitur; opt-in erster Frame, Loop-Naht, --delivery
test.mjs (npm test)Unit-Tests in engine/test/, kein Browser
music.mjsrendert und misst eine Partitur; check prüft sie (Tonart, Master, Guards, Stems, Novelty)
sfx.mjsdas Soundeffekt-Kit: list, one, kit <dir>, test

Vier Backends, ein Kunstkern: playwright, html-player, remotion, hyperframes. → references/backends-and-adapters.md

Ausgearbeitete Beispiele

  • Die Stilplatten in engine/src/canvas-core/: jede Hand hat ein Standbild und einen Film, in dem es gezeichnet wird, mit dem Rezept im Header und references/styles/<id>.md.
  • MECHANICAL LEPIDOPTERA in example/: ein 47 s langer Film mit Partitur. scaffold.mjs ~/study --example.

Studiere sie. Kopiere sie nicht. Das handwerkliche Niveau wird nicht durch Vererbung erfüllt.

Ehrliche Grenzen

Du kannst die Partitur nicht hören, den Film in Bewegung sehen oder das interaktive Stück nutzen. Jede Behauptung darüber stammt von einer Messung oder von einem Menschen; sage, welche. Ein grünes Häkchen ist eine Behauptung, bis sie erneut ausgeführt wird. Rendere einen Frame mit --scale 2, bevor du einem Standbild vertraust: Eine über die falsche Transformations geblitterte Ebene sieht bei 1x richtig aus und bricht bei 2x.

Verwandte Skills