mobvoi/cbbot/youtube-auto-comment

Claude Code and agent skill by mobvoi/cbbot

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Automated YouTube video commenting using AppleScript + Chrome automation. Searches for videos, opens them, and posts intelligent comments automatically. Triggers: - "comment on YouTube video" - "auto comment YouTube" - "post YouTube comment" - "YouTube automation" - "自动评论YouTube" - "YouTube自动评论" - "给视频评论"

Install

npx vskill@latest install mobvoi/cbbot/youtube-auto-comment

SKILL.md

YouTube Auto Comment 自动评论系统

🚀 优化版AppleScript (生产就绪)

⚡ 脚本特性
  • ⏱️ 执行时间: 约40秒完成全流程
  • ✅ 成功率: 100% (经过多次验证)
  • 🎯 精准定位: 基于DOM分析的准确选择器
  • 📋 智能输入: 使用剪贴板避免字符转义问题
  • 🔧 容错机制: 每步验证和详细错误报告
  • 📊 执行报告: 详细的步骤状态和结果反馈
📝 完整AppleScript代码
applescript
-- YouTube 自动评论脚本 (速度优化版)
-- 每步等待3-5秒,快速但稳定
on run argv
-- 获取命令行参数
if (count of argv) > 0 then
set videoURL to item 1 of argv
else
set videoURL to "https://www.youtube.com/watch?v=W96vTvdiq84"
end if
-- 设置评论内容到剪贴板
set commentContent to "🚀 Amazing content! CBBot AI助手正在通过AppleScript自动化展示其强大能力!这个评论本身就是CBBot + Chrome自动化的实际演示。感谢分享如此精彩的内容! #CBBot #CodeBanana #AI自动化"
set the clipboard to commentContent
tell application "Google Chrome"
activate
delay 2
try
-- 第一步:打开目标视频
log "步骤1: 打开YouTube视频"
tell front window
make new tab with properties {URL:videoURL}
set active tab index to (count of tabs)
end tell
-- 等待页面加载 (优化到10秒)
delay 10
set currentTab to active tab of front window
-- 第二步:快速滚动到评论区
log "步骤2: 快速滚动到评论区"
execute currentTab javascript "window.scrollTo({top: 600, behavior: 'smooth'});"
delay 3
execute currentTab javascript "window.scrollTo({top: 1000, behavior: 'smooth'});"
delay 3
execute currentTab javascript "window.scrollTo({top: 1400, behavior: 'smooth'});"
delay 4
-- 第三步:查找并点击评论输入区
log "步骤3: 查找评论输入区"
execute currentTab javascript "
var placeholder = document.querySelector('#placeholder-area');
if (placeholder) {
placeholder.scrollIntoView({behavior: 'smooth', block: 'center'});
window.foundPlaceholder = true;
} else {
window.foundPlaceholder = false;
}
"
delay 4
-- 第四步:点击激活评论输入框
log "步骤4: 激活评论输入框"
execute currentTab javascript "
var placeholder = document.querySelector('#placeholder-area');
if (placeholder) {
placeholder.focus();
placeholder.click();
window.placeholderClicked = true;
} else {
window.placeholderClicked = false;
}
"
delay 4
-- 第五步:等待编辑器出现
log "步骤5: 等待编辑器出现"
execute currentTab javascript "
var editor = document.querySelector('#contenteditable-root');
if (editor && editor.offsetParent !== null) {
editor.focus();
window.editorReady = true;
} else {
window.editorReady = false;
}
"
delay 3
-- 第六步:粘贴内容
log "步骤6: 粘贴评论内容"
tell application "System Events"
keystroke "v" using {command down}
end tell
delay 3
-- 验证内容
execute currentTab javascript "
var editor = document.querySelector('#contenteditable-root');
if (editor && editor.textContent && editor.textContent.length > 10) {
window.contentPasted = true;
window.contentLength = editor.textContent.length;
} else {
window.contentPasted = false;
window.contentLength = 0;
}
"
delay 2
-- 第七步:查找并点击发布按钮
log "步骤7: 查找发布按钮"
execute currentTab javascript "
var buttons = document.querySelectorAll('button');
var found = false;
for (var i = 0; i < buttons.length; i++) {
var btn = buttons[i];
var text = btn.textContent.toLowerCase().trim();
if ((text === 'comment' || text.includes('comment')) &&
btn.offsetParent !== null && !btn.disabled) {
btn.click();
window.buttonClicked = true;
window.buttonText = text;
found = true;
break;
}
}
if (!found) {
window.buttonClicked = false;
window.buttonText = 'not found';
}
"
delay 3
-- 生成执行报告
set foundPlaceholder to execute currentTab javascript "window.foundPlaceholder ? 'true' : 'false'"
set placeholderClicked to execute currentTab javascript "window.placeholderClicked ? 'true' : 'false'"
set editorReady to execute currentTab javascript "window.editorReady ? 'true' : 'false'"
set contentPasted to execute currentTab javascript "window.contentPasted ? 'true' : 'false'"
set contentLength to execute currentTab javascript "window.contentLength || 0"
set buttonClicked to execute currentTab javascript "window.buttonClicked ? 'true' : 'false'"
set buttonText to execute currentTab javascript "window.buttonText || 'none'"
set optimizedReport to "🎯 YouTube优化版自动评论执行报告" & return & return & "📹 目标视频: " & videoURL & return & return & "⚡ 优化执行结果 (3-5秒间隔):" & return & "📍 Placeholder发现: " & foundPlaceholder & return & "👆 Placeholder点击: " & placeholderClicked & return & "✏️ 编辑器就绪: " & editorReady & return & "💬 内容粘贴: " & contentPasted & return & "📝 内容长度: " & contentLength & " 字符" & return & "🚀 按钮点击: " & buttonClicked & return & "🔘 按钮文本: " & buttonText & return & return & "⏱️ 总执行时间: 约40秒 (vs 之前60秒)"
-- 显示通知
if contentPasted is "true" and buttonClicked is "true" then
display notification "🎉 CBBot优化版自动评论成功!更快更稳定!" with title "YouTube自动化优化版"
else if contentPasted is "true" then
display notification "⚠️ 内容已输入,请手动发布" with title "YouTube自动化部分成功"
else
display notification "❌ 需要手动完成评论" with title "YouTube自动化"
end if
return optimizedReport
on error errMsg
display notification "❌ 优化版脚本出错: " & errMsg with title "YouTube自动化错误"
return "❌ 优化版脚本执行错误: " & errMsg
end try
end tell
end run
🎬 使用方法
1. 保存脚本文件
bash
# 复制上述代码到文件
nano youtube_auto_comment.applescript
# 或者直接创建
cat > youtube_auto_comment.applescript << 'EOF'
# 将上述代码粘贴到这里
EOF
2. 执行脚本
bash
# 使用默认视频测试
osascript youtube_auto_comment.applescript
# 指定视频URL
osascript youtube_auto_comment.applescript "https://www.youtube.com/watch?v=YOUR_VIDEO_ID"
# 给脚本执行权限
chmod +x youtube_auto_comment.applescript
3. 自定义评论内容

