ultimsiultim.si
← All posts
general7 min read

Claude can't make a video. A skill can.

What a Claude skill is, the six pieces a video skill needs (crawler, writer, QA, voice, renderer, publisher), and what Ultim's agent does with them.

Ask a language model to make a video and you get an apology or an essay. Ask it with the right folder of instructions and tools next to it, and it writes the HTML, runs the renderer, checks the frames and hands you an MP4. The difference is not a bigger model. It is a skill.

So what exactly is a skill, which pieces does a video skill need before an agent can produce a publishable reel, and what does the Ultim agent do with those pieces every day? This is the practical version, with the sources.

What a skill is, by the definition

Anthropic introduced Agent Skills on 16 October 2025. The definition in their engineering post is one sentence: "A skill is a directory containing a SKILL.md file." The file "must start with YAML frontmatter that contains some required metadata: name and description." Skills can bundle other files and reference them by name, and they "can include code for Claude to execute as tools at its discretion" (anthropic.com/engineering).

The mechanism that makes this work at scale is progressive disclosure. "At startup, the agent pre-loads the name and description of every installed skill into its system prompt." The full SKILL.md is read only when the agent decides the skill is relevant, and linked files only as needed. A December 2025 update to the same post notes the format was published as an open standard.

Translated: a skill is a folder that teaches an agent a workflow, with scripts it can run. It does not make the model smarter. It makes a specific job repeatable.

Why a video needs more than one skill

HeyGen's HyperFrames is a good example of a single rendering skill. The README describes it as "Write HTML. Render video. Built for agents.", it ships skills that "work with Claude Code, Codex, Cursor, Gemini CLI, IBM Bob, and other coding agents that support skills", and the renderer "seeks each frame in headless Chrome and encodes the result with FFmpeg" (github.com/heygen-com/hyperframes). Install it in Claude Code and the agent can turn an HTML page into an MP4.

That is one stage out of six. A reel that a business can publish needs facts to animate, a script, a voice, captions, somewhere to post and a way to learn from the result. None of those are rendering. Here is what each piece does in Ultim and which parts are a model and which are code.

PieceWhat it producesModel or code
CrawlerA brief: facts with quotes, tone, up to 24 photos and 6 videos, logo, paletteCode fetches and extracts; a model writes the brief
WriterA script: hook, beats, scene templates, caption, end cardModel
QAPass or fail with a reason, up to three retriesCode
VoiceAudio per beat plus word timestampsElevenLabs API
RendererHTML, frames, mix, MP4Code (HyperFrames, FFmpeg)
Publisher and measurementPosts on three platforms, reads at 24 and 48 hoursCode; a model writes the planner note

The crawler

The brief is the skill that most "AI video" tools skip. Ultim's crawler reads the site and the brief keeps a quote for every fact, so a reel can say "Texas: 67 shops" because the site's state map says exactly that. The writer is not allowed to use a claim that has no quote. The crawler also collects the photos and any video on the pages, because the renderer will need real material.

The writer

The writer gets the brief and returns structured data, not prose: a hook of 3 to 8 words, 6 to 8 beats of 2 to 4 seconds, each with a spoken line and a scene template (stat, counter, bar race, screenshot, quote, before and after, list, offer, end card). It applies defaults from our analysis of 4.5 billion TikTok posts: the caption is 21 to 100 characters without hashtags (lift 1.7 to 1.8 against 0.27 for an empty one), the hook breaks a belief before it explains.

QA

This is the piece people underestimate. The checks are deterministic, in code, so the model cannot talk its way past them: every headline on screen must be inside the spoken line; every number must exist in the brief; a photo is used in at most one beat; a reel with three or more photos available uses at least three; a beat that mentions a widget or dashboard must show a screenshot of the page that has it; the length must land inside the target. On 13 October 2026 one production reel failed three times for being about 32 seconds against a 20 to 30 second target. The retry passed.

Voice

ElevenLabs returns audio and word timestamps. The timestamps are the clock for the whole edit: scene durations, the words lighting up, the beat snapping. At $0.00022 per character, a 296 character script is about $0.07.

Renderer

The HTML page per reel, the content-aware crops, the music ducked 18 dB under speech, two to four sound effects that never overlap the voice, loudness at -14 LUFS, 1080 by 1920 at 30 frames per second. On the production worker a render takes 82 to 122 seconds and costs $0.003 to $0.004. The full method is in how Claude makes motion design.

Publisher and measurement

Official TikTok, Instagram and YouTube APIs, the AI-generated flag set on every post, publishing in the afternoon in the account's local time. Then the reads at 24 and 48 hours: views, likes, shares and saves per view. A format that fails three times is benched for a week; one that gets shared earns a second slot.

What the agent does with the pieces

With all six in place the agent's day is a loop, not a prompt. It picks one hypothesis for the next reel (a question hook against a bold claim, a 6 pm slot, a shorter length), writes and renders it, publishes, waits for the 48 hour read, and keeps what worked. One variable per day, never two at once, so the result can be attributed.

The reason the loop matters more than any single reel is in the data. Among 2.87 million TikTok creators with at least 3 posts, the median number of posts before a first top 1% hit is 5, the third quartile is 16 and the 90th percentile is 38. The chance of at least one hit is 1.6% at 3 to 4 posts and 39% at 100 or more. An agent that can produce a hundred different tests at $0.16 to $0.29 each is doing something a person with a generator cannot: staying in the game long enough for the odds to apply. More on the volume question in how many posts before a video goes viral.

Where the model earns its place

It is tempting to conclude that the model is a small part. It is the part that decides whether anyone watches. Choosing which fact to lead with, turning "676 shops, zero accounts" into a hook, matching a scene template to a sentence, writing a caption that is one plain sentence: those are judgement calls, and they are the 90% that no form field controls. The skills around the model exist so that its judgement arrives as a finished, measured, correctly timed reel instead of as a paragraph.

What this means for your reels

If you are building your own pipeline on Claude Code: install a rendering skill, but budget most of your time for the brief, the QA rules and the measurement. Write the checks as code. Give the model structured output to fill, not a blank page. Decide what "done" means before the first render.

If you would rather not build it: that is what Ultim is, with the loop already running. The free first step is the writer alone. Paste your website into /tools/reel-hooks and judge the five hooks it writes from your own facts.

FAQ

What is a Claude skill?

A folder with a SKILL.md file whose frontmatter names the skill and describes when to use it. The agent loads only the name and description at startup and reads the full file, plus any bundled scripts and references, when the task calls for it.

Can Claude Code make a video on its own?

Not by itself. With a rendering skill such as HyperFrames it can write the HTML and run the renderer, but a finished reel also needs a brief, a voice, captions, publishing and measurement, which are separate tools.

Which pieces of a video pipeline should be code rather than a model?

Everything that must be exact: the QA checks on the script, the timing from voice timestamps, the crops, the render, the loudness and the publishing calls. The model plans, writes and chooses; code executes.