media-analyze

SKILL.md

媒体分析技能

用户输入话题,自动搜索多个媒体平台,整合数据生成结构化分析报告。

触发场景

  • "分析一下XXX话题的媒体报道"
  • "帮我做个XXX话题调研"
  • "生成XXX事件的媒体报告"
  • "搜索XXX事件的媒体报道"

执行流程(必须严格遵守)

Step 1: 检查 Tavily API Key

检查环境变量 TAVILY_API_KEY:
  - 如果已配置 → 调用 Tavily Search API
  - 如果未配置 → 直接跳到 Step 2

Tavily 调用:
  POST https://api.tavily.com/search
  Headers:
    Authorization: Bearer {TAVILY_API_KEY}
    Content-Type: application/json
  Body:
    {
      "query": "{话题}",
      "max_results": 10,
      "search_depth": "advanced"
    }

评估结果:
  - 至少5条有实质内容的结果 → 跳到 Step 3
  - 结果不足或用户指定多平台 → 执行 Step 2

Step 2: 启动子Agent补充搜索

触发条件

  • Tavily 未配置或结果不足
  • 用户明确要求多平台搜索
  • 用户指定特定平台(如"搜一下微博")

使用 sessions_spawn 并行启动子Agent

子Agent 平台 获取内容
toutiao-search 今日头条 百科、新闻、视频
weixin-search 微信公众号 文章列表、全文
bing-search Bing CN 知乎文章、新闻
weibo-search 微博 微博内容、互动数据

Step 3: 等待子Agent完成

使用 subagents action=list 检查状态,等待所有子Agent完成。

Step 4: 汇总生成报告

收集所有结果,生成结构化分析报告。


子Agent任务模板

今日头条搜索 Agent

任务:搜索今日头条获取话题【{话题}】相关内容

执行步骤:
1. 访问 https://so.toutiao.com/search?keyword={话题}
2. 提取:
   - 百科词条内容(如有)
   - 新闻标题、来源、时间、摘要
   - 视频标题、播放量
3. 选择2-3篇代表性文章获取全文
4. 返回JSON格式结果

返回格式:
{
  "platform": "今日头条",
  "baike": {"title": "...", "content": "..."},
  "news": [{"title": "...", "source": "...", "summary": "..."}],
  "videos": [{"title": "...", "views": "..."}]
}

微信公众号搜索 Agent

任务:搜索微信公众号获取话题【{话题}】相关文章

执行步骤:
1. 访问 https://wx.sogou.com/weixin?type=2&query={话题}
2. 提取文章列表(标题、公众号、摘要)
3. 选择2-3篇代表性文章获取全文
4. 返回JSON格式结果

返回格式:
{
  "platform": "微信公众号",
  "articles": [{"title": "...", "account": "...", "content": "..."}]
}

Bing CN 搜索 Agent

任务:搜索Bing CN获取话题【{话题}】相关内容

执行步骤:
1. 访问 https://cn.bing.com/search?q={话题}
2. 提取搜索结果列表
3. 重点获取知乎文章全文
4. 返回JSON格式结果

返回格式:
{
  "platform": "Bing CN",
  "results": [{"title": "...", "url": "...", "summary": "..."}],
  "zhihu_articles": [{"title": "...", "content": "..."}]
}

微博搜索 Agent

任务:搜索微博获取话题【{话题}】相关讨论

执行步骤:
1. 获取访客Cookie:
   访问 https://m.weibo.cn/visitor/genvisitor2
   从响应中提取 SUB 和 SUBP Cookie

2. 使用Cookie访问搜索API:
   GET https://m.weibo.cn/api/container/getIndex?containerid=100103type=1&q={话题}
   Headers:
     Cookie: SUB=xxx; SUBP=xxx
     User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X)

3. 提取微博内容:
   - 微博正文
   - 用户名
   - 转发/评论/点赞数
   - 发布时间

4. 返回JSON格式结果

返回格式:
{
  "platform": "微博",
  "posts": [
    {
      "user": "用户名",
      "content": "微博正文",
      "reposts": 转发数,
      "comments": 评论数,
      "likes": 点赞数,
      "time": "发布时间"
    }
  ]
}

注意:
- 如果被重定向到登录页,说明Cookie失效,需重新获取
- card_type=9 通常为正文内容

报告结构

生成的报告必须包含:

  1. 事件概述 - 名称、时间、地点、当事人、性质
  2. 完整时间线 - 按时间顺序列出关键事件
  3. 各平台热度分析 - 平台数据对比
  4. 舆论焦点 - 主要讨论话题、不同观点
  5. 媒体报道分析 - 主流媒体和自媒体观点
  6. 结论与洞察 - 司法结论、社会影响、经验教训

子Agent启动示例

// 并行启动多个子Agent
sessions_spawn({
  task: "搜索今日头条获取【武汉大学图书馆事件】相关内容...",
  mode: "run",
  label: "toutiao-search"
})

sessions_spawn({
  task: "搜索微信公众号获取【武汉大学图书馆事件】相关文章...",
  mode: "run",
  label: "weixin-search"
})

sessions_spawn({
  task: "搜索微博获取【武汉大学图书馆事件】相关讨论。先访问 https://m.weibo.cn/visitor/genvisitor2 获取Cookie,然后用Cookie访问搜索API...",
  mode: "run",
  label: "weibo-search"
})

配置说明

Tavily API Key(可选但推荐)

# 方式1:环境变量
export TAVILY_API_KEY="tvly-xxx"

# 方式2:OpenClaw配置
# 在 ~/.claude/settings.json 中:
{
  "env": {
    "TAVILY_API_KEY": "tvly-xxx"
  }
}

获取API Key:访问 https://tavily.com 注册,免费额度1000次/月


注意事项

  • 必须深入获取内容:不能只停留在标题,要获取文章全文
  • 必须使用子Agent:当Tavily不可用时,必须启动子Agent
  • 数据来源标注:每个信息点标注来源
  • 观点平衡:呈现多方观点
  • 微博Cookie:需要先获取访客Cookie才能搜索
Weekly Installs
1
First Seen
2 days ago
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1