Install /brag on Opus 5.5 and You Get a Different Skill Than the One Named
Watch on TikTok
Jens Heitmann spends 61 seconds arguing that Claude Opus 5.5 has made code-generated motion design good enough to replace After Effects for product launch clips, and he gives three steps: gather your source material, grab a prompt or the /brag skill, then tell the model your aspect ratio. The install command in his caption is valid syntax that fetches the wrong half of the repo for the model he tells you to run it on. On screen you see a talking-head cut over a Notion-style Ramp HQ demo credited to @moritzkremb, an X post from @twoclipping publishing a motion-design prompt template, a file called motion-video-prompt.xml that Jens wrote himself, and a GitHub screenshot of latent-spaces/brag showing 11.0k stars. Four separate artifacts appear in a video that describes one workflow, and the caption never distinguishes them.
The model name is real, which is worth confirming
"Opus 5.5" sounds like the kind of detail a short-form video invents. It checks out. Anthropic shipped Claude Opus 5.5 on 22 September 2026, six days before this post. The API ID is claude-opus-5-5, pricing is $4 per million input tokens and $20 per million output tokens, the context window is 1M tokens, and adaptive thinking is always on with a default effort of medium. Anthropic's own comparison table recommends it as the starting model for most workloads, with Claude Fable 5.1 above it for long-horizon agentic work.
One transcription artifact is worth flagging for anyone reading an auto-generated caption of this video. Whisper renders "Claude Code" as "CloudCode" throughout. Jens says Claude Code. The product name has no cloud in it.
Three tools appear, and only one of them made his video
Step two of the video shows Jens pointing at motion-video-prompt.xml with an on-screen label reading "The one I built." That file is a hand-written XML prompt with a <role>, an <inputs> block asking for a website URL and a roughly 120 BPM MP3, a <direction> block that bans bouncy easing, particle bursts, glows, gradients on UI chrome, cuts and invented copy, and a <process> block. He then says you can use /brag instead.
Those are not equivalent. His prompt drives a bespoke Playwright capture pipeline. The /brag skill hands a composition brief to Hyperframes, HeyGen's framework for agents that build video by writing code. The third artifact, the @twoclipping X post, is a separate open-sourced template for one-shape UI morph loops at 120 BPM over 7 bars. Three different pipelines, three different output styles, presented as interchangeable options in a single step.
What npx skills add actually installs
The syntax is real. The skills CLI from vercel-labs supports -s, --skill <skills...> for installing named skills from a repo URL, so npx skills add https://github.com/latent-spaces/brag --skill brag will run and will install something.
It installs the wrong one for the model in the caption. The brag repo README states that on Opus 5.5, /brag switches to /brag-slim automatically, and that /brag-slim installs with --skill brag-slim. The two skills are genuinely different: /brag is a five-reference workflow with bundled music and sound effects that depends on the Hyperframes CLI, and /brag-slim is a single file with no bundled assets that builds the video with whatever tools are already on the machine. Installing brag alone on Opus 5.5 gets you a skill whose documented behavior is to hand off to a skill you did not install.
For Claude Code specifically, the repo's primary install path is the plugin, not the CLI:
/plugin marketplace add latent-spaces/brag
/plugin install brag@brag
The README presents npx skills add under the heading "Any other agent," for Cursor, Codex, Copilot, Gemini CLI and opencode. The plugin bundles both skills. The repo is MIT licensed, was created on 16 June 2026, and as of this writing sits at 12,037 stars and 824 forks, up from the 11.0k and 749 visible in the video's own screenshot.
The ratio step renames a flag that exists
The video's closing instruction is to tell the model whether you want square, portrait or landscape. The actual option is --format and its values are landscape, vertical and square. There is no portrait. The default is landscape at 1920x1080, vertical is 1080x1920, square is 1080x1080, all at 30fps. Both skills also take --tone and --duration, and /brag adds --voice, --no-music, --no-sfx and --title. The default duration is about 20 seconds with a documented sweet spot of 18 to 22. None of that is in the video.
The undisclosed dependencies matter more than the flag names. /brag requires Node.js 22 or newer, FFmpeg on PATH, and the Hyperframes CLI, checkable with npx hyperframes doctor. Jens's own prompt, visible on screen in step two, opens its <process> with "check for Node with Playwright and Chromium, Python 3 with numpy and scipy, and ffmpeg. Install what is missing." That line is on the screen for about two seconds and he never reads it aloud.
Where a site scrape goes wrong
The /brag-slim skill spends most of its Website section on failure modes, and they are the ones the video's premise runs straight into. A plain download of a JavaScript-rendered site comes back as an almost empty shell, so the agent has to load it in a headless browser. Cookie banners and overlays sit on top of the capture. Content that animates in on scroll stays blank in a single full-page capture, which is why both /brag-slim and Jens's own prompt instruct the agent to scroll section by section rather than screenshot once. His version pins the viewport at 1440px wide and scrolls to the bottom in steps first.
There is a deeper mismatch the skill names and the video does not. The skill's creative rules say to prefer the working app doing its job over a landing page describing it, and to reuse the site's real markup, CSS and assets rather than panning over flat screenshots. A marketing page is copy about a product. If that is your only input, the generated video inherits the abstraction, and the skill's own banned-language list ("streamline your workflow") exists because that is exactly the failure it produces.
The review loop the demo edits out
Both pipelines assume you will look at the output and fix it. Jens's own prompt ends its <role> with "You check your own frames before you call anything done." The /brag workflow is stricter: npx hyperframes check is a hard pre-render gate where WCAG contrast failures and layout overflow are errors rather than warnings, and the only bypass is check --no-contrast, which disables the entire contrast pass rather than excusing one element. After that comes npx hyperframes preview on localhost for human approval, then render, which has separate draft and high quality modes because iterating at final quality is slow. Then you pick a poster frame at a settled beat with ffmpeg and bake it as frame 0, because Slack, X and Discord regenerate thumbnails server-side and grab frame 0 regardless of metadata.
The compute is local, so rendering costs you nothing but time on your own machine. The cost that scales is tokens. A loop that reads its own rendered frames back as images, fails a contrast gate, fixes colors and re-renders is an agentic session on a $4/$20 per-million-token model, repeated until the frames look right. Jens says "I guarantee you're going to get results like this." What he demonstrates is a finished render, not the number of passes behind it.
Key Takeaways
- Claude Opus 5.5 is real and current, released 22 September 2026, API ID
claude-opus-5-5, $4 in and $20 out per million tokens with a 1M context window. - On Opus 5.5, install
--skill brag-slim, or use the Claude Code plugin install that bundles both skills.--skill bragalone gets the Hyperframes workflow, which the README says defers tobrag-slimon that model anyway. - The aspect-ratio value is
vertical, notportrait. Defaults are landscape 1920x1080, vertical 1080x1920, square 1080x1080, 30fps, about 20 seconds. - Install Node 22+, FFmpeg on
PATHand the Hyperframes CLI before running/brag, and verify withnpx hyperframes doctor. - Point the skill at your running app rather than your marketing page. Landing-page copy produces videos that describe a product instead of showing it.
- Budget for iteration.
npx hyperframes checkfails builds on contrast and layout, and its only escape hatch disables the whole contrast pass. - The clip Jens shows was made with his own
motion-video-prompt.xmland a Playwright capture pipeline, not with/brag. The two produce different output.
Resources
- latent-spaces/brag on GitHub. The actual repo, MIT licensed, 12,037 stars and 824 forks, containing both
skills/brag/andskills/brag-slim/and the plugin manifest the video's caption skips. - The /brag launch site. The looping video on this page was generated by
/bragrunning on its own repo, which is the most honest available sample of the default output. - vercel-labs/skills. The CLI behind
npx skills add, documenting the--skill,--global,--listand--agentflags across Claude Code, Cursor, Codex, Gemini CLI and opencode. - Hyperframes by HeyGen. The framework
/braghands its composition brief to, where agents compose video by writing code rather than by generating pixels. - Anthropic model overview. The primary source for the Opus 5.5 model ID, pricing, context window and retirement date used to check the video's claim.
- Introducing Claude Opus 5.5. Anthropic's own announcement, useful for dating the release against the video's post date.
- skills.sh listing for brag. The registry page the repo README links for browsing the skill before installing it.
Published September 28, 2026. Writeup generated from a favorited TikTok.