marketing-studio

作者 ucsandman已验证

Agent-driven marketing studio for Claude Code: one /marketing command renders your product's full launch asset suite (logo reveal, demo, launch video, social clips, OG assets)

207
Stars
26
Forks
JavaScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/ucsandman/marketing-studio

快速入门

使用 marketing-studio 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

Marketing Studio

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.

Animated OG loop rendered by the studio

An animated OG loop the studio rendered for a real product, from brand tokens alone. More in examples/.

The one command

/marketing

One run produces, in order:

#AssetSkill behind it
1Logo reveal (Blender + Remotion)/logo-reveal
2Product demo with camera zooms and cursor (Playwright capture)/product-demo
330 to 90 second launch video composing demo, logo, and copy/launch-video
4Voiceover and music scored to the launch video (ElevenLabs)/audio-track
5Social clips per platform (X, LinkedIn, TikTok)/social-clip
6OG image, animated OG loop, README GIF/og-assets

The order is deliberate: the cheapest composition renders first so brand-token bugs surface before the expensive assets, the demo is filmed once and its footage feeds everything downstream, and audio is scored only after the launch video is picture-locked. The run keeps a manifest on disk, so a died session resumes where it stopped instead of starting over.

Around those assets, the pipeline adds:

  • A derived content brief. The agent reads your product repo (README, routes, landing page) and synthesizes the story — hooks, ranked benefit-led features, per-act narration, per-platform copy — into a validated brief.json that every builder consumes. You approve the whole story on a storyboard page before anything renders.
  • A copy linter. Every generated line is gated for em dashes, hype, and AI-slop vocabulary before it can reach a render.
  • A film grade and per-brand motion personality. Grain, vignette, and bloom tuned per brand, and a motion token block so each brand's choreography feels like itself. Grain size is stated at 1080p and scaled by frame height, so an asset carries the same visual grain at 4K. Optional halation blooms wherever the frame is actually bright rather than glowing a fixed spot, which is the difference between footage that reads photographed and a flat vector comp.
  • An export matrix. The picture-locked launch video and social clips fan into 16:9, 9:16, 1:1, and 4:5 through responsive layout (not crops), with burned-caption variants for muted autoplay and SRT/VTT sidecars.
  • Mission Control. A local click-to-approve gallery: watch assets land, review act-boundary contact sheets before the expensive render, approve or request a redo with a note, and the run reacts — no terminal required.
  • Designed sound. Whooshes on act cuts, ticks on feature reveals, and a riser into the CTA, generated once as a shared SFX library and mixed under the voiceover automatically.
  • Word-locked sync. Voiceover lines carry word-level timestamps; when they do, act lengths derive from the measured voice and reveals land on the words that name them, with judge-av-sync verifying every cue against the timings. Wordless manifests render exactly as before.
  • Staged product scenes. A feature act can swap its screenshot for rebuilt native UI (a results list that resolves row by row, a composer that types its own query, a status tracker) filmed by a two-node camera rig with a stage-prop cursor that visibly clicks.
  • A mastered mix. Final renders pass a two-pass loudness master to -14 LUFS with a true-peak ceiling, measured in the delivered file rather than trusted from the filter graph, plus SFX asset leveling and per-cue audibility proof.
  • A direction pass. Before a launch film is built, three genuinely different visual directions are written and two are killed (docs/templates/DIRECTION.md), and iteration renders are versioned v1, v2, ... so a fix can be proven and an earlier cut recovered.
  • A set judge, not just file judges. Six mechanical gates run before any human looks: motion craft, palette, A/V sync, demo dead air, size budgets, and judge-drift, which scores the whole output directory as a set. That last one catches the failure no per-file gate can see — assets that are each individually on-brand but collectively fragment into three or four different-looking brands. It emits a worst-first review grid, because attention is reliable over about six tiles, not twenty.
  • Paste-ready post kits and a footage cache. Every platform gets a folder with the right-aspect video, a lint-gated caption, alt text, and a posting checklist; the kit root also carries manifest.json, a machine-readable index that launch-engine reads to auto-attach videos to X and LinkedIn posts, plus LICENCES.md and DISCLOSURE.md — what is synthetic, which platform toggle to set at upload, and which obligations the kit does not yet cover. Unchanged product UIs are never re-filmed thanks to content-hash caching of capture and Blender staging.

Each asset also works standalone: run /logo-reveal, /product-demo, /launch-video, /audio-track, /social-clip, or /og-assets on its own from any repo.

Example output

Everything below was produced by one /marketing run against a real product, unedited. Turn the sound on: the voiceover and music are generated too.

sidetap.io (drive a real iPhone from Windows)

FileAsset
launch.mp488s launch video with generated voiceover and music
demo.mp4Product demo filmed against a live iPhone, with measured camera zooms
logo-reveal.mp4Blender draw-on logo reveal
social-x.mp4, social-linkedin.mp4Per-platform social clips
og.png, og.gif, og.mp4OG image, loop, and video
readme.gifREADME-sized GIF (the one at the top of this page)

