Skip to content
Marketing
Skill

/marketing

Use when the user wants the complete marketing asset suite for a product in one run — "/marketing", "build all the marketing assets", "generate everything for the launch", "all the animations and brand assets for X". Not for a single asset (use that asset's own skill) and not

From plugin
marketing-studio
25515 skills

Claude Code

$ npx -y skills add ucsandman/marketing-studio --skill marketing --agent claude-code

SKILL.md

marketing.SKILL.md
name: marketing
description: Use when the user wants the complete marketing asset suite for a product in one run — "/marketing", "build all the marketing assets", "generate everything for the launch", "all the animations and brand assets for X". Not for a single asset (use that asset's own skill) and not for launch copywriting alone (use /launch).

Marketing Mega-Pipeline

One command produces a product's full asset suite: brand onboarding, UI polish, logo reveal, product demo, launch video with audio, social clips, and OG assets. The individual asset skills own their recipes; this skill owns sequencing, gates, and run state.

**REQUIRED BACKGROUND:** marketing-studio (engine-repo workflow shape and non-negotiables). All PLAYBOOK rules apply.

**Production route:** read [`docs/production-quality.md`](../../docs/production-quality.md). Require `--project <product-repo>` and use `<workspace> = <product>/marketing/assets/<brand>`. Every generated capture, audio file, prop, public-stage asset, render, report, matrix row, and post kit stays in that product workspace. Engine-local `out/` is not a product-run path.

Resume check — before anything else

Read `<workspace>/marketing/run.json`. If it exists and any asset is not `delivered`, this invocation is a RESUME: load its intake and continue at the first incomplete asset. Confirm every claimed artifact exists inside the product workspace before trusting state.

On resume, still run the Phase 1 environment checks (shared-repo guard + `launch.py --check` — the previous process died mid-flight), but skip brand onboarding and Phase 2 polish if the manifest marks them complete. Trust a `rendered`/`approved` status only after confirming its artifact actually exists on disk; missing or truncated artifact → demote that asset to `planned`.

Phase 0 — Intake: ONE batched question round, then silence

Fresh runs only. Ask everything in a single AskUserQuestion, then run without asking again (exceptions: per-asset stills gates in gated mode, final delivery):

1. **Product/brand** — which brand and the explicit product repo used by `--project`. 2. **UI polish before filming?** Default YES: the demo films the real running app, so rough edges get rendered at 60fps forever. YES = impeccable → polish → frontend-verify on the product repo before any capture. NO = film as-is. This edits product code, so it is always the user's call — never silently skip it AND never silently do it. 3. **Audio** — music + voiceover is the default and the only thing a film ships with; ask only WHO narrates (brand voice id vs default) and whether music leads or narration leads. "None" is not an option and music-only is a recorded exception (`--music-only`), never a default: a film with no voice explaining the product is not done (CLAUDE.md, learned 2026-09-01). 4. **Social clips** — platforms and count (default: X + LinkedIn, one each). 5. **Checkpoint mode** — full-auto (self-check stills, user reviews the final gallery) or gated (user approves stills before each full render).

Phase 1 — Foundation

1. Shared-repo guard + `python launch.py --check` (marketing-studio steps 0–1), then `node scripts/install-skills.mjs --check` — it warns when a bundled `skills/` copy and its installed `~/.claude/skills` copy have drifted, so the run does not follow a stale checklist. Warn only; fix the drift or note it, then continue. 2. Brand: if `brands/<id>.json` is missing, onboard per PLAYBOOK. Brand-token judgment stays in the main loop — do not delegate it. 3. Create `<workspace>/marketing/run.json`. It stores the intake answers and one entry per planned asset. Statuses mean exactly this:

  • `planned` — not rendered yet. Gated mode: user approves pre-render stills before the render starts (that is the ONLY user gate per asset).
  • `rendered` — artifact on disk, post-render frame check pending (extract 2–3 frames from the artifact and inspect them — self-check in both modes).
  • `approved` — frame check passed; approval is recorded in the manifest the moment it happens, never inferred from chat history. A resumed session redoes the frame check for any `rendered` asset, showing the frames to the user first in gated mode.
  • `delivered` — copied to the product repo.

Update the manifest after every status change. Never restart a run from scratch because the session died. In executor-judge mode the judge writes `rendered` plus the artifact path the moment an executor returns, before judging: the truckside session died on 2026-09-05 with a finished, scored launch film on disk and a manifest that still read `planned`, and the resume had to be reconstructed from file timestamps. 4. Infographic bridge: build the product-owned `<workspace>/marketing/infographic-style.md`, then name it when an infographic is part of this run so that asset uses the approved brand tokens.

**Content and direction gate.** Once `<workspace>/marketing/brief.json` is synthesized and passes the copy gate, generate direction, shot plan, and production plan with the product-aware builder. Run `node scripts/build-storyboard.mjs <brand> --project <product>`. Approve the grounded copy and a style frame, then build an audio-bearing animatic with scratch voice/music and obtain named non-author approval before full rendering.

**Brief synthesis rules.** The zod schema (`studio/src/lib/brief.ts`) is the contract; fill the grounding sections, not just the copy: `audience` + `customerLanguage` + `objections` + `switchingForces` from the brief-inputs grounding, and a `proofPoints` entry (claim + source) for EVERY number the copy cites — an unsourced stat is fabrication, omit it instead (lint-copy WARNs on stat-shaped claims in a brief with no proofPoints). Draw `hook.headline` and each of the (up to two) `altHeadlines` from DIFFERENT hook categories per `references/hook-formulas.md`, record the categories in `hook.strategies`, and include at least one emotion-forward category (story/contrarian) against a valu

Read more
@ucsandman
Ships withmarketing-studio

An agent-driven local marketing studio. The bundled Claude Code plugin adds /marketing and /launch: the agent onboards your brand, films your app, writes the asset suite and review evidence into that product repo, then prepares guarded distribution to X,

Stars on GitHub

Momentum

stars in total
255
Star history of ucsandman/marketing-studio on GitHub, a chart by star-history.com

Other skills on marketing-studio.

announce

announce

Use when a product or feature is ready to go public — after shipping, when the user says "announce it", "go live", "tell people…

audio-track

audio-track

Use when the user wants music, voiceover, narration, or a soundtrack added to a video asset, OR wants standalone generated audio…

de-vibe

de-vibe

Audit and fix the tells that software was vibe-coded / AI-generated, then give it a small distinctive identity, so it ships…

launch-video

launch-video

Use when the user wants a full launch video, hero video, or 20–60s product film combining product proof, brand, narration, music,…

launch

launch

Take a developed project end-to-end through launch — domain, hosting, payments, email infra, algorithm-researched copy, and…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about marketing.

Which coding agents can use marketing?
marketing installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.