/marketing-studio
Use when generating any brand video, animation, image, or audio asset (logo reveal, social clip, product demo, launch video, OG image, README GIF, music, voiceover) for any product/repo, or when working inside C:\Projects\animations. Required background for /logo-reveal,
$ npx -y skills add ucsandman/marketing-studio --skill marketing-studio --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/marketing-studio
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when generating any brand video, animation, image, or audio asset (logo reveal, social clip, product demo, launch video, OG image, README GIF, music, voiceover) for any product/repo, or when working inside C:\Projects\animations. Required background for /logo-reveal,
SKILL.md
marketing-studio.SKILL.mdname: marketing-studio
description: Use when generating any brand video, animation, image, or audio asset (logo reveal, social clip, product demo, launch video, OG image, README GIF, music, voiceover) for any product/repo, or when working inside C:\Projects\animations. Required background for /logo-reveal, /social-clip, /product-demo, /launch-video, /og-assets, /audio-track.
Marketing Studio
All brand video/animation/image assets render in ONE engine repo: `C:\Projects\animations` (Remotion + Blender + Playwright + ComfyUI feeders). Never generate animation code inside a product repo — work in the engine, then copy the finished artifact into the calling repo.
**REQUIRED READING before any asset work:** `C:\Projects\animations\docs\PLAYBOOK.md` — engine map, brand onboarding steps, and the verified gotchas (Blender 5.1.2 API traps, camera math, seamless-loop rules, capture-feeder lessons). Those were expensive to discover; do not re-derive or second-guess them.
Workflow shape (every asset skill follows this)
0. Shared-repo guard: `git -C C:\Projects\animations status --short`. If the tree has uncommitted modifications you did not make, ANOTHER session is likely mid-flight in the engine repo — tell the user what you found and ask whether to wait or proceed (scope-lock if proceeding in parallel). Never build on top of a stranger's uncommitted edits silently. 1. `cd C:\Projects\animations && python launch.py --check` — verify the toolchain. 2. Brand check: does `brands/<id>.json` exist for the product? If not, run the PLAYBOOK's "Onboarding a new brand" section first (tokens from the product repo's DESIGN.md/tailwind/CSS vars; mark component; registries). Ask the user only for values you cannot derive. 3. Execute the asset recipe (per-skill). 4. Rendered proof: inspect 2-4 stills (Read tool) at key frames BEFORE any full render. 5. Full render to `out/<brand>/`; run `node scripts/smoke.mjs` if you touched studio code. 6. Deliver: copy the artifact into the calling repo (ask once for the destination; default its existing media/marketing dir) and SEND the file to the user. Not done until the user has seen it. 7. Commit the engine repo: any code/config/props changes your run made in C:\Projects\animations get committed there (tests + lint + smoke first). Renders under out/, assets/, studio/public/ stay uncommitted (gitignored). An uncommitted engine tree strands your work and blocks the next session.
Non-negotiables
- Brand values only from `brands/<id>.json` via `getBrand(brandId)`; never literal hex
in templates. Honor the brand's stated color rules (noban: profit gold, never green).
- Nullable asset props + placeholder fallbacks (clean-clone smoke stays green).
- Copy: no em dashes, no hype words.
- Fail loudly; generated props files are edited via their builder scripts only.
Token discipline
Recipes are solved — execute, don't explore. Render logs: `| tail -2`. Inspect stills, never videos (extract frames via `npx remotion ffmpeg` when needed). Subagent any visual-tuning loop so iteration images land in discarded context. Routine runs work fine on Opus/Sonnet; escalate model tier only for new template design or visual bugs the PLAYBOOK doesn't cover.
Read more
name: marketing-studio description: Use when generating any brand video, animation, image, or audio asset (logo reveal, social clip, product demo, launch video, OG image, README GIF, music, voiceover) for any product/repo, or when working inside C:\Projects\animations. Required background for /logo-reveal, /social-clip, /product-demo, /launch-video, /og-assets, /audio-track.
Marketing Studio
All brand video/animation/image assets render in ONE engine repo: `C:\Projects\animations` (Remotion + Blender + Playwright + ComfyUI feeders). Never generate animation code inside a product repo — work in the engine, then copy the finished artifact into the calling repo.
**REQUIRED READING before any asset work:** `C:\Projects\animations\docs\PLAYBOOK.md` — engine map, brand onboarding steps, and the verified gotchas (Blender 5.1.2 API traps, camera math, seamless-loop rules, capture-feeder lessons). Those were expensive to discover; do not re-derive or second-guess them.
Workflow shape (every asset skill follows this)
0. Shared-repo guard: `git -C C:\Projects\animations status --short`. If the tree has uncommitted modifications you did not make, ANOTHER session is likely mid-flight in the engine repo — tell the user what you found and ask whether to wait or proceed (scope-lock if proceeding in parallel). Never build on top of a stranger's uncommitted edits silently. 1. `cd C:\Projects\animations && python launch.py --check` — verify the toolchain. 2. Brand check: does `brands/<id>.json` exist for the product? If not, run the PLAYBOOK's "Onboarding a new brand" section first (tokens from the product repo's DESIGN.md/tailwind/CSS vars; mark component; registries). Ask the user only for values you cannot derive. 3. Execute the asset recipe (per-skill). 4. Rendered proof: inspect 2-4 stills (Read tool) at key frames BEFORE any full render. 5. Full render to `out/<brand>/`; run `node scripts/smoke.mjs` if you touched studio code. 6. Deliver: copy the artifact into the calling repo (ask once for the destination; default its existing media/marketing dir) and SEND the file to the user. Not done until the user has seen it. 7. Commit the engine repo: any code/config/props changes your run made in C:\Projects\animations get committed there (tests + lint + smoke first). Renders under out/, assets/, studio/public/ stay uncommitted (gitignored). An uncommitted engine tree strands your work and blocks the next session.
Non-negotiables
- Brand values only from `brands/<id>.json` via `getBrand(brandId)`; never literal hex
in templates. Honor the brand's stated color rules (noban: profit gold, never green).
- Nullable asset props + placeholder fallbacks (clean-clone smoke stays green).
- Copy: no em dashes, no hype words.
- Fail loudly; generated props files are edited via their builder scripts only.
Token discipline
Recipes are solved — execute, don't explore. Render logs: `| tail -2`. Inspect stills, never videos (extract frames via `npx remotion ffmpeg` when needed). Subagent any visual-tuning loop so iteration images land in discarded context. Routine runs work fine on Opus/Sonnet; escalate model tier only for new template design or visual bugs the PLAYBOOK doesn't cover.
An agent-driven marketing studio for Claude Code. You type /marketing in your product's repo; the agent onboards your brand, films your app, renders a full marketing asset suite in this engine, and copies the finished files back to you.
Repo: ucsandman/marketing-studio
Other skills on marketing-studio.
- /audio-track
Use when the user wants music, voiceover, narration, or a soundtrack added to a video asset, OR wants standalone generated audio for any purpose (e.g. "/audio-track", "add music to the launch video", "narrate the demo", "make a 30 second music sting", "generate a voiceover mp3",
Open skill - /de-vibe
Audit and fix the tells that software was vibe-coded / AI-generated, then give it a small distinctive identity, so it ships looking handcrafted and professional. Use whenever the user says "de-vibe", "does this look AI-generated / vibe coded?", "make this look shippable /
Open skill - /frontend-verify
Verify frontend changes end to end after editing a web app, instead of manually clicking through pages. Use this whenever you have changed UI code and need to confirm nothing broke: "verify my frontend", "check the site after these edits", "did my UI break", "did my changes
Open skill - /launch-video
Use when the user wants a full launch video / hero video / 30-90s product announcement composing demo footage, logo, and copy (e.g. "/launch-video", "make the launch video for DashClaw").
Open skill - /launch
Use when a product or feature is ready to go public — after shipping, when the user says "launch it", "announce it", "go live", or wants a release marketed end to end.
Open skill - /logo-reveal
Use when the user wants a logo reveal / logo animation / brand intro video for any product (e.g. "/logo-reveal", "make a logo reveal for DashClaw", "animated logo for the landing page").
Open skill

