/linkedin-launch-video
Produce a LinkedIn-native 1:1 (or 16:9) launch video using HyperFrames. Caption-first, sound-off, B2B register, anti-corporate-jargon. Optionally hand off to LinkedIn Ads to launch as a sponsored content campaign with ICP-aligned targeting.
$ npx -y skills add cognyai/claude-code-marketing-skills --skill linkedin-launch-video --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
/linkedin-launch-video
Context preview
The summary Claude sees to decide when to auto-load this skill.
Produce a LinkedIn-native 1:1 (or 16:9) launch video using HyperFrames. Caption-first, sound-off, B2B register, anti-corporate-jargon. Optionally hand off to LinkedIn Ads to launch as a sponsored content campaign with ICP-aligned targeting.
SKILL.md
linkedin-launch-video.SKILL.mdname: linkedin-launch-video
description: Produce a LinkedIn-native 1:1 (or 16:9) launch video using HyperFrames. Caption-first, sound-off, B2B register, anti-corporate-jargon. Optionally hand off to LinkedIn Ads to launch as a sponsored content campaign with ICP-aligned targeting.
version: "1.0.0"
author: Cogny AI
platforms: [linkedin-ads, hyperframes]
user-invocable: true
argument-hint: "<product URL or short brief>"
allowed-tools:
- WebFetch
- WebSearch
- Bash
- Read
- Write
- Edit
# Cogny MCP context tree — richer product context than public scraping
- mcp__cogny__get_context_tree_overview
- mcp__cogny__browse_context_tree
- mcp__cogny__read_context_node
- mcp__cogny__search_context
# Optional handoff to LinkedIn Ads when the user wants to publish as sponsored content
- mcp__cogny__linkedin_ads__*
LinkedIn Launch Video
Produce a LinkedIn-native launch video using [HyperFrames](https://hyperframes.heygen.com).
LinkedIn's autoplay is muted, the feed is scrolled in 2-second chunks, and the audience is allergic to either extreme — too corporate (sounds like a 2010 SaaS press release) or too TikTok (looks unprofessional in front of buyers). This skill targets the middle: caption-driven, conversational founder/operator voice, real numbers, no jargon.
Usage
`/linkedin-launch-video https://example.com/launch` — pulls context from a launch page `/linkedin-launch-video "we're shipping inbound CRM scoring for B2B sales teams"` — short brief `/linkedin-launch-video` — interview the user
Prerequisites
node --version # ≥ 22
ffmpeg -version | head -1 # ≥ 6
Steps
1. Gather product context AND ICP context
LinkedIn videos die when the audience is "everyone". They work when the first frame names the role.
Try sources in order:
**1a. Local file** — `.agents/product-marketing-context.md` or `.claude/product-marketing-context.md`.
**1b. Cogny MCP context tree** — if the `cogny` MCP server is connected:
mcp__cogny__get_context_tree_overview
mcp__cogny__search_context query="ICP" / query="<product>"
mcp__cogny__read_context_node node_id="…"
The tree usually contains the actual ICP definition (role, seniority, industry, ARR band) and the most-recent shipped feature — both load-bearing for LinkedIn-grade specificity. Check it before public scraping.
**1c. Public web** — `WebFetch` the URL only if 1a/1b are empty.
Then ask:
1. Who is this for, by **role and seniority**? ("Heads of Demand Gen at B2B SaaS, $5–50M ARR") 2. What is the *expensive* problem they have right now? (cost, time, headcount) 3. What's the proof point — a customer name, a metric, a screenshot, a benchmark? 4. Who is the on-screen voice? (Founder? Operator? Customer? No-face / text-only is also valid on LinkedIn.) 5. What's the conversion goal? (Signup, demo, follow, comment, reshare)
If the role / proof / goal are vague, push back before writing. LinkedIn ROI lives or dies on these three.
1.5 Capture brand identity
Make this look like the user's brand. LinkedIn's audience is buyers — generic stock styling reads as "untrusted vendor".
Ask for one of: site URL, repo path with `tailwind.config.*` / CSS variables, an existing `brand-kit.json`, or manual input (3 hex + font + voice). Save the result as `brand-kit.json` in the HyperFrames project root.
For full schema, extraction patterns, and voice → composition mapping see [`references/brand-identity.md`](references/brand-identity.md).
LinkedIn-specific brand notes:
- **Avoid LinkedIn blue (#0a66c2)** as the brand accent — it merges with the platform UI and the video reads as a chrome screenshot.
- **Avoid the same accent the platform overlays use** — LinkedIn places white profile names with drop shadow on the top-15%; ensure your accent reads under that.
- **Display fonts are fine here** (unlike Reddit) — LinkedIn is the channel where serif headlines and editorial typography land best.
The composition template reads `--bg`, `--fg`, `--primary`, `--accent`, `--font-display` as CSS variables — wire them from your kit and the template's structure stays.
2. Pick the format
LinkedIn-idiomatic video formats that work in 2025–2026:
| Format | When to use | Structure | |--------|-------------|-----------| | **Founder-to-camera** | Authentic launches | Founder face + burned-in captions; explain the why, the how, the proof | | **Numbers carousel** | Data-led launches | Stat → context → stat → context → stat → "want the breakdown? comment X" | | **Customer quote** | Mid/late-stage social proof | Real screenshot of customer message → product clip → CTA | | **"Here's what we shipped"** | Feature releases | Plain title → 3 short clips with captions → release-notes-style CTA | | **Anti-pattern teardown** | Thought leadership / category creation | "Most teams do X. It doesn't work because Y. Here's what we built instead." |
Pick **one**. Confirm with the user.
3. Write the script (LinkedIn grammar)
- **Total length**: 30–75 seconds. The sweet spot is **45s**. Anything over 90s gets clipped.
- **Hook (0–3s)**: name the role, name the problem. "If you run paid for a B2B SaaS, this 30-second clip is for you."
- **Captions are the script**. LinkedIn auto-captions exist but are sloppy — burn your own in, max 8 words per card, sentence case, no all-caps.
- **No music**, or extremely subtle ambient. Voiceover optional but captions are the source of truth.
- **No "thrilled to announce"**, no "game-changer", no "next-generation". Read it out loud — if it sounds like a press release, rewrite.
- **Concrete CTA**: "Comment WAITLIST", "Tap the link to try it", "DM me 'demo'", or "Follow [name] for more". "Learn more" is dead.
Hand the beat sheet back. **Wait for confirmation.**
4. Scaffold the HyperFrames project
npx -y hyperframes@latest init <product-slug>-linkedin --yes
cd <product-slug>-linkedin
5. Compose the video (1:1 default, 16:9 alternative)
LinkedIn's feed is domina
Read more
name: linkedin-launch-video description: Produce a LinkedIn-native 1:1 (or 16:9) launch video using HyperFrames. Caption-first, sound-off, B2B register, anti-corporate-jargon. Optionally hand off to LinkedIn Ads to launch as a sponsored content campaign with ICP-aligned targeting. version: "1.0.0" author: Cogny AI platforms: [linkedin-ads, hyperframes] user-invocable: true argument-hint: "<product URL or short brief>" allowed-tools: - WebFetch - WebSearch - Bash - Read - Write - Edit # Cogny MCP context tree — richer product context than public scraping - mcp__cogny__get_context_tree_overview - mcp__cogny__browse_context_tree - mcp__cogny__read_context_node - mcp__cogny__search_context # Optional handoff to LinkedIn Ads when the user wants to publish as sponsored content - mcp__cogny__linkedin_ads__*
LinkedIn Launch Video
Produce a LinkedIn-native launch video using [HyperFrames](https://hyperframes.heygen.com).
LinkedIn's autoplay is muted, the feed is scrolled in 2-second chunks, and the audience is allergic to either extreme — too corporate (sounds like a 2010 SaaS press release) or too TikTok (looks unprofessional in front of buyers). This skill targets the middle: caption-driven, conversational founder/operator voice, real numbers, no jargon.
Usage
`/linkedin-launch-video https://example.com/launch` — pulls context from a launch page `/linkedin-launch-video "we're shipping inbound CRM scoring for B2B sales teams"` — short brief `/linkedin-launch-video` — interview the user
Prerequisites
node --version # ≥ 22 ffmpeg -version | head -1 # ≥ 6
Steps
1. Gather product context AND ICP context
LinkedIn videos die when the audience is "everyone". They work when the first frame names the role.
Try sources in order:
**1a. Local file** — `.agents/product-marketing-context.md` or `.claude/product-marketing-context.md`.
**1b. Cogny MCP context tree** — if the `cogny` MCP server is connected:
mcp__cogny__get_context_tree_overview mcp__cogny__search_context query="ICP" / query="<product>" mcp__cogny__read_context_node node_id="…"
The tree usually contains the actual ICP definition (role, seniority, industry, ARR band) and the most-recent shipped feature — both load-bearing for LinkedIn-grade specificity. Check it before public scraping.
**1c. Public web** — `WebFetch` the URL only if 1a/1b are empty.
Then ask:
1. Who is this for, by **role and seniority**? ("Heads of Demand Gen at B2B SaaS, $5–50M ARR") 2. What is the *expensive* problem they have right now? (cost, time, headcount) 3. What's the proof point — a customer name, a metric, a screenshot, a benchmark? 4. Who is the on-screen voice? (Founder? Operator? Customer? No-face / text-only is also valid on LinkedIn.) 5. What's the conversion goal? (Signup, demo, follow, comment, reshare)
If the role / proof / goal are vague, push back before writing. LinkedIn ROI lives or dies on these three.
1.5 Capture brand identity
Make this look like the user's brand. LinkedIn's audience is buyers — generic stock styling reads as "untrusted vendor".
Ask for one of: site URL, repo path with `tailwind.config.*` / CSS variables, an existing `brand-kit.json`, or manual input (3 hex + font + voice). Save the result as `brand-kit.json` in the HyperFrames project root.
For full schema, extraction patterns, and voice → composition mapping see [`references/brand-identity.md`](references/brand-identity.md).
LinkedIn-specific brand notes:
- **Avoid LinkedIn blue (#0a66c2)** as the brand accent — it merges with the platform UI and the video reads as a chrome screenshot.
- **Avoid the same accent the platform overlays use** — LinkedIn places white profile names with drop shadow on the top-15%; ensure your accent reads under that.
- **Display fonts are fine here** (unlike Reddit) — LinkedIn is the channel where serif headlines and editorial typography land best.
The composition template reads `--bg`, `--fg`, `--primary`, `--accent`, `--font-display` as CSS variables — wire them from your kit and the template's structure stays.
2. Pick the format
LinkedIn-idiomatic video formats that work in 2025–2026:
| Format | When to use | Structure | |--------|-------------|-----------| | **Founder-to-camera** | Authentic launches | Founder face + burned-in captions; explain the why, the how, the proof | | **Numbers carousel** | Data-led launches | Stat → context → stat → context → stat → "want the breakdown? comment X" | | **Customer quote** | Mid/late-stage social proof | Real screenshot of customer message → product clip → CTA | | **"Here's what we shipped"** | Feature releases | Plain title → 3 short clips with captions → release-notes-style CTA | | **Anti-pattern teardown** | Thought leadership / category creation | "Most teams do X. It doesn't work because Y. Here's what we built instead." |
Pick **one**. Confirm with the user.
3. Write the script (LinkedIn grammar)
- **Total length**: 30–75 seconds. The sweet spot is **45s**. Anything over 90s gets clipped.
- **Hook (0–3s)**: name the role, name the problem. "If you run paid for a B2B SaaS, this 30-second clip is for you."
- **Captions are the script**. LinkedIn auto-captions exist but are sloppy — burn your own in, max 8 words per card, sentence case, no all-caps.
- **No music**, or extremely subtle ambient. Voiceover optional but captions are the source of truth.
- **No "thrilled to announce"**, no "game-changer", no "next-generation". Read it out loud — if it sounds like a press release, rewrite.
- **Concrete CTA**: "Comment WAITLIST", "Tap the link to try it", "DM me 'demo'", or "Follow [name] for more". "Learn more" is dead.
Hand the beat sheet back. **Wait for confirmation.**
4. Scaffold the HyperFrames project
npx -y hyperframes@latest init <product-slug>-linkedin --yes cd <product-slug>-linkedin
5. Compose the video (1:1 default, 16:9 alternative)
LinkedIn's feed is domina
AI marketing skills for Claude Code, Cursor, Windsurf, and other AI coding tools. Audit SEO, analyze ads, research competitors, qualify leads — all from your terminal. Free skills need no account. Premium skills connect your real data for $9/mo.
Repo: cognyai/claude-code-marketing-skills
Other skills on claude-code-marketing-skills.
brand-kit
Build a portable brand-kit.json for the user's product — colors, typography, voice — that other skills (video, ad creative, landing page) can consume. Multiple…
cogny
Run Cogny marketing analysis tasks — fetch scheduled tasks, analyze ad accounts via MCP, report findings
community-pulse
Weekly read on Discord community health — joins, active channels, top contributors, themes, and unanswered questions
conversion-debug
Conversion Tracking Debugger — diagnose discrepancies across GTM, GA4, Google Ads & Meta Pixel with live API access, BigQuery validation queries, and…

