Communitygithub.com

anidoodle

Créez des images, des films et des animations web interactives entièrement codés, dans 31 styles, avec des partitions composées. Déterministe, sans actifs générés.

Qu'est-ce que anidoodle ?

anidoodle est un ensemble de compétences pour agents IA (comme Claude Code, Cursor ou Codex) qui permet de créer des œuvres visuelles et sonores purement programmées : illustrations fixes, timelapses de dessin, films narratifs, vidéos explicatives, animations web interactives et leçons de dessin. Le moteur garantit le déterminisme : la même source produit exactement les mêmes pixels et le même son sur n'importe quelle machine, à n'importe quelle taille ou durée, sans utiliser d'actifs générés ou téléchargés. La compétence couvre 31 styles (liste dans `references/styles/INDEX.md`), la composition musicale complète, les effets sonores synchronisés par image, et des règles strictes de qualité (pas de temps mort, cohérence des personnages, anatomie réaliste). Elle s'appuie sur quatre backends (Playwright, HTML Player, Remotion, Hyperframes) et inclut des outils de validation (gate, registry, music checker) pour garantir le respect du contrat déterministe et des normes de qualité artisanale.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/majiayu000/claude-skill-registry/tree/HEAD/skills/design/anidoodle

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait anidoodle ?

Images, films et pièces interactives entièrement dessinés en code. Une seule fonction pure peint chaque image ; une autre compose et synthétise chaque échantillon audio. La même source reconstruit les mêmes pixels et le même son sur n'importe quelle machine, à n'importe quelle taille, à n'importe quelle durée.

Le moteur est la partie facile. Le travail est jeté parce qu'il n'avait pas de sens, parce que le sujet était une icône de lui-même, parce qu'un style n'était qu'un échange de palette, parce que la musique n'avait pas de forme, ou parce que la personne a épuisé sa patience à approuver des fragments. Cette compétence apporte le savoir-faire qui évite chacun de ces écueils.

Commencez par demander, puis construisez