How it works

  • One engine, many brands. All rendering happens in this repo, never in your product's repo. Finished assets are copied out at the end.
  • Remotion is the backbone. Every final video renders through Remotion compositions in studio/ (SocialClip, ProductDemo, LogoReveal, LaunchVideo, AnimatedOG).
  • Brands are data. brands/<id>.json holds your product's tokens (13 colors, 3 fonts, tagline, voice rules), zod-validated. Templates resolve getBrand(brandId) and never hardcode brand values, so a new product is a JSON file and a logo mark component, not a fork.
  • Feeders produce raw material. Playwright records your running app for demos, headless Blender renders 3D logo reveals, ElevenLabs generates voiceover and music, and ComfyUI can add AI backdrops. Every feeder degrades cleanly when its dependency is missing.
  • The knowledge lives in the skills. The skills/ directory ships the Claude Code skills that operate this repo, including the hard-won gotchas in docs/PLAYBOOK.md (camera math, seamless-loop rules, Blender API traps) so the agent does not re-derive them.

Requirements

Required: Claude Code, Node 20+, Python 3.10+, and ffmpeg on your PATH (26 scripts shell out to ffmpeg/ffprobe directly).

Optional, each degrading cleanly when absent: Blender for 3D logo reveals, an ElevenLabs API key for voiceover and music, ComfyUI for AI backdrops.

Remotion licence. Every final video renders through Remotion, which is free for individuals and for companies of three people or fewer. Larger companies need a Remotion company licence. That is Remotion's term, separate from this repo's MIT licence.

Install

As a plugin

/plugin marketplace add ucsandman/marketing-studio
/plugin install marketing-studio@ucsandman

Plugin skills are namespaced, so the commands are /marketing-studio:marketing, /marketing-studio:logo-reveal, and so on.

The engine ships with the plugin, but its npm dependencies do not. Bootstrap once by asking Claude to "bootstrap the marketing studio engine", or run it yourself against the installed plugin directory:

python <plugin-dir>/launch.py --bootstrap

That installs the studio and capture-feeder dependencies and then prints a toolchain report. Copy .env.example to .env in the same directory if you have a Blender path or an ElevenLabs key.

From source

git clone git@github.com:ucsandman/marketing-studio.git
cd marketing-studio
python launch.py --bootstrap    # installs npm deps, then verifies the toolchain
cp .env.example .env            # set BLENDER_PATH / ELEVENLABS_API_KEY if you have them
node scripts/install-skills.mjs # installs /marketing and friends into ~/.claude/skills

Installing from source gives you unnamespaced commands (/marketing rather than /marketing-studio:marketing) and keeps renders in the clone instead of the plugin cache. Use this one if you intend to work on the engine itself.

Then, from your product's repo:

claude
> /marketing

The agent asks one batched round of questions (brand, destination, audio, platforms, checkpoint mode) and runs the whole pipeline. If your brand is new, it derives tokens from your repo's design system (DESIGN.md, Tailwind config, CSS variables) and only asks for what it cannot infer.

The skills

SkillWhat it does
/marketingThe full pipeline: sequencing, gates, run manifest, resume, final QA and delivery gallery
/logo-revealAnimated logo reveal video (Blender draw-on choreography composited in Remotion)
/product-demoScreen-Studio style demo: films your running app, adds measured camera zooms and cursor
/launch-videoHero announcement video composing demo footage, logo reveal, and copy
/audio-trackVoiceover and music for any video, or standalone audio
/social-clipShort feature clips sized per platform
/og-assetsOG image, animated OG loop, README GIF, social cards
marketing-studioShared background skill: engine workflow, brand onboarding, non-negotiables

The pipeline's supporting skills ship too, so nothing in the run dangles:

SkillWhat it does
/polishFinal UI quality pass (alignment, spacing, states, micro-detail) before the demo is filmed
/frontend-verifyHeadless route verification: console errors, failed requests, text assertions
/de-vibeRemoves the AI-generated fingerprint (security tells, slop copy, generic defaults) before anything ships
/shipVerify, docs, secrets scan, commit, push ritual
/launchAnnouncement drafts per channel (X, LinkedIn, Show HN, email) with approval gates

Installing the plugin ships all of them, namespaced under marketing-studio:. For a source checkout, scripts/install-skills.mjs copies them into ~/.claude/skills unnamespaced and rewrites the engine path to wherever you cloned this repo; it never overwrites a skill you have symlinked. Two optional plugins deepen the UI-polish phase if you have them (impeccable and frontend-design); without them the pipeline films your app as-is.

Repo layout

