YouTube Conversational Workflows
Version: 1.0.0
Status: Production Ready
Purpose: Define conversational UX patterns for YouTube content creation
Category: YouTube System
Overview
This protocol defines how Claude (and other AI assistants) should interact with users during YouTube content creation workflows. It covers intent recognition, tool call sequences, voice responses, and decision-making patterns for natural conversational UX.
Goals: - Minimize back-and-forth (auto-execute when safe) - Provide clear status updates via Voice - Ask confirmation only when necessary - Present actionable insights, not raw data
Intent Recognition
Keyword Patterns
Video Creation: - "make a video", "create content", "video about", "content on"
Trending Research: - "what's trending", "popular videos", "hot topics", "trending in"
Script Generation: - "generate script", "write script", "script from", "turn into script"
Topic Validation: - "should I make", "is it worth", "good topic", "viable topic"
Competitor Analysis: - "analyze competitor", "analyze channel", "analyze video", "what works for"
Auto-Execute vs Ask-First Rules
Auto-Execute (No Confirmation): - Trending searches (read-only) - Metadata extraction from single videos - Topic validation queries - Quick competitive analysis (<5 videos)
Ask-First (Require Confirmation): - Batch channel scraping (>10 videos) - Script generation (creates permanent artifacts) - Storage operations (KB writes, Document creation) - Multi-step workflows involving >3 tool calls
Voice Response Templates
Status Updates
RESPONSE_TEMPLATES = {
'thinking': '🔍 {action}...',
'found': '✓ Found {count} {items}',
'error': '⚠️ {error_type}: {message}',
'complete': '✅ {task} complete',
'next_step': '📋 Next: {action}?'
}
Examples: - 🔍 Researching video opportunities for "AI coding assistants"... - ✓ Found 10 trending videos with 500K+ views - ✅ Script generation complete - 📋 Next: Should I save this to Corpus?
Scenario 1: "I want to make a video about [topic]"
User Input Variations
- "I want to make a video about AI coding assistants"
- "Let's create content on quantum computing"
- "Help me make a video explaining blockchain"
- "Video idea: sustainable farming techniques"
Conversation Flow
Step 1: Initial Response (Voice)
🔍 Researching video opportunities for "AI coding assistants"...
Step 2: Tool Sequence (Auto-Execute)
# 1. Get trending videos
videos = youtube.discovery.get_top_videos(
"AI coding assistants",
sort_by="view_count",
limit=10
)
# 2. Analyze competition level
total_views = sum(v['view_count'] for v in videos)
avg_views = total_views / len(videos)
# 3. Extract patterns
title_patterns = analyze_titles(videos)
duration_patterns = analyze_durations(videos)
Step 3: Decision Point
IF High Competition (>3 videos with >100K views in last 30 days):
✓ Found 8 trending videos on "AI coding assistants"
High competition detected:
- Average views: 450K
- Top video: 1.2M views (Fireship - 6:15 duration)
- Common pattern: Short explainers (5-10 min)
📋 Recommend differentiation angle:
1. "AI Coding Assistants: The WRONG Way to Use Them" (contrarian)
2. "Build Your Own AI Coding Assistant (Complete Guide)" (hands-on)
3. "I Used 5 AI Coding Assistants for 30 Days - Here's What Happened" (experiment)
Which angle interests you?
IF Low Competition (<3 recent videos OR <50K avg views):
✓ Found 3 videos on "AI coding assistants"
LOW competition - GREAT opportunity!
- Average views: 25K
- Limited recent content
- Gap in beginner tutorials
✅ This is a strong topic. Should I create an episode and start generating a script?
Step 4: Create Episode (If Confirmed)
episode = youtube.episode_create(
channel_id="@chrisfoustdev",
title="AI Coding Assistants: The Complete Guide",
hashtags=["#AI", "#Coding", "#Tutorial"],
keywords=["AI coding", "assistants", "programming"]
)
✅ Episode created: ep_xyz1
📋 Next steps:
1. Generate script from competitor research?
2. Link top competitor transcripts for analysis?
3. Create initial script outline?
What would you like to do?
Scenario 2: "What's trending in [niche]?"
User Input Variations
- "What's trending in AI right now?"
- "Show me hot topics in machine learning"
- "What videos are popular about web development?"
Conversation Flow
Step 1: Auto-Execute Discovery
videos = youtube.discovery.search_trending(
topic=niche,
days=7,
limit=10
)
Step 2: Synthesize Insights (Voice)
✓ Found 10 trending AI videos this week
Top 3 topics:
1. **AI Agents** - 1.9M avg views
- "AI Agents, Clearly Explained" - Jeff Su | 3.5M views
- Pattern: Beginner-friendly, no-code focus
2. **Claude Code** - 1.0M avg views
- "Claude 3.7 goes hard for programmers" - Fireship | 1.9M views
- Pattern: Short, punchy content (5-8 min)
3. **MCP Servers** - 741K avg views
- "you need to learn MCP RIGHT NOW!!" - NetworkChuck | 1.1M views
- Pattern: Urgent, hands-on tutorials
📋 All three are HOT right now. Want to dive deeper into any topic?
Scenario 3: "Generate a script from this article"
User Input Variations
- "Turn this article into a YouTube script"
- "Generate a 5-minute script from [URL]"
- "Write a video script based on this content"
Conversation Flow
Step 1: Fetch Article (Auto-Execute)
content = web.reader(article_url)
🔍 Fetching article content...
✓ Article retrieved: "How to Build an MCP Server" (2,400 words)
Step 2: Ask Template Preference
What duration should I target?
1. **3 minutes** - Quick overview (530 words)
2. **5 minutes** - Tutorial format (800 words)
3. **10 minutes** - Deep dive (1,600 words)
Recommendation: 5-minute tutorial (article has step-by-step content)
Step 3: Generate Script (After Confirmation)
script = generate_script(
content=article_content,
template="tech_tutorial_5min",
channel="@chrisfoustdev"
)
script_v1 = corpus.create(
category="youtube_script",
title="MCP Server Tutorial - Script v1",
content=script_markdown,
tags=["youtube", "@chrisfoustdev", episode_id]
)
✅ Script generated!
Details:
- Duration: 5:12 (target 5:00)
- Word count: 825 words
- Sections: Hook, Context, Main (3 steps), Examples, CTA
- Production notes included
Saved to Corpus: c_abc1
📋 Preview first 50 words:
"Ever wondered how AI assistants actually remember your preferences? Today we're building a Model Context Protocol server from scratch. By the end of this video, you'll have a working MCP server that Claude can use to access your custom data..."
Want to:
1. Review full script?
2. Refine and create v2?
3. Export to CDN for recording?
Scenario 4: "Should I make a video about [topic]?"
User Input Variations
- "Should I make a video about Rust programming?"
- "Is blockchain a good topic for my channel?"
- "Would a video on Docker be worth it?"
Conversation Flow
Step 1: Quick Validation (Auto-Execute)
# Search trending
videos = youtube.discovery.get_top_videos(topic, limit=10)
# Calculate metrics
avg_views = sum(v['view_count'] for v in videos) / len(videos)
recent_count = len([v for v in videos if is_recent(v, days=30)])
Step 2: Provide Recommendation (Voice)
Example 1: Strong Topic
✅ YES - "Rust programming" is a STRONG topic!
Engagement:
- Average views: 680K
- 7 recent videos (last 30 days)
- Growing trend (up 45% from last month)
Top performer:
- "Rust for Beginners" - 1.2M views | 22:15
- Channel: Let's Get Rusty
Recommendation: Make a beginner-friendly tutorial (15-25 min)
Create episode now?
Example 2: Weak Topic
⚠️ CAUTION - "Blockchain" is SATURATED
Engagement:
- Average views: 180K (down from 500K in 2024)
- 23 videos in last 30 days (high competition)
- Declining trend (down 60% from peak)
Challenges:
- Market fatigue
- High competition from established creators
- Low engagement on recent content
Alternative angles:
- "Blockchain in 2026: What Actually Worked" (retrospective)
- "Building a Simple Blockchain from Scratch" (educational)
- "Beyond Blockchain: What's Next?" (future-focused)
Still want to proceed?
Scenario 5: "Analyze this competitor's channel"
User Input Variations
- "Analyze @NetworkChuck's channel"
- "What makes Fireship's videos successful?"
- "Study this channel: @ThePrimeagen"
Conversation Flow
Step 1: Comprehensive Analysis (Auto-Execute)
analysis = youtube.discovery.analyze_competitor_channel(
channel_id="@NetworkChuck",
limit=20
)
Step 2: Present Insights (Voice)
✓ Analyzed @NetworkChuck (20 recent videos)
**Style & Strategy:**
- Average views: 1.25M per video
- Average title length: 9.5 words
- Signature: ALL CAPS urgency ("RIGHT NOW!!")
- Duration: 26-47 minutes (comprehensive tutorials)
**Title Patterns:**
- 85% use urgency language ("NEED to", "RIGHT NOW")
- 15% use questions
- Common: "you need to learn X RIGHT NOW!!"
**Engagement Drivers:**
1. Hands-on tutorials (follow along)
2. Enthusiastic presentation style
3. No-code/beginner-friendly approach
4. High production value (B-roll, music)
**Hashtag Strategy:**
#Linux, #Cybersecurity, #Tutorial, #Tech, #Automation
**Content Mix:**
- 60% tools/software tutorials
- 25% security/privacy topics
- 15% infrastructure/servers
📋 Recommendation:
- Adopt urgency language sparingly (avoid saturation)
- Keep tutorials hands-on and beginner-friendly
- Use longer durations (20-40 min) for comprehensive coverage
- Focus on practical value ("build something" angle)
Apply these patterns to your channel?
Tool Call Sequences
Standard Patterns
Pattern 1: Topic Research → Episode Creation
# 1. Discovery
videos = youtube.discovery.get_top_videos(topic, limit=10)
# 2. Create episode
episode = youtube.episode_create(
channel_id=channel,
title=optimized_title,
hashtags=extracted_tags
)
# 3. Link search (optional)
youtube.episode_link_search(episode.id, search_id)
Pattern 2: Article → Script → Corpus
# 1. Fetch article
content = web.reader(url)
# 2. Generate script
script = generate_script(content, template)
# 3. Save to Corpus
script_v1 = corpus.create(
category="youtube_script",
content=script,
tags=["youtube", channel, episode_id]
)
# 4. Link to episode
youtube.episode_link_script(episode_id, script_v1.stable_id)
Pattern 3: Competitor Analysis → Transcript → Episode
# 1. Get top competitors
videos = youtube.discovery.get_top_videos(topic, limit=5)
# 2. Fetch transcripts
for video in videos[:3]:
transcript = transcript.youtube_get(video['video_id'])
youtube.episode_link_transcript(episode_id, transcript.id)
# 3. Analyze patterns
patterns = analyze_transcripts(transcript_ids)
# 4. Apply to script generation
script = generate_script(content, style=patterns)
Error Handling
Common Errors
No Results Found:
⚠️ No trending videos found for "obscure topic name"
Possible reasons:
- Very niche topic
- Typo in search query
- Topic uses different terminology
Try:
1. Broader search ("AI" instead of "AI retrieval augmented generation")
2. Alternative keywords ("RAG" for "retrieval augmented generation")
3. Related topics ("AI agents" instead of specific framework)
Want to try a different search?
Timeout/Rate Limit:
⚠️ Search timeout
YouTube discovery is temporarily slow. This happens occasionally.
Retrying in 5 seconds...
🔍 Retrying search...
✓ Success on retry!
Invalid Input:
⚠️ Invalid URL format
The article URL doesn't appear valid:
"not-a-url"
Please provide a full URL:
- https://example.com/article
- www.example.com/post
Or paste the article content directly.
Best Practices
Voice Communication
DO: - ✅ Start with status update ("🔍 Researching...") - ✅ Use emojis sparingly for clarity - ✅ Present actionable insights, not raw data - ✅ Offer next steps explicitly - ✅ Keep responses concise (200-400 words max)
DON'T: - ❌ Dump raw JSON/data - ❌ Use excessive technical jargon - ❌ Leave user hanging ("I found some videos") - ❌ Over-explain obvious steps - ❌ Ask unnecessary confirmation for safe operations
Workflow Optimization
Batch Operations:
# GOOD: Parallel execution
gateway.run([
{server: 'youtube', tool: 'episode_get', args: {episode_id: 'ep_1'}},
{server: 'youtube', tool: 'episode_get', args: {episode_id: 'ep_2'}},
{server: 'youtube', tool: 'episode_get', args: {episode_id: 'ep_3'}}
])
# BAD: Sequential execution
episode1 = youtube.episode_get('ep_1')
episode2 = youtube.episode_get('ep_2')
episode3 = youtube.episode_get('ep_3')
Anticipate Needs:
# When user asks "Should I make a video about X?"
# Don't just search - also prepare episode creation
videos = youtube.discovery.get_top_videos(topic)
if is_good_topic(videos):
# Have episode draft ready if they say yes
draft_episode = prepare_episode_data(topic, videos)
User Expectations
Research Tasks: Expect 5-10 seconds (be patient) Script Generation: Expect 10-30 seconds (complex operation) Simple Queries: Expect <3 seconds (fast operations)
Always provide status updates for operations >3 seconds
Integration Examples
Workflow Automation Script
#!/usr/bin/env python3
"""Automated YouTube research workflow"""
import youtube, voice
def research_topic(topic: str, channel: str):
# Step 1: Notify user
voice.update(f"Researching video opportunities for {topic}")
# Step 2: Get trending videos
videos = youtube.discovery.get_top_videos(topic, limit=10)
# Step 3: Analyze
avg_views = sum(v['view_count'] for v in videos) / len(videos)
# Step 4: Make recommendation
if avg_views > 500_000:
recommendation = "HIGH competition"
voice.update(f"Found {len(videos)} videos, avg {avg_views:,.0f} views. {recommendation}")
else:
recommendation = "GREAT opportunity"
voice.update(f"Low competition detected! {len(videos)} videos, avg {avg_views:,.0f} views.")
# Auto-create episode for good topics
episode = youtube.episode_create(
channel_id=channel,
title=f"{topic.title()}: Complete Guide",
hashtags=extract_hashtags(topic)
)
voice.update(f"Episode created: {episode.id}. Ready for script generation.")
return videos, recommendation
Future Enhancements
Planned Features
- Intent Auto-Detection
- ML model for intent classification
- Context-aware workflow selection
-
Reduced confirmation prompts
-
Proactive Suggestions
- "This week's trending topics for your channel:"
- "Your competitor just uploaded - analyze?"
-
"Time to publish? It's been 7 days since last video"
-
Multi-Turn Conversations
- Maintain context across multiple messages
- "Also, check if X is trending"
-
"And compare with Y"
-
Voice-First Workflows
- Optimized for voice input/output
- Shorter, more conversational responses
- Audio status updates during long operations
Related KB Articles: - YouTube Content Creation System Overview - YouTube Discovery and Trending Analysis - YouTube Script Generation Complete Guide - YouTube MCP Server Technical Reference
Protocol Version: 1.0.0
Last Updated: 2026-01-11
Agent: Joker (a_nwaj)