Lisez references/workflows/start-here.md et exécutez son entrée : une question à la fois, uniquement ce que la demande laisse ouvert, votre recommandation en premier. Quoi fabriquent-ils, dans quel style (montrez la feuille de galerie, https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg ; la liste est references/styles/INDEX.md), quelle forme (1x1, 9x16, 16x9, 4x5 ou toute L x H), combien de temps (n'importe quelle durée ; ne la limitez jamais), quel son (silencieux ou un style musical et une ambiance), quels personnages. « Vous choisissez » signifie choisissez et dites pourquoi en une ligne. Écrivez les réponses dans un court brief avant de dessiner.

Que fabriquez-vous ?

FabricationLire
Une image fixe : héros, spot, couverture, carte, affiche, sérieWorkflow image fixe ci-dessous, references/formats.md
Une image qui se dessine elle-même (timelapse, making-of)references/workflows/drawing-process.md
Une boucle, un sticker, un logo animé, un en-tête d'ambianceWorkflow boucle ci-dessous, references/formats.md
Un film narratif, de n'importe quelle duréeWorkflow film ci-dessous, references/workflows/long-film.md
Une vidéo explicative ou un infographiquereferences/workflows/explainer.md
Une vidéo de lancement ou de produit (leurs captures d'écran bienvenues)references/workflows/launch-video.md ; construisez-la sur references/workflows/launch-video-kit.md
Une animation web interactive qui réagit à l'interface utilisateurreferences/workflows/interactive.md
Une leçon de dessin, ou « comment dessiner ça ? »references/workflows/teach-drawing.md
Un personnage conservé identique dans n'importe quel style (gravure sur bois à brique de jouet)references/workflows/character-consistency.md, references/anatomy.md
Un style adapté à partir de leur imagereferences/workflows/adapt-a-style.md
Une partition ou une bande sonorereferences/music/README.md
  • Musique : écrivez votre propre partition pour le film (references/music/README.md) ; node tools/music.mjs check <score.ts#export> doit PASSER avant qu'un humain écoute.
  • Effets sonores : references/music/sound-design.md. 14 effets superposés et basés sur une seed, déclenchés par image du film (filmSfx) ; la partition s'atténue, et chaque signal doit être à moins de 6 dB d'elle. Effets uniquement lors de changements de direction réels, un crescendo + un impact par film.
  • Films de lancement : launchTemplate.ts rend le lancement d'un produit à partir de données : invites, plaques dessinées pour lui, une partition écrite pour lui, mots, lignes d'installation ; les habitudes qui économisent des jetons sont dans references/working-method.md.

Les sept lois

  1. Chaque pièce a un sens. Une image fixe : une idée, un sujet focal, une lumière. Un film : une transformation, un aboutissement, un jeton qui revient. → references/storytelling.md
  2. Énoncez le réalisme. Nommez l'anatomie, la vue et la référence que vous avez ouverte, pour les animaux, les objets et les personnes. → references/realism-and-craft.md, references/anatomy.md
  3. Un style est une façon de faire des marques. Changez le médium, le bord et l'ordre des marques, au-delà de la palette. → references/styles.md
  4. Prouvez le rendu sur UNE image fixe, puis construisez de bout en bout. Après cela, les étapes d'approbation coûtent plus qu'elles n'en sauvent. → references/working-method.md
  5. Le contrat est absolu. Pure (frame, env) (et le journal d'entrée, pour les pièces interactives), rng(seed) seulement, pas d'horloge, pas de ctx.filter. Rien de généré ou téléchargé ; les images que la personne apporte peuvent être intégrées, fixées par hash. → references/determinism-and-contract.md
  6. La musique a un plan, jamais un adjectif. Un style, une ambiance par section, les notes comme données, puis des mesures. Vous ne pouvez pas l'entendre, donc un humain écoute avant qu'elle ne soit livrée. → references/music/
  7. L'un dirige, l'autre construit, les deux écrivent tout. Quand une session se dégrade, réinitialisez ; les fichiers sont la mémoire. → references/working-method.md

Workflows

Image fixe. (1) Dites l'idée en une phrase ; nommez le sujet focal et la lumière. (2) Ouvrez une référence réelle pour tout ce qui existe, et notez laquelle. (3) Choisissez le style et lisez d'abord l'en-tête de sa plaque. (4) Dessinez dans l'ordre de ce médium. (5) Rendez avec still.mjs à taille réelle, exécutez le passage de détail sur des recadrages (visages, mains, pieds, articulations ; references/craft-bar.md), critiquez par écrit. ✋ Une approbation. (6) Livrez toutes les tailles et formes demandées à partir de la même source, et dites que reproducible a été imprimé.

Boucle. Comme une image fixe, plus : chaque mouvement est périodique sur la boucle, le sujet ne s'arrête jamais, quelque chose bouge chaque seconde. Vérifiez la jointure (dernière image contre image 0). ✋ Une approbation, sur le fichier en mouvement.

Film. (1) L'histoire en trois phrases (mise en place, transformation, aboutissement) et le jeton ; pour les films plus longs, une colonne vertébrale plus une ligne par chapitre. Si vous ne pouvez pas l'écrire, arrêtez. (2) La grille : un temps est de 60 x fps / bpm images, le bpm venant de la partition du brief ; une table de signaux contient chaque numéro d'image et un vérificateur s'exécute au chargement. (3) Référence réelle pour tout ce qui existe. (4) UNE image fixe de rendu, l'image la plus difficile, critiquée par écrit. ✋ Approbation. (5) UN échantillon musical de 8 secondes. ✋ Approbation. (6) Construisez le film entier ; des vérifications mécaniques s'exécutent en continu. (7) Revoyez une fois depuis le fichier rendu : une planche contact par temps, chaque coupe en paire, les chiffres de silence. Une liste de correctifs classée, une reconstruction. (8) ✋ Approbation finale. Dites ce que vous avez vérifié et ce que vous ne pouvez pas.

Au plus trois étapes d'approbation. L'approbation est un budget ; dépensez-le là où se tromper coûte cher.

La barre de qualité

Le test : un illustrateur humain fier livrerait-il ceci, ou est-ce un assemblage mécanique de formes ? La table complète des indices est dans references/craft-bar.md. Ceux qui font échouer la plupart des travaux : des sujets construits à partir d'ellipses, un style recoloré en un autre, des choses qui apparaissent en fondu au lieu d'être dessinées, des personnes avec des articulations en caoutchouc, et un personnage dessiné différemment d'un plan à l'autre.

Pas de temps mort dans tout ce qui bouge : quelque chose change visiblement chaque seconde. Un film qui se dessine déclare kind: "drawing" et est jugé sur un niveau plus fin ; une image figée échoue toujours.

Le moteur

engine/ est le noyau artistique portable plus les outils. engine/src/canvas-core ne connaît rien au DOM ou à tout backend. W, H, fps et durationFrames viennent du meta du film. Les mouvements de caméra (pans, zooms, parallaxe, secousses) viennent de engine/src/canvas-core/camera.ts : references/camera.md. render.mjs --blur N rend avec un flou de mouvement (N sous-images moyennées en lumière linéaire par image) ; le chemin par défaut n'est pas modifié.

node <skill>/engine/tools/scaffold.mjs ~/art --film intro --format 9x16 --duration 12   # secondes
cd ~/art && npm install && npx playwright-core install chromium
node tools/still.mjs intro --frame 0 --out out/look.png --scale 2   # une image fixe, avec son hash
node tools/render.mjs intro                                        # MP4 ; --out x.gif|x.webm|x.apng
node tools/gate.mjs intro                                          # déterminisme, contrat, temps mort
node tools/emit.mjs intro --out out/intro.html                     # un lecteur hors ligne autonome
OutilCe qu'il fait
scaffold.mjsun projet avec une image fixe et/ou un film ; --duration, --format ou --size, --fps, --bpm
still.mjs / render.mjsimages dessinées deux fois avec des hashs (--frames a,b,c --sheet dans un navigateur) / la pièce dans n'importe quel format (--from/--to, --poster-frame, --hashes)
gate.mjsdéterminisme, contrat, temps mort, artefact ; --self-test prouve qu'il peut échouer
registry.mjs / gallery.mjsla liste des styles à partir des plaques elles-mêmes / la feuille de galerie
docs-check.mjséchoue quand le nombre de styles, la durée ou le chemin d'un doc est en désaccord avec le code
verify-export.mjsQA sur le fichier rendu : images, durée, partition ; opt-in première image, jointure de boucle, --delivery
test.mjs (npm test)suites unitaires dans engine/test/, pas de navigateur
music.mjsrend et mesure une partition ; check la valide (tonalité, master, gardes, stems, nouveauté)
sfx.mjsle kit d'effets sonores : list, one, kit <dir>, test

Quatre backends, un noyau artistique : playwright, html-player, remotion, hyperframes. → references/backends-and-adapters.md

Exemples travaillés

  • Les plaques de style dans engine/src/canvas-core/ : chaque main a une image fixe et un film de son dessin, avec la recette dans l'en-tête et references/styles/<id>.md.
  • MECHANICAL LEPIDOPTERA dans example/ : un film avec partition de 47 s. scaffold.mjs ~/study --example.

Étudiez-les. Ne les copiez pas. La barre de qualité n'est pas satisfaite par l'héritage.

Limites honnêtes

Vous ne pouvez pas entendre la partition, regarder le film bouger, ou utiliser la pièce interactive. Chaque affirmation à leur sujet vient d'une mesure ou d'un humain ; dites laquelle. Une coche verte est une affirmation jusqu'à ce que vous la réexécutiez. Rendez une image à --scale 2 avant de faire confiance à une image fixe : une couche blittée avec la mauvaise transformation a l'air correcte à 1x et se casse à 2x.

Individual skills in this repo

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

majiayu000/claude-skill-registry

Builds, edit or validate Agent Skill through conversational discovery. Use when the user requests to "Create an Agent", "Optimize an Agent" or "Edit an Agent".

majiayu000/claude-skill-registry

Edit existing BMAD agents while maintaining compliance

majiayu000/claude-skill-registry

Edit existing BMAD agents while maintaining compliance

majiayu000/claude-skill-registry

Edit existing BMAD modules while maintaining coherence

majiayu000/claude-skill-registry

Edit existing BMAD modules while maintaining coherence

majiayu000/claude-skill-registry

Analyzes current state and user query to answer BMad questions or recommend the next workflow or agent. Use when user says what should I do next, what do I do now, or asks a question about BMad

majiayu000/claude-skill-registry

Build AI agents with Google ADK Python (Agent Development Kit). Use for multi-agent systems, workflow agents (sequential/parallel/loop), Vertex AI deployment, tool integration, human-in-the-loop.

majiayu000/claude-skill-registry

Build AI agents with Google ADK Python (Agent Development Kit). Use for multi-agent systems, workflow agents (sequential/parallel/loop), Vertex AI deployment, tool integration, human-in-the-loop.

majiayu000/claude-skill-registry

Portfolio allocation and rebalancing optimizer. Manages asset allocation across stocks/cash/bonds, performs periodic rebalancing, and ensures diversification according to market regime and risk tolerance.

majiayu000/claude-skill-registry

Create a hilarious and ultra-realistic video of an anthropomorphic animal acting like a human vlogger in a real-world setting.

majiayu000/claude-skill-registry

Speech-to-text transcription and translation via OpenAI Audio API -- models, response formats, timestamps, prompting, streaming, chunking, and diarization

majiayu000/claude-skill-registry

BlockRun works with Claude Code and Google Antigravity.

majiayu000/claude-skill-registry

This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.

majiayu000/claude-skill-registry

小省导购员数字人带货版即梦视频提示词生成系统,基于四大智能体协同(提示词生成师、质量管控师、知识库运维师、跨环节适配师),按照"主体+运动+场景+(镜头语言+光影+氛围)"公式输出中英文双版提示词,适配5s短视频。确保人物一致性、视觉连贯性、情绪连贯性,支持知识库智能复用和跨工具适配(Suno音乐、AI绘画),为数字人带货视频提供高质量提示词生成服务。

majiayu000/claude-skill-registry

Upload and manage files using Google Gemini File API via scripts/. Use for uploading images, audio, video, PDFs, and other files for use with Gemini models. Supports file upload, status checking, and file management. Triggers on "upload file", "file API", "upload image", "upload PDF", "upload video", "file management".

majiayu000/claude-skill-registry

CRITICAL: Use for MolyKit AI chat toolkit. Triggers on: BotClient, OpenAI, SSE streaming, AI chat, molykit, PlatformSend, spawn(), ThreadToken, cross-platform async, Chat widget, Messages, PromptInput, Avatar, LLM

majiayu000/claude-skill-registry

AI and machine learning workflow covering LLM application development, RAG implementation, agent architecture, ML pipelines, and AI-powered features.

majiayu000/claude-skill-registry

Analyze images/audio/video with Gemini API (better vision than Claude). Generate images (Imagen 4), videos (Veo 3). Use for vision analysis, transcription, OCR, design extraction, multimodal AI.

majiayu000/claude-skill-registry

Analyze images/audio/video with Gemini API (better vision than Claude). Generate images (Imagen 4), videos (Veo 3). Use for vision analysis, transcription, OCR, design extraction, multimodal AI.

majiayu000/claude-skill-registry

Skill for discovering and researching autonomous AI agents, tools, and ecosystems using the AgentFolio directory.

Skills associés