ai-topic-scout

AI短视频选题追踪系统。自动抓取指定YouTube博主视频和Twitter博主推文,分析内容,聚合跨平台热点主题,生成带热度评分和选题建议的分析报告,结果写入钉钉AI表格。适用于:定时抓取AI领域博主内容、分析短视频选题热度、跨平台话题聚合、生成选题建议。触发词:"抓取选题"、"分析选题"、"选题scout"、"topic scout"、"抓取博主内容"、"选题分析"。

3,891 stars

Best use case

ai-topic-scout is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

AI短视频选题追踪系统。自动抓取指定YouTube博主视频和Twitter博主推文,分析内容,聚合跨平台热点主题,生成带热度评分和选题建议的分析报告,结果写入钉钉AI表格。适用于:定时抓取AI领域博主内容、分析短视频选题热度、跨平台话题聚合、生成选题建议。触发词:"抓取选题"、"分析选题"、"选题scout"、"topic scout"、"抓取博主内容"、"选题分析"。

Teams using ai-topic-scout 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

$curl -o ~/.claude/skills/ai-topic-scout/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/agegr/ai-topic-scout/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/ai-topic-scout/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How ai-topic-scout Compares

Feature / Agentai-topic-scoutStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

AI短视频选题追踪系统。自动抓取指定YouTube博主视频和Twitter博主推文,分析内容,聚合跨平台热点主题,生成带热度评分和选题建议的分析报告,结果写入钉钉AI表格。适用于:定时抓取AI领域博主内容、分析短视频选题热度、跨平台话题聚合、生成选题建议。触发词:"抓取选题"、"分析选题"、"选题scout"、"topic scout"、"抓取博主内容"、"选题分析"。

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

# AI短视频选题追踪系统

## 依赖安装

首次使用前,检查并安装所有依赖。按顺序执行:

### 1. CLI 工具

```bash
# mcporter — MCP Server 调用工具
npm install -g mcporter

# bird — Twitter/X CLI
npm install -g @steipete/bird

# yt-dlp — YouTube 视频/字幕下载
pip install yt-dlp
```

### 2. 依赖技能(通过 clawhub 安装)

```bash
# 钉钉 AI 表格操作
clawhub install dingtalk-ai-table

# YouTube 字幕抓取
clawhub install youtube-watcher
```

> 如果 clawhub 未安装:`npm install -g clawhub`

### 3. 环境配置

**钉钉 MCP Server**:
1. 打开 https://mcp.dingtalk.com/#/detail?mcpId=9555&detailType=marketMcpDetail
2. 点击「获取 MCP Server 配置」,复制 Streamable HTTP URL
3. 注册到 mcporter:
```bash
mcporter config add dingtalk-ai-table --url "<你的URL>"
```

**Twitter Cookie**:
1. 在浏览器登录 x.com,从 DevTools → Application → Cookies 获取 `auth_token` 和 `ct0`
2. 配置到 `~/.config/bird/config.json5`:
```json5
{
  authToken: "<你的auth_token>",
  ct0: "<你的ct0>"
}
```
> ⚠️ 当前版本 bird 不会自动读取 config.json5,CLI 调用时仍需通过 `--auth-token` 和 `--ct0` 参数传入。

### 4. 验证安装

```bash
mcporter --version
mcporter list dingtalk-ai-table --schema   # 确认出现 list_bases / create_records 等新版 tools
bird check
yt-dlp --version
```

## 数据架构

### 钉钉AI表格结构

Base 名称:`AI短视频选题`

需要 4 张数据表,首次运行时自动创建(参见 `references/setup-guide.md`):

| 表名 | 用途 |
|------|------|
| YouTube博主 | 追踪的油管频道列表 |
| Twitter博主 | 追踪的推特账号列表 |
| 抓取内容 | 原始抓取记录(视频/推文) |
| 选题分析 | 聚合分析后的选题 |

表结构详见 `references/table-schema.md`。

## 工作流

### 一、首次初始化

仅第一次使用时执行,步骤详见 `references/setup-guide.md`:

1. 创建钉钉AI表格 Base
2. 创建 4 张数据表(含字段定义)
3. 填入初始博主列表
4. 将 baseId 和各 tableId 保存到 `references/config.json`

### 二、定时抓取(每小时执行)

按顺序执行:

#### 1. 读取配置

```bash
cat {baseDir}/references/config.json
```

读取 baseId、各 tableId、各字段 fieldId。

#### 2. 抓取 YouTube 内容

对「YouTube博主」表中状态为「活跃」的每个博主:

