Best use case
YouTube Marketing is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
## Overview
Teams using YouTube Marketing should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/youtube-marketing/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How YouTube Marketing Compares
| Feature / Agent | YouTube Marketing | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
## Overview
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# YouTube Marketing
## Overview
This skill helps AI agents create high-performing YouTube content and integrate with the YouTube Data API. It covers long-form video strategy, Shorts, SEO optimization, thumbnail design, upload automation, analytics, monetization paths, and growth strategies for YouTube's search-and-recommendation algorithm.
## Instructions
### Algorithm & Discovery
**Search (YouTube is the #2 search engine):** title/description/tags keyword matching, video transcript indexed, engagement rate (CTR + watch time), fresh content boost.
**Recommendations (70%+ of views):** click-through rate (thumbnail + title), average view duration, session time, viewer satisfaction (likes, shares, comments), upload consistency.
What kills reach: clickbait without delivery, long intros, inconsistent uploads, misleading thumbnails.
### Content Formats
**Long-Form (8-20 min):** Hook (0-30s) -> Context (30s-1min) -> Main content -> CTA. Specs: 1080p minimum (4K preferred), MP4 H.264, clear audio at -14 to -12 LUFS. Retention techniques: pattern interrupts every 30-60s, open loops, chapters/timestamps, visual variety.
**Shorts (under 60s, 9:16 vertical):** Hook in first 1 second, single focused idea, loop-friendly endings, use as funnel to long-form. Post 3-5 Shorts/week.
**Community Posts (500+ subscribers):** Polls, images, video teasers. Post 2-3x/week between uploads.
### YouTube SEO
**Title:** 60-70 chars, primary keyword near start, number + benefit works. Formula: `[Primary Keyword] — [Benefit/Hook] ([Modifier])`. Example: "Next.js Authentication — Complete Guide (2026)".
**Description:** First 150 chars appear in search (front-load keywords). Include timestamps/chapters (min 3). 150-300 words total. Links below the fold.
**Tags:** 5-15 per video, primary keyword first, mix exact match + broader terms.
**Thumbnail:** 1280x720px, high contrast, expressive face, 3-5 words max bold text, consistent branding, rule of thirds.
**Captions:** Upload accurate SRT (auto-captions have errors). YouTube indexes caption text for search. Multi-language subtitles expand global reach.
### YouTube Data API v3
```typescript
import { google } from 'googleapis';
const oauth2Client = new google.auth.OAuth2(
process.env.GOOGLE_CLIENT_ID, process.env.GOOGLE_CLIENT_SECRET, process.env.GOOGLE_REDIRECT_URI
);
oauth2Client.setCredentials(tokens);
const youtube = google.youtube({ version: 'v3', auth: oauth2Client });
// Upload video
const res = await youtube.videos.insert({
part: ['snippet', 'status'],
requestBody: {
snippet: {
title: 'Next.js Authentication — Complete Guide (2026)',
description: 'Learn how to implement auth in Next.js...\n\n0:00 Introduction\n1:23 Setup',
tags: ['nextjs', 'authentication', 'tutorial'],
categoryId: '28',
},
status: { privacyStatus: 'private', publishAt: '2026-03-01T15:00:00.000Z', selfDeclaredMadeForKids: false },
},
media: { body: fs.createReadStream('/path/to/video.mp4') },
});
await youtube.thumbnails.set({ videoId: res.data.id, media: { body: fs.createReadStream('/path/to/thumb.jpg') } });
// Upload Short (vertical video + #Shorts in title)
await youtube.videos.insert({
part: ['snippet', 'status'],
requestBody: {
snippet: { title: '3 Git Commands You Didn\'t Know #Shorts', tags: ['shorts', 'git'], categoryId: '28' },
status: { privacyStatus: 'public', selfDeclaredMadeForKids: false },
},
media: { body: fs.createReadStream('/path/to/short-vertical.mp4') },
});
// Create playlist and add video
const playlist = await youtube.playlists.insert({
part: ['snippet', 'status'],
requestBody: { snippet: { title: 'Next.js Complete Course' }, status: { privacyStatus: 'public' } },
});
await youtube.playlistItems.insert({
part: ['snippet'],
requestBody: { snippet: { playlistId: playlist.data.id, resourceId: { kind: 'youtube#video', videoId: 'abc123' } } },
});
```
### Analytics
```typescript
const youtubeAnalytics = google.youtubeAnalytics({ version: 'v2', auth: oauth2Client });
// Channel stats
const stats = await youtubeAnalytics.reports.query({
ids: 'channel==MINE', startDate: '2026-01-01', endDate: '2026-02-18',
metrics: 'views,estimatedMinutesWatched,averageViewDuration,subscribersGained',
dimensions: 'day', sort: '-day',
});
// Top videos
const top = await youtubeAnalytics.reports.query({
ids: 'channel==MINE', startDate: '2026-01-01', endDate: '2026-02-18',
metrics: 'views,estimatedMinutesWatched,averageViewDuration,likes',
dimensions: 'video', sort: '-views', maxResults: 20,
});
```
### Monetization
**YPP requirements:** 1,000 subscribers + 4,000 watch hours (12 months) or 10M Shorts views (90 days).
**Revenue streams:** Ad revenue ($3-8 CPM tech niche), channel memberships, Super Chat/Thanks, YouTube Shopping, Shorts revenue sharing.
**Beyond YPP:** Sponsorships ($50-200/1K views for tech), affiliate links, own products/courses, consulting.
### Growth Strategy
Upload 1-2 long-form/week + 3-5 Shorts/week. Content mix: 50% tutorials, 25% Shorts, 15% trend-jacking, 10% community. First 48 hours: share everywhere, reply to every comment, pin a question comment, post to relevant communities.
## Examples
### Example 1: Optimize and schedule a tutorial video upload
**User prompt:** "Upload my Next.js authentication tutorial video to YouTube with proper SEO, a custom thumbnail, and schedule it for Saturday at 3 PM UTC."
The agent will:
1. Call `youtube.videos.insert` with `privacyStatus: 'private'` and `publishAt: '2026-03-07T15:00:00.000Z'`
2. Set the title to "Next.js Authentication — Complete Guide (2026)" with primary keywords front-loaded
3. Write a 200-word description with timestamps, keywords, and resource links below the fold
4. Add 10 relevant tags mixing exact-match and broader terms
5. Upload the custom thumbnail via `youtube.thumbnails.set`
### Example 2: Analyze channel performance and identify growth opportunities
**User prompt:** "Pull my YouTube analytics for the last 30 days and tell me which videos are driving the most subscribers and where my traffic is coming from."
The agent will:
1. Query `youtubeAnalytics.reports` with `dimensions: 'video'` and `metrics: 'subscribersGained,views,averageViewDuration'` sorted by subscribers gained
2. Query traffic sources with `dimensions: 'insightTrafficSourceType'` to identify search vs. browse vs. suggested splits
3. Present the top 5 subscriber-driving videos with their view duration and CTR metrics
4. Recommend content strategy adjustments based on which traffic sources are strongest
## Guidelines
- Thumbnail + title are 80% of the click decision — spend time on them
- First 30 seconds determine if people stay — hook immediately, no long intros
- Upload as unlisted, set thumbnail, add end screen, then publish (avoid low CTR on default thumbnail)
- Chapters in description improve retention (viewers jump to relevant parts instead of leaving)
- Cards and end screens — always point to your best-performing video or relevant playlist
- Upload SRT captions — auto-captions have errors, YouTube indexes caption text for search
- Consistency beats virality — 1 video/week for 2 years beats random posting
- Shorts and long-form serve different purposes: Shorts for reach, long-form for watch time and monetization
- Study Analytics Audience tab for optimal posting times
- Every video should answer: "Why click THIS video instead of the other 10 on this topic?"Related Skills
scorecard-marketing
Build quiz and assessment funnels that generate qualified leads at 30-50% conversion. Use when the user mentions "lead magnet", "quiz funnel", "assessment tool", "lead generation", or "score-based segmentation". Covers question design, dynamic results by tier, and automated follow-up sequences. For landing page conversion, see cro-methodology. For full marketing plans, see one-page-marketing. Trigger with 'scorecard', 'marketing'.
one-page-marketing
Build a complete marketing plan covering the full customer journey from stranger to raving fan. Use when the user mentions "marketing plan", "target market", "USP", "lead nurture", "customer lifetime value", or "referral program". Covers the PVP Index, channel selection, and advocacy systems. For brand messaging, see storybrand-messaging. For conversion optimization, see cro-methodology. Trigger with 'one', 'page', 'marketing'.
youtube-music
Search and play music tracks on YouTube Music through MCP integration. Use when user wants to search for songs, play music, or discover tracks on YouTube Music platform.
analyzing-marketing-campaign
Analyze weekly marketing campaign performance data across channels. Use when analyzing multi-channel digital marketing data to calculate funnel metrics (CTR, CVR) and compare to benchmarks, compute cost and revenue efficiency metrics (ROAS, CPA, Net Profit), or get budget reallocation recommendations based on performance rules.
../../../marketing-skill/x-twitter-growth/SKILL.md
No description provided.
../../../marketing-skill/social-media-manager/SKILL.md
No description provided.
../../../marketing-skill/prompt-engineer-toolkit/SKILL.md
No description provided.
marketing-skills
42 marketing agent skills and plugins for Claude Code, Codex, Gemini CLI, Cursor, OpenClaw, and 6 more coding agents. 7 pods: content, SEO, CRO, channels, growth, intelligence, sales. Foundation context + orchestration router. 27 Python tools (stdlib-only).
marketing-ops
Central router for the marketing skill ecosystem. Use when unsure which marketing skill to use, when orchestrating a multi-skill campaign, or when coordinating across content, SEO, CRO, channels, and analytics. Also use when the user mentions 'marketing help,' 'campaign plan,' 'what should I do next,' 'marketing priorities,' or 'coordinate marketing.'
../../../marketing-skill/marketing-context/SKILL.md
No description provided.
../../../agents/marketing/cs-demand-gen-specialist.md
No description provided.
../../../marketing-skill/content-production/SKILL.md
No description provided.