.claude-plugin/    plugin + marketplace manifests (this repo installs as a plugin)
brands/            per-product brand tokens (zod-validated JSON)
studio/            Remotion project: all final video compositions
feeders/blender/   headless bpy scenes (3D logo reveals)
feeders/capture/   Playwright recorder (product demos)
feeders/audio/     ElevenLabs client (voiceover + music)
feeders/comfy/     ComfyUI client (optional AI backdrops)
skills/            the Claude Code skills that drive all of this
examples/          real output: the full asset suite for one shipped product
scripts/           props builders, staging, statics, smoke, copy linter, brief
                   gatherer, storyboard board, export matrix, captions, thumbs,
                   post kit, contact sheets, footage cache, SFX library,
                   Mission Control review server
props/             generated render props (edit via their builder scripts only)
docs/PLAYBOOK.md   the operational reference: engine map, onboarding, gotchas
launch.py          single-command health check + Remotion Studio

out/, assets/, and studio/public/*/ are build products and stay untracked.

Manual controls

Everything the skills do can be run by hand:

python launch.py                    # health checks + Remotion Studio
node scripts/smoke.mjs              # frame-0 still of every composition
cd studio && npx remotion render LogoReveal ../out/<brand>/logo.mp4 \
  --props='{"brandId":"<brand>","cta":"..."}'
node scripts/lint-copy.mjs props/<brand>-launch.json   # no-slop copy gate
node scripts/render-matrix.mjs <brand> --stills-only   # 16:9/9:16/1:1/4:5 fan-out
node scripts/build-captions.mjs <brand> --check        # SRT/VTT sidecars
node scripts/mission-control.mjs <brand>               # click-to-approve run console
node scripts/master-audio.mjs out/<brand>/launch.mp4   # -14 LUFS master, verified in the delivered file
node scripts/verify-cue.mjs out/<brand>/launch.mp4 2 1.5  # prove a sound cue is audible in a window
node scripts/judge-motion.mjs <brand>                  # motion-craft + motion/grade token bands
node scripts/judge-drift.mjs <brand>                   # scores out/<brand>/ as a SET; writes a worst-first review grid
node scripts/build-postkit.mjs <brand>                 # per-platform kits + LICENCES.md + DISCLOSURE.md

docs/PLAYBOOK.md has the full engine map: every feeder, builder script, and render command, plus the verified gotchas.

Adding a brand

  1. brands/<id>.json copying the shape of an existing brand (colors, fonts, tagline, voice rules).
  2. Register it in studio/src/lib/brand.ts and add a mark component in studio/src/brands/.
  3. cd studio && npm test validates the schema.

Only id, name, tagline, url, colors (13), fonts (3) and voice are required. Every other block is optional and defaults to the value it was hardcoded to before the token existed, so a brand that omits it renders byte-identically:

BlockWhat it tunes
motionChoreography personality — tempo, exuberance, stagger, overshoot, parallax, settle, textReveal. Retunes every entrance without moving a rest position.
gradeThe film pass — grain, grainSize (stated at 1080p, scaled by frame height), halation (highlight bloom that samples the frame), vignette, bloom, aberration, letterbox.
effectswash and glow behind the mark. Brands whose rules forbid a hero wash set wash: 0.
textAccent, progressFillWhich color tokens carry small colored text and the progress gradient.
speechHintHow the brand name is SPOKEN when that differs from how it is written. The transcriber cannot read a coined word it has never seen, so the audio judge primes it with this.

voice is not decoration — it is parsed. judge-palette reads "never " rules out of it and fails renders that violate them, so write the real constraints there.

Keep grade restrained. judge-motion warns above grain 0.4 and halation 0.35: past those, grain reads as compression noise and halation reads as a CSS glow rather than light scattering off film.

The /marketing skill does all of this for you from your product repo's design system; the steps above are the manual path. Details in docs/PLAYBOOK.md.

Verification

python launch.py --check   # toolchain health
node scripts/smoke.mjs     # renders frame 0 of every composition; must stay green
cd studio && npm test      # brand schema, motion standards, timing libs
cd studio && npm run lint  # eslint + tsc
node --test "scripts/**/*.test.mjs"  # script-side gates (judges, postkit, drift descriptors)

Every asset prop is nullable with a placeholder, so the smoke test passes on a clean clone with no captures, no Blender, and no API keys.

License

MIT

Support

If my tools save you time, you can support my work here:

Sponsor on GitHub Buy Me a Coffee

常见问题

What is marketing-studio?

marketing-studio is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ucsandman. Agent-driven marketing studio for Claude Code: one /marketing command renders your product's full launch asset suite (logo reveal, demo, launch video, social clips, OG assets). It has 207 GitHub stars.

Is marketing-studio safe to use?

Yes. marketing-studio passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install marketing-studio?

Clone the repository with "git clone https://github.com/ucsandman/marketing-studio" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is marketing-studio written in?

marketing-studio is primarily written in JavaScript. It is open-source under ucsandman on GitHub, so you can review or fork the full source.

Are there alternatives to marketing-studio?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh marketing-studio against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情