announce
Use when a product or feature is ready to go public — after shipping, when the user says "announce it", "go live", "tell people…
Ship a product end to end — render marketing assets with the marketing studio (/marketing), then run the launch/ flow (/launch) with videos attached to X, LinkedIn, Bluesky and YouTube posts. Run from the product's repo.
Claude Code
$ npx -y skills add ucsandman/marketing-studio --skill ship-it --agent claude-code
Codex
$ npx skills add ucsandman/marketing-studio --skill ship-it -a codex -y
Cursor
$ npx skills add ucsandman/marketing-studio --skill ship-it -a cursor -y
Gemini CLI
$ npx skills add ucsandman/marketing-studio --skill ship-it -a gemini-cli -y
GitHub Copilot
$ npx skills add ucsandman/marketing-studio --skill ship-it -a github-copilot -y
OpenCode
$ npx skills add ucsandman/marketing-studio --skill ship-it -a opencode -y
Windsurf
$ npx skills add ucsandman/marketing-studio --skill ship-it -a windsurf -y
name: ship-it description: Ship a product end to end — render marketing assets with the marketing studio (/marketing), then run the launch/ flow (/launch) with videos attached to X, LinkedIn, Bluesky and YouTube posts. Run from the product's repo.
Run from the product repo you want to ship. Studio root = `${CLAUDE_SKILL_DIR}/../..` (rendering). Its launch CLI lives at `${CLAUDE_SKILL_DIR}/../../launch` (distribution) — run subcommands via `node "${CLAUDE_SKILL_DIR}/../../launch/dist/index.js" <cmd>` or `npx --prefix "${CLAUDE_SKILL_DIR}/../../launch" launch <cmd>`, from the product repo so its `.launch/` state lands there. This skill is the pipeline.
1. **Find the brand + kit.** Brand id = the product's brand in `${CLAUDE_SKILL_DIR}/../../brands/<id>.json` (ask only if ambiguous). Kit = `<product>/marketing/assets/<brand>/postkit/manifest.json`. 2. **Render if needed.** If the manifest is missing, run `/marketing` first (full pipeline, its own approval gates). If it exists, show its `generatedAt` and ask: reuse or re-render? Staleness is the user's judgment call, never a heuristic. 3. **Launch flow.** In the product repo, run the launch sequence — `launch init` (if no `.launch/launch.config.json`), then research, copy scaffold/fill, validate. Wire the kit: either set `postkitDir` in the config (the dashboard marketing tab does this with a picker) or pass `--kit "<product>/marketing/assets/<brand>/postkit"` to `launch post`. 4. **Dry-run, then post.** `launch post <dir> --all --dry-run` and show the user the previews — X and LinkedIn must show the video upload step. Live posting only after the user confirms, through the normal gates (ledger, validation, typed confirmation in the dashboard). 5. **Manual platforms.** TikTok / Shorts / Instagram are manual by design. Point the user at the dashboard marketing tab (Open folder per platform) or the kit's `POST.md` checklists. YouTube is NOT manual any more: `launch post --all --live` uploads to it whenever the three YOUTUBE_* keys are set. Uploads land private unless `YOUTUBE_PRIVACY` says otherwise -- say so out loud before any live run, and confirm it the same way as every other api-mode platform.
`render-matrix.mjs <brand> --project <product> --production` and `build-postkit.mjs <brand> --project <product> --production`, not by unwiring the kit.
evidence, and named full-film review are hash-bound and PASS. A dry run may preview an incomplete kit but never weakens the live gate.
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,
Use when a product or feature is ready to go public — after shipping, when the user says "announce it", "go live", "tell people…
Use when the user wants music, voiceover, narration, or a soundtrack added to a video asset, OR wants standalone generated audio…
Audit and fix the tells that software was vibe-coded / AI-generated, then give it a small distinctive identity, so it ships…
Verify frontend changes end to end after editing a web app, instead of manually clicking through pages. Use this whenever you…
Use when the user wants a full launch video, hero video, or 20–60s product film combining product proof, brand, narration, music,…
Take a developed project end-to-end through launch — domain, hosting, payments, email infra, algorithm-researched copy, and…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…