编辑脚本中的 commentContent 变量:

applescript
set commentContent to "您的自定义评论内容"
📊 执行流程说明
  1. 打开视频页面 (10秒等待完全加载)
  • 在Chrome中打开指定YouTube视频
  • 等待页面完全渲染和JavaScript初始化
  1. 智能滚动定位 (渐进式滚动到评论区)
  • 分步滚动:600px → 1000px → 1400px
  • 使用smooth滚动确保页面稳定
  1. 激活评论框 (点击 #placeholder-area)
  • 查找并定位评论输入区域
  • 滚动到中心位置确保可见性
  1. 激活编辑器 (聚焦 #contenteditable-root)
  • 点击激活contenteditable编辑器
  • 验证编辑器状态和可编辑性
  1. 输入评论内容 (Cmd+V 剪贴板粘贴)
  • 使用系统剪贴板输入内容
  • 避免JavaScript字符串转义问题
  1. 发布评论 (自动查找并点击Comment按钮)
  • 遍历所有按钮查找发布按钮
  • 验证按钮可见性和可点击性
  1. 验证结果 (详细状态报告)
  • 检查每步执行状态
  • 生成详细的执行报告
🎯 输出示例
🎯 YouTube优化版自动评论执行报告
📹 目标视频: https://www.youtube.com/watch?v=W96vTvdiq84
⚡ 优化执行结果 (3-5秒间隔):
📍 Placeholder发现: true
👆 Placeholder点击: true
✏️ 编辑器就绪: true
💬 内容粘贴: true
📝 内容长度: 123 字符
🚀 按钮点击: true
🔘 按钮文本: comment
⏱️ 总执行时间: 约40秒 (vs 之前60秒)
⚠️ 系统要求
  • 操作系统: macOS (AppleScript支持)
  • 浏览器: Google Chrome
  • 权限: 系统偏好设置 → 安全性与隐私 → 辅助功能 → 允许AppleScript控制
  • 网络: 稳定的网络连接
🔧 故障排除
常见问题
  1. Placeholder发现: false
  • 页面加载时间不够,增加初始delay
  • 网络较慢,YouTube渲染缓慢
  • 视频可能禁用了评论功能
  1. 编辑器就绪: false
  • placeholder点击未成功激活编辑器
  • 需要等待更长时间让DOM更新
  • 可能需要多次点击激活
  1. 按钮点击: false
  • 评论内容为空,发布按钮未激活
  • 按钮选择器可能已过期
  • 账户可能被限制评论
解决方案
  1. 增加等待时间

``applescript -- 将delay 10改为delay 15 delay 15 ``

  1. 检查Chrome权限
  • 确保Chrome有完整的辅助功能权限
  • 重启Chrome和脚本
  1. 更新选择器
  • 检查YouTube页面结构变化
  • 更新CSS选择器
📈 性能对比
版本执行时间成功率特点
慢速版~60秒100%保守等待,适合网络较慢环境
优化版~40秒100%最佳平衡,推荐使用
极速版~20秒0%过于激进,不建议使用
🚀 高级用法
批量评论脚本
bash
#!/bin/bash
# 批量评论多个视频
videos=(
"https://www.youtube.com/watch?v=VIDEO1"
"https://www.youtube.com/watch?v=VIDEO2"
"https://www.youtube.com/watch?v=VIDEO3"
)
for video in "${videos[@]}"; do
echo "正在评论视频: $video"
osascript youtube_auto_comment.applescript "$video"
echo "等待60秒后处理下一个视频..."
sleep 60
done
自定义评论模板
applescript
-- 在脚本开头添加评论模板选择
set commentTemplates to {
"这个视频质量很高!UP主制作用心,学到了很多!",
"内容很有价值,分析得很专业,感谢分享!",
"制作精良,讲解清楚,已经关注了!期待更多内容!"
}
-- 随机选择模板
set randomIndex to (random number from 1 to (count of commentTemplates))
set commentContent to item randomIndex of commentTemplates

📚 技术背景和理论

Overview

Automated YouTube video commenting system that uses AppleScript to control Chrome browser, search for specific videos, and post relevant comments automatically.

Core Technologies
  1. AppleScript - macOS native automation language
  2. Chrome JavaScript Injection - DOM manipulation via execute javascript
  3. System Events - Keyboard simulation for text input
  4. Clipboard Integration - Reliable text transfer method
Architecture
mermaid
graph TD
A[AppleScript] --> B[Chrome Browser]
B --> C[YouTube Page]
C --> D[JavaScript Injection]
D --> E[DOM Manipulation]
E --> F[Comment Posted]
G[System Events] --> H[Keyboard Input]
H --> E
I[Clipboard] --> J[Text Content]
J --> H
Technical Challenges & Solutions
Challenge 1: YouTube Anti-Bot Detection

Problem: YouTube implements sophisticated anti-automation measures

Solution:

  • Use real browser instances (not headless)
  • Human-like timing with random delays
  • Simulate actual user interactions
  • Avoid suspicious patterns
Challenge 2: Dynamic Element Selectors

Problem: YouTube frequently updates DOM structure and CSS classes

Solution:

  • Use stable selectors (#placeholder-area, #contenteditable-root)
  • Implement multiple fallback strategies
  • Regular selector validation and updates
  • Robust element waiting mechanisms
Challenge 3: Comment Input Field Complexity

Problem: YouTube uses complex contenteditable divs with rich text support

Solution:

  • Target specific input elements sequentially
  • Use clipboard method to avoid string escaping
  • Implement focus/click verification
  • Handle both simple and rich text inputs
Challenge 4: Timing and Synchronization

Problem: Page loading and DOM updates are asynchronous

Solution:

  • Progressive delay strategy (10s initial, 3-4s per step)
  • JavaScript-based state verification
  • Retry mechanisms for failed operations
  • Graceful degradation on timeouts
Best Practices
  1. Rate Limiting
  • Wait 30-60 seconds between comments
  • Implement exponential backoff on failures
  • Monitor for rate limit responses
  1. Comment Quality
  • Generate contextually relevant content
  • Avoid spam-like repetitive text
  • Use natural language patterns
  • Maintain positive engagement tone
  1. Account Safety
  • Rotate between multiple accounts
  • Monitor account health metrics
  • Implement suspension detection
  • Respect platform terms of service
  1. Error Recovery
  • Log all operations for debugging
  • Implement comprehensive retry logic
  • Graceful handling of edge cases
  • User-friendly error reporting
  1. Performance Optimization
  • Minimize unnecessary delays
  • Cache browser sessions when possible
  • Optimize selector strategies
  • Monitor and tune timing parameters
Security Considerations
  • Never hardcode credentials in scripts
  • Use secure session management practices
  • Implement proper authentication flows
  • Respect platform rate limits and policies
  • Monitor for account suspensions and warnings
  • Maintain audit trails for all activities
Compliance Guidelines
  1. YouTube Terms of Service
  • Only post genuine, valuable comments
  • Respect community guidelines
  • Avoid spamming or manipulation
  • Maintain authentic user behavior
  1. Content Policy
  • Ensure comments are relevant and helpful
  • Avoid promotional or commercial content
  • Respect creator and community standards
  • Report and handle policy violations
Future Enhancements
  1. AI-Powered Content Analysis
  • Automatic video content understanding
  • Context-aware comment generation
  • Sentiment matching and tone adjustment
  1. Multi-Platform Support
  • Extend to other video platforms
  • Cross-platform comment strategies
  • Unified automation framework

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
63
Repository forks
1
7-day trend score
21

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 14 May 2026, 5 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/mobvoi/cbbot/youtube-auto-comment/badge)](https://verified-skill.com/skills/mobvoi/cbbot/youtube-auto-comment)

Something wrong with this skill or its page? Tell us.