
Model Showdown
Give the same motion brief to three AI models, keep each first try, render all three...
Install
npx skills add charlie947/motion-graphics-skills --skill model-showdown -g -a claude-code -y- Repository
- charlie947/motion-graphics-skills519
- Category
- Design
- Updated
- 24d ago
- License
- MIT
- Context cost
- Lightabout 942 tokens
- Runs scripts
- No, instructions only
What it does
Give the same motion brief to three AI models, keep each first try, render all three the same way and stack them into one comparison video with model names and logos. Makes a 16:9 side-by-side for a newsletter and a 1080 x 1920 stacked reel for Instagram and TikTok. Use when someone says "compare three models", "same prompt three AIs", "model showdown", "which AI is the best motion designer", "side by side comparison video" or wants a fair head-to-head of AI outputs.
Model showdown, three AIs on one brief
A fair test people can see for themselves. One brief, three models, first try each, one renderer.
Before you start: read brand.md and MOTION.md if they exist. If not, run brand-intake first, or ask for hex codes, a font and a logo file. Never call a result on-brand without them. The brand applies to the headline and labels, never to the models' outputs.
Step 1: Ask for four things, then wait
- The brief, word for word. Every model gets the exact same text.
- The three models, named exactly as their makers write them, and how the user reaches each one (their own accounts only).
- The logo files for each model, attached. Never redrawn from memory.
- The headline, two short lines. Example: "Same prompt." / "Three AI models."
Step 2: The fair-test rules
- First try only. No re-rolls, no fixes, no "one more go" for the one you hoped would win.
- The models write HTML, you render it. Add this to the brief so no model gets a better export:
Deliver ONE self-contained index.html, [WIDTH] x [HEIGHT] px. Output the complete HTML only. A shared renderer will execute window.seek(t) and export each model's output at the same settings.
Implementation: deterministic window.seek(seconds), wrap modulo [SECONDS], every visual state derived from time. Automatic playback when not in ?render mode. Under ?render freeze until seek. Set window.__ready=true after initialisation. No external requests. Do not add controls, debug text, the model name or screenshots.
- Same renderer, same settings for all three: same size, 30fps, same length, same encoder.
- A failure stays in. If a model returns broken HTML or nothing, its panel says so. Never swap in a later try.
Step 3: Stack them
Newsletter (16:9): three panels side by side, each with its model name above it on a plain strip.


