Table of Contents

Hey all, and happy Friday.
As I am sure many of you are aware, the Knicks won the championship on Saturday.
Maddie and I could not get a sitter, so we watched from the couch, each of us nursing a 5mg Delta, both completely cooked by 10 pm but still running on adrenaline.
After they clinched the W, Maddie went out with Linus, and Park Slope was dead quiet (shocking). And then the stories started rolling in. Friends texting photos from the bars, the streets absolutely mobbed out, and the FOMO arrived right on schedule.
Somehow, we survived.
Maddie did take James to the parade today, which he enjoyed enormously. In fact, the two of them were guided by a police escort from the subway station into Maddie’s office building, which overlooks the parade, with the officer shouting: “Baby coming through!”
Sounds about right: King James, ushered up to Maddie's office, looking down at all of his subjects with a shit-eating grin. And then he got his orange-and-blue bagel. (Must nice 🎶).
Sunday was our block party. Our niece came over with Maddie’s brother, and watching James spot her from across the room is one of my favorite recurring events in life. He lights up as if she were a celebrity. Then the two of them team up, becoming a single unit of destruction. They found every toy we own and moved it all to the floor. If you have lived in a Brooklyn apartment, you know the place is a home, not a house, and by 4 pm, the house was a minefield (foreshadow?). I will say, stepping on a Magna-Tile is far better than stepping on a Lego. Maybe that’s why they came up with the concept in the first place?
Tomorrow we drive out to Long Island, to my dad and stepmom’s, and the weather looks somewhat promising. This will be James’ second attempt at the beach this year. The first one ended with him eating a fistful of Rhode Island sand with the quiet confidence of a man ordering the tasting menu. I am genuinely curious whether Suffolk County sand goes down easier. Low bar. He will find it either way.
And Linus. Truthfully, Linus has been a really good, patient boy this week. I don’t really have many quips about him. We went for a run yesterday morning, he went swimming in Prospect Park, and he was just a delight to be with.
Though he is still looking a leetle chunky-monkey.
Anyway,
You have seen video ads that you like. These range from noir-style black-and-white ads to Pixar ones and even Minecraft ones.

You see one that is actually working (using impressions/or comments, and shares as proxies), and you have one of two reactions. Either “that is slop,” or “I wish we could make that for our brand.”
I have a third reaction: to download it and figure out exactly how it was built so I can do it again for whoever I want. This is probably not a normal way to watch an Instagram ad. Maddie has stopped asking why I am muttering at the TV.
HERE IS HOW YOU REVERSE ENGINEER ANY VIDEO AD
Step 1: Find a Video Ad Worth Stealing
The reference I used is a Minecraft-style ad from RYZE, the mushroom coffee brand. The conceit is that your gut and your brain talk back to you. They personify your organs as little blocky characters and let them roast you about your choices.
It is a genuinely great ad. And it makes a point worth keeping. AI did not kill the script. AI is a new medium for visual storytelling, not a replacement for having something to say. A bad script in Minecraft is still a bad script. It is just a bad script with better lighting.
So step one is taste. Find the format worth copying, then download it. There are a hundred tools that will pull an Instagram video onto your computer and I am not going to bless one, because they break weekly. Anything that hands you a clean MP4 works.
Step 2: Let Gemini Watch It
Here is where most people faceplant. They paste the video into ChatGPT or Claude and ask “what is the style.” Those models cannot really watch video yet. Gemini can. It is not close.
So my setup is simple. Claude Code runs the show, and it calls the Gemini API to actually watch the reference. Gemini pulls the full transcript and reads the visual style, beat by beat. Claude is the brain. Gemini is the eyes. (Yes, I am paying one Google model to babysit a coffee ad so the rest of my stack can write about it. This is my job now.)