```bash
# 获取最新3个视频ID
yt-dlp --flat-playlist --print "%(id)s %(title)s" -I 1:3 "https://www.youtube.com/@{频道ID}/videos"

# 对每个视频,先检查 fetch 表是否已存在(用原文链接去重)
mcporter call dingtalk-ai-table query_records --args '{
  "baseId":"<baseId>","tableId":"<fetchTableId>",
  "keyword":"youtube.com/watch?v=<videoId>"
}' --output json

# 如果不存在,抓取字幕
python3 {youtube-watcher-baseDir}/scripts/get_transcript.py "https://www.youtube.com/watch?v=<videoId>"

# 用字幕内容生成摘要,写入 fetch 表
```

#### 3. 抓取 Twitter 内容

对「Twitter博主」表中状态为「活跃」的每个博主:

```bash
bird user-tweets @{用户名} -n 5 --plain --auth-token "<token>" --ct0 "<ct0>"
```

对每条推文,检查 fetch 表是否已存在(用原文链接去重),新内容写入 fetch 表。

#### 4. 写入 fetch 表的格式

```bash
mcporter call dingtalk-ai-table create_records --args '{
  "baseId":"<baseId>",
  "tableId":"<fetchTableId>",
  "records":[{
    "cells":{
      "<来源fieldId>":"YouTube 或 Twitter",
      "<博主名称fieldId>":"博主名",
      "<标题fieldId>":"内容标题",
      "<内容摘要fieldId>":"200字以内摘要",
      "<原文链接fieldId>":"完整URL",
      "<发布时间fieldId>":"YYYY-MM-DD",
      "<抓取时间fieldId>":"YYYY-MM-DD HH:mm",
      "<内容类型fieldId>":"视频/推文/长推文/转推评论",
      "<关键词标签fieldId>":"逗号分隔的标签",
      "<处理状态fieldId>":"待分析"
    }
  }]
}' --output json
```

### 三、选题分析(每次抓取后执行)

#### 1. 读取待分析内容

```bash
mcporter call dingtalk-ai-table query_records --args '{
  "baseId":"<baseId>","tableId":"<fetchTableId>",
  "filters":{"operator":"and","operands":[
    {"operator":"eq","operands":["<处理状态fieldId>","<待分析optionId>"]}
  ]}
}' --output json
```

#### 2. 主题聚合

分析所有「待分析」记录,按以下规则聚合成选题:

- **关键词匹配**:相同关键词标签的内容归为同一选题
- **语义相似**:标题或摘要讨论同一事件/技术的合并
- **跨平台加权**:YouTube + Twitter 同时出现的话题热度更高

#### 3. 热度评分规则

满分 100,计算维度:

| 维度 | 权重 |
|------|------|
| 相关内容数量 | 25% |
| 跨平台覆盖(YouTube+Twitter都有) | 20% |
| 跨博主覆盖(多人提到) | 20% |
| 内容深度(长推文/视频 vs 短推文) | 15% |
| 时效性(越新越高) | 10% |
| 主流媒体报道(通过搜索验证) | 10% |

#### 4. 搜索背景信息

对每个选题用可用的搜索工具(如 Tavily、web search 等)补充背景知识。搜索关键词 + 当前年份,取新闻类结果。

#### 5. 生成选题建议

每条选题包含:

- 🎯 **目标受众** — 这个视频谁会看
- ⏱ **建议时长** — 短视频多长合适
- 📐 **内容结构** — 分几段讲什么(3-5个要点)
- **多个标题参考** — 至少3个不同角度的标题

#### 6. 写入选题分析表

```bash
mcporter call dingtalk-ai-table create_records --args '{
  "baseId":"<baseId>",
  "tableId":"<analysisTableId>",
  "records":[{
    "cells":{
      "<主题fieldId>":"emoji + 主题标题",
      "<热度评分fieldId>":85,
      "<相关内容数fieldId>":3,
      "<来源博主fieldId>":"博主1, 博主2",
      "<主题分类fieldId>":"大模型/AI应用/AI编程/AI硬件/AI政策/AI创业/AI开源/其他",
      "<背景信息fieldId>":"背景描述...",
      "<选题建议fieldId>":"完整建议...",
      "<分析时间fieldId>":"YYYY-MM-DD HH:mm",
      "<状态fieldId>":"待审核"
    }
  }]
}' --output json
```

#### 7. 设置关联

**关键**:关联字段写入必须用 `{"linkedRecordIds":[...]}` 格式,不能直接传数组:

```bash
mcporter call dingtalk-ai-table update_records --args '{
  "baseId":"<baseId>",
  "tableId":"<analysisTableId>",
  "records":[{
    "recordId":"<选题recordId>",
    "cells":{
      "<相关内容fieldId>":{"linkedRecordIds":["<fetchRecordId1>","<fetchRecordId2>"]}
    }
  }]
}' --output json
```

