Enable AI agents to create marketing videos and images
Open-source skills that empower any AI agent (Claude, Cursor, Codex, Hermes, etc.) to generate end-to-end marketing campaigns - UGC videos, ad videos, product photography and more.
Just provide a product photo and a brief. The agent extracts the product details, selects the optimal AI image and video models, casts AI actors, and edits the generated content into finished, campaign-ready assets. It can produce videos of any length while maintaining perfect actor and product consistency.
The open-source alternative to closed AI marketing agents.
[License: Apache-2.0]
[CI]
Install in one command — into Claude Code, Cursor and Codex, whichever you have (needs
uv):
For Cursor, run it in your project with --cursor --project-dir . so the skills land there too.
Then ask your agent to "set me up": bring your own model keys, or sign in and pay per use with SuperCMO's.
If the skills are useful to you, a ⭐ helps other people find them.
UGC video
create an ugc video for this tshirt. it should be a get ready with me reel. snappy. very genz. [product-photo]
Cartoon video ad
create a cartoon video ad in stylized 3D style, promoting my tumbler. make it fun and entertaining. [product-photo]
Product ad video
make me an ad video for this energy drink [product-photo]
Contents
See how it works
A full production studio inside Claude. You provide a product photo and a high level (or detailed) brief.
The AI agent then plans the video → writes the script → generates the AI actor → creates storyboards → generates the video clips → stitches them together, and delivers the final video.
The best part? You stay in charge all along.
Quick start
Paste this to your coding agent (Cursor, Codex, …):
Prefer to run it yourself:
Run the supercmo-setup skill or ask your agent to "set me up".
Prefer a preview before spending? Every generation supports dry_run — the exact request, no API call.
Hosted SuperCMO
Rather not set anything up? SuperCMO runs these same skills for you, in the
browser:
- No setup — sign in and start; nothing to install, no keys to manage.
- A workspace per brand — a private sandbox where the agent runs code and keeps your files.
- Publishing — connect your accounts, approve a post, and it goes out to Instagram (Business
account), a Facebook Page, LinkedIn (your profile), YouTube or Reddit.
- A calendar — your scheduled posts and recurring tasks in one place, to edit or cancel.
Try SuperCMO →
Start from a product photo
Starting from your product is faster than describing a video from a blank prompt.
Hand SuperCMO a single product photo and it builds a UGC ad around it - a creator on camera reviewing, unboxing, trying on, or demoing your product:
- Upload a product photo and give a short brief
- It analyzes the product, picks the format, casts the creator, and writes the script. Then shows you the concept and waits for your approval before spending a cent
- Once approved, it generates the storyboards, renders each clip, stitches them together, and hands back the finished video
What you get back is not a random clip. You get:
- You stay in charge - approve the creator, the concept, and the script before anything renders, and change any part along the way.
- Consistency built in - maintains the same actor and product across every clip, through the storyboard and anchor references
- A finished, scroll-stopping video - delivered at the length you asked for, ready to post
Works inside Claude Code, Cursor, Codex, Hermes - any agent that supports the Agent Skills spec.
Why SuperCMO Skills?
How the skills work together
You act as the creative director, and your agent uses SuperCMO skills to orchestrate the entire production pipeline.
Here is an example of how the skills chain together behind the scenes to execute a complex brief like: "Make a 1-minute video ad for this product [URL] with a voiceover."
The Marketing Production Pipeline
SuperCMO installs a full creative agency into your text-based agent. It doesn't just generate media; it orchestrates the specific steps required to make high-converting ads:
- Product Analysis - Scrapes your URLs to extract brand guidelines, materials, and features so the AI models don't hallucinate your product.
- Ad Copy & Scripting - Breaks the brief into a shot-by-shot ad script tailored for platforms like Meta, TikTok, or YouTube.
- Visual Generation - Produces master reference images and locks them as anchors so your product looks consistent in every video frame.
- Audio & Voiceover - Generates natural, high-energy voiceovers paced perfectly to your video duration.
- Post-Production - Trims footage, syncs audio, and stitches the final MP4.
These are the discrete skills installed into your agent to run that pipeline:
Install
Every host loads the same skills + the same local MCP server - only the wiring differs.
Prerequisite: uv on PATH — the MCP
server runs via uvx, which provisions Python and the server for you (nothing to pip install). The
root pyproject.toml / package.json are packaging scaffolding — you don't build anything by hand to
run or contribute to the skills.
npx installer - registers the MCP server via each host's own mechanism (codex/claude mcp add where a CLI exists; a .cursor/mcp.json for Cursor) and places the skills. One command does every detected host:
If the SuperCMO tools don't show up in your agent afterward, restart it once.
Claude Code plugin - an alternative to npx … --claude (use one, not both): the whole repo installs as one plugin, managed by Claude Code:
Codex plugin - an alternative to npx … --codex (use one, not both): installs the skills + MCP server as one plugin, managed by Codex:
Claude Cowork / Claude desktop - download supercmo-plugin.zip from the
latest release, then
Settings → Plugins → Upload local plugin.
Found us on skills.sh? npx [email protected] add SupercmoHQ/superCMO-skills copies the
skills but not the MCP server they call — so image_generate/video_generate won't exist yet.
Install the server, then reload your agent:
Set up a key
Generation needs a key. Two ways — pick one:
Option A · Managed — one command
Generate on SuperCMO's keys, pay per use — no vendor signups, nothing to paste.
Opens SuperCMO in your browser to sign in and authorize this device; the key is written to
~/.supercmo/.env automatically. Buy credits in the web app when you're ready.
Option B · Bring your own keys — free
Bring your own vendor keys — requests go directly to the model vendor; nothing routes through SuperCMO.
One file, every host. The installer creates ~/.supercmo/.env; the MCP server loads your keys from
there on any host (Claude Code, Cursor, Codex, …). Open it and add a key:
- One key to start:
WAVESPEED_API_KEY covers image + video and is what we recommend — users
report better reliability there. FAL_KEY is fully supported too and serves the same models, so
use it if that's the account you already have. With both set, WaveSpeed is used;
SUPERCMO_MEDIA_PROVIDER=fal picks the other. The rest are optional — add one when you want that
capability (voiceover, analysis, extraction).
- Prefer environment variables? Exporting the key (or putting it in your host's MCP config
env
block) also works and takes precedence — ~/.supercmo/.env is just the reliable default that also
works for GUI-launched hosts that don't inherit your shell.
- Check what's set: ask your agent to run the
setup_status tool (host-agnostic, no path needed).
Security & trust
These skills run inside your agent. Exactly what happens:
- Open source & inspectable. Every skill, script, and the MCP server lives in this repo under
Apache-2.0 — read, diff, or pin before you run it.
- Your keys stay local (BYOK). With your own vendor keys, they live in
~/.supercmo/.env (or your
host's MCP config env / your shell); the server reads them from its process environment and requests
go directly to the vendor — nothing routes through SuperCMO. With the managed key, requests go
to SuperCMO's proxy (billed to your credits) — you never hand us a vendor key.
- The MCP server is local + minimal. A stdlib-only Python package (
supercmo-skills on PyPI, source
in scripts/supercmo_skills/mcp/), fetched and run on demand via uvx supercmo-skills@<version> — it
runs on your machine, launched by your host, and starts only when your host enables the plugin.
- Dry-run everything. Generation tools support
dry_run - a free preview of the exact request
(keys masked), no API call.
Found something off? Open an issue.
Telemetry
SuperCMO sends anonymous, opt-out usage counts from the MCP server so we can see which tools get
used and prioritize. Full details in TELEMETRY.md.
- What we send: the tool name, whether it succeeded, how long it took, the model and provider,
whether it used your own key or SuperCMO's, an error code if it failed, versions (OS / Python /
SuperCMO), and a random install id. The full list is in
TELEMETRY.md.
- What we NEVER send: your prompts, tool arguments, generated media, file paths, keys, hostname,
username, or IP address.
- Turn it off (any one):
SUPERCMO_TELEMETRY=false, DO_NOT_TRACK=1, or DISABLE_TELEMETRY=1.
It also honors Claude Code's CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC.
- See what would be sent: run with
SUPERCMO_TELEMETRY=log - prints each payload instead of
sending.
- Events go to our own endpoint (
api.getsupercmo.ai), never a third-party analytics host. The
random install id is never linked to any account.
Community
Questions, ideas, or something you built? Open an issue or discussion.
Kshitiz (@kshitizkgp) reads every new issue and replies within one
working day.
Contributing
New skills and improvements welcome - see CONTRIBUTING.md. In short:
- Create
skills/<your-skill>/ (folder name = the name in frontmatter), using
skills/generating-images/ as the reference layout.
- Keep
SKILL.md short; push detail into references/, deterministic work into scripts/
(stdlib-only where possible, BYO-keys from env, --dry-run on anything that mutates).
- Validate - CI runs the same on every PR:
License
Apache-2.0 - see LICENSE and NOTICE.
The skill files, scripts, and MCP server in this repository are Apache-2.0. The hosted SuperCMO
product (getsupercmo.ai) is a separate service governed by its own terms.