One upload goes in. Out comes the transcript (every line, timestamped, ready to rewrite), the visual style DNA (blocky voxel 3D, the palette, the lighting, the camera), and a scene-by-scene storyboard with the characters you would need to lock. That is the raw material for a rebuild.
You need a Gemini API key (free at aistudio.google.com) and, later, an ElevenLabs key for the voice and a fal.ai account for the video. That is the whole stack.
Step 3: Build It Into a Skill
I already keep a folder of AI ad style templates. Pixar, claymation, that flat 2D explainer look everyone reaches for with SaaS, a couple of others. Minecraft was not in there, so the first real job was teaching the system that style once so I never have to start from scratch on it again.
Then the actual move. I wrapped the whole manual process into a Claude Code skill. You drop in a video, the skill analyzes it, detects the style, and writes a recreation recipe. Character lock, storyboard, the exact image and video models to use, even a rough cost estimate.
Here is the lesson hiding in that order, and it is the most important thing in this email. I did the whole thing by hand first, and only then built the skill. If you skip straight to automating something you have never done manually, you do not actually know what the tool needs to get right. You are just hoping. So do it once with your own hands, painfully, and then build the thing that does it for you.

Step 4: Point It at a Real Brand
I ran the skill against an actual client. Berkeley Life, a nitric oxide supplement for the 40-plus crowd, which is to say a crowd I am personally aging into faster than I would like.
The thing that makes this work is that “Berkeley Life” is not a word in a prompt. It is a folder. Full of real brand context the tool reads from. Generic prompts give you generic ads. Grounded ones give you something that is actually on brand.
The skill took the RYZE “organs talk back” format and wrote a brand new script where the heart talks back to a guy who is winded on the stairs. Except instead of roasting him, it teaches him why he is tired. Nitric oxide, blood flow, the way your vessels stop opening the way they used to. Same blocky format, a heart that explains your circulation instead of insulting your life choices.
Before that script went anywhere near a render, it had to survive my copy-grading agents. More on those in a second, because they are the reason I did not waste two hours rendering a flat line.
The Before and the After
Here is the RYZE reference, then what the skill built for Berkeley Life. Same blocky DNA, a heart that went from roasting a guy to teaching him why his legs gave out on the stairs.

Before: the RYZE reference.

After: The ad I made.
Watch both. The part that gets me is that you cannot really tell the second one was reverse-engineered from the first. The cut went through about six rounds of notes after the call. I cloned our founder’s voice for it, leaned the whole thing into emotion, and swapped the music twice. The first pass sounded like a pharmaceutical ad about a sad cloud. The second one sounded like a more expensive sad cloud. The full cut is in the members channel.
The Part Everyone Skips: Read the Output
At one point during the live build, the model made a few assumptions about the brand that were just wrong. Confidently wrong. The model does not feel bad about being wrong, which is the dangerous part.
The Copy-Grading Agent
Before any script goes to video, I run it through copywriting agents that grade it against the brand. Is this on brand. Is the angle strong. Is there a line that is flat or off or quietly going to underperform.
On the Berkeley Life script, the agent flagged one line for me. “Feel younger” scored low. It is vague, it is a claim a supplement brand cannot really make, and it is the kind of thing that gets a lawyer on the phone. The rewrite, “climb the stairs without planning a rest stop,” is the same promise in language the heart can actually act out on screen. That flag cost me nothing. Catching it after a two-hour render would have cost me the render.
This is the part we ended up building deeper into SelfMade, because doing it by hand forty times a week made me want to lie down. You do not need our version. A good rubric and a fresh Claude window gets you most of the way. I just got tired of starting from scratch.
Want the Skill?
I packaged the whole thing up. The skill itself, the Gemini analysis prompt, the recreation-recipe template, and the exact stack. No code to write. You drop in a video and it does the analysis.
TLDR
A winning AI ad is a format you can reverse-engineer, not a one-off. Build the machine, not the asset.
Use Gemini through the API to watch the reference. It pulls the transcript and reads the visual style better than ChatGPT or Claude can right now.
Keep a library of style templates. New style you have never built? Add it once, reuse it on every brand after.
Do the workflow by hand once, then turn it into a Claude Code skill. You cannot automate what you do not understand.
Ground the model in a real brand folder, not a generic prompt.
Read the output. Have an opinion. Grade the script before it ever becomes video.
The skill and the full prompts are in the companion doc, linked above.
Alright. I have to go pack a beach bag and find out whether Suffolk County sand tastes better than Rhode Island sand to a one-year-old. Early data suggests it will not matter.
Have a great weekend.
Will
P.S. If you reverse-engineer an ad with this, reply and send me the before and after. I want to see the weirdest format you rebuild. The talking heart set a low bar and I would like to see it cleared.