#### 8. 更新 fetch 记录状态

将已关联到选题的 fetch 记录标记为「已分析」。
对不值得做选题的内容(非AI相关、过于轻量)标记为「已忽略」。

## 踩坑记录

详见 `references/gotchas.md`,包含钉钉 API 的坑和 bird/yt-dlp 使用注意事项。

## 主题分类选项

- 大模型(GPT/Claude/Gemini/开源模型等)
- AI应用(自动驾驶/医疗/教育/创意工具等)
- AI编程(Copilot/Codex/代码生成等)
- AI硬件(GPU/芯片/机器人/传感器等)
- AI政策(监管/伦理/安全/就业影响等)
- AI创业(融资/新公司/商业模式等)
- AI开源(开源模型/框架/数据集等)
- 其他

## 聚合策略补充

当同一话题被多条内容覆盖时,将相关内容全部关联到同一选题。选题标题应反映聚合后的更大视角,而非单条内容的标题。

示例:Sam Altman 的 GPT-5.4 推文 + Codex Security 转推 + NVIDIA 算力扩展推文 + Mollick 的算力经济学分析 → 聚合为「OpenAI一周三连发:GPT-5.4 + Codex Security + 算力军备竞赛」

Related Skills

talent-scout

3891
from openclaw/skills

Steal your competitors' best people — scrape LinkedIn, AI-rank candidates, and generate personalized outreach DMs in one command

opportunity-scout

3891
from openclaw/skills

Find profitable business opportunities in any niche by scanning Twitter, web, Reddit, and Product Hunt for unmet needs and pain points. Scores each opportunity on Demand, Competition, Feasibility, and Monetization (1-5 each, max 20). Generates a ranked report with actionable recommendations. Use when asked to find business ideas, market gaps, product opportunities, or "what should I build" questions. Also triggers on: market research, niche analysis, opportunity hunting, trend scouting, competitive analysis for new products.

agentscout

3891
from openclaw/skills

Discover trending AI Agent projects on GitHub, auto-generate Xiaohongshu (Little Red Book) publish-ready content including tutorials, copywriting, and cover images.

aibrary-foryou-topic

3891
from openclaw/skills

[Aibrary] Generate personalized 'For You' book topic recommendations based on the user's profile, interests, career stage, and recent learning activity. Use when the user wants personalized topic suggestions, asks 'what should I learn today', wants a curated feed of book-based topics, or needs inspiration for their next area of exploration. Proactively suggest this when the user seems undecided about what to read or learn next.

blockscout-analysis

3891
from openclaw/skills

MANDATORY — invoke this skill BEFORE making any Blockscout MCP tool calls or writing any blockchain data scripts, even when the Blockscout MCP server is already configured. Provides architectural rules, execution-strategy decisions, MCP REST API conventions for scripts, endpoint reference files, response transformation requirements, and output conventions that are not available from MCP tool descriptions alone. Use when the user asks about on-chain data, blockchain analysis, wallet balances, token transfers, contract interactions, on-chain metrics, wants to use the Blockscout API, or needs to build software that retrieves blockchain data via Blockscout. Covers all EVM chains.

network-hot-topics

3891
from openclaw/skills

获取当前网络热点并汇总为 10 条摘要。从微博、知乎、百度等平台或通过搜索获取实时热搜/热榜, 筛选、去重后输出 10 条热点,每条包含标题与一句话摘要。 Use when: 用户需要今日热点、热搜汇总、热榜简报、网络热点 10 条、多平台热点摘要。 NOT for: 单平台单一话题深挖、历史热点分析、需要原文链接列表的场景请说明。

web-scout

3891
from openclaw/skills

给 AI Agent 一键装上全网采集能力。基于 Agent Reach,支持 Twitter/X、Reddit、YouTube、B站、小红书、抖音、GitHub、LinkedIn、Boss直聘、RSS、全网搜索等平台。一条命令安装,零 API 费用。

outreach-scout

3891
from openclaw/skills

Find and engage warm leads on Reddit, X/Twitter, and forums. Monitors platforms for people asking questions your product solves, drafts helpful replies that naturally mention your offering, and tracks all activity. Use when you need marketing, lead generation, audience building, finding potential customers, or growing product awareness. Works with heartbeats for automated daily scouting.

grant-funding-scout

3891
from openclaw/skills

NIH funding trend analysis to identify high-priority research areas

emerging-topic-scout

3891
from openclaw/skills

Monitor bioRxiv/medRxiv preprints and academic discussions to identify emerging research hotspots before they appear in mainstream journals

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation