mcpField
R
reddit-url-mentions

reddit-url-mentions

github.com/finpeakinc营销与增长236 次安装3 天前更新
代码仓库

关于 reddit-url-mentions

reddit-url-mentions 是通过 Frevana 查询最多 10 个 URL 在 Reddit 上提及情况的技能。它会验证并返回 JSON 结果,也支持将结果保存到文件。

主要功能

  1. 01查询最多 10 个 URL 的 Reddit 提及
  2. 02验证并返回 JSON 结果
  3. 03将结果保存到文件
  4. 04接受可选任务标签

适用场景

  1. 01检查活动 URL 是否出现在 Reddit
  2. 02比较多个 URL 的 Reddit 提及情况
  3. 03保存提及结果以供后续查看

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/finpeakinc/frevana-skills --skill reddit-url-mentions

安装后在 Claude Code 中输入/reddit-url-mentions确认已加载。

附带文件evals/evals.jsonscripts/search_reddit_mentions.sh

详细介绍

Reddit URL 提及

通过 Frevana 检查特定 URL 是否出现在 Reddit 帖子中。

用途

此技能用于查询一个或多个 URL 在 Reddit 上的提及情况。

输入:

  • targets(必需)——绝对 URL 数组(最多 10 个)
  • tag(可选)——用户定义的任务标识符,由 Frevana 返回(最多 255 个字符)

输出:

  • 按 URL 返回 Reddit 提及结果的经过验证的响应 JSON

此技能会验证响应是否为 JSON,并原样返回。除非用户明确要求转换,否则不要改写或重塑返回的数据。

此技能所需内容

  • 用户提供的 targets(URL 数组,最多 10 个)
  • 可选的 tag
  • 环境变量中的 FREVANA_TOKEN,或本次运行时显式传入的 --token 覆盖值
  • curl
  • bash
  • python3

执行顺序

按以下流程操作,让请求保持简单可靠:

  1. 确认用户至少提供了一个目标 URL。
  2. 验证目标——最多 10 个 URL,且每个都必须是绝对 URL(包含 http:// 或 https://)。
  3. 优先使用脚本,而不是临时编写 curl 命令。
  4. 让脚本优先读取 FREVANA_TOKEN。
  5. 在交互式 shell 中使用时,如果缺少 FREVANA_TOKEN,脚本可以提示用户输入。
  6. 在非交互式或 Agent 工作流中,如果缺少令牌,应立即失败,并告知用户设置 FREVANA_TOKEN 或显式传入 --token。
  7. 返回经过验证的响应 JSON;如果用户不需要完整内容,则总结其实际关心的字段。
  8. 适用时,也将 JSON 保存到文件。

命令

按目标 URL 基本查询
bash <skill-path>/scripts/search_reddit_mentions.sh \
  --targets "https://example.com,https://example.org"
添加 tag
bash <skill-path>/scripts/search_reddit_mentions.sh \
  --targets "https://example.com" \
  --tag "my-campaign-001"
将输出保存到文件
bash <skill-path>/scripts/search_reddit_mentions.sh \
  --targets "https://example.com,https://example.org" \
  --tag "my-campaign-001" \
  --output ./out/reddit-mentions-result.json
覆盖本次运行的令牌
bash <skill-path>/scripts/search_reddit_mentions.sh \
  --targets "https://example.com" \
  --token "your bearer token"

固定请求格式

脚本会发送以下格式的载荷:

{
  "targets": ["https://example.com", "https://example.org"],
  "tag": "my-campaign-001"
}

响应格式

API 返回的 JSON 顶层结构如下:

{
  "version": "0.1.20210713",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.9068 sec.",
  "cost": 0.00024,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "uuid",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.8277 sec.",
      "cost": 0.00024,
      "result_count": 6,
      "data": { "...": "..." },
      "result": [
        {
          "type": "social_media_reddit_item",
          "page_url": "https://example.com",
          "reddit_reviews": [
            {
              "subreddit": "subreddit_name",
              "author_name": "author_nickname",
              "title": "Post title",
              "permalink": "/r/subreddit/comments/...",
              "subreddit_members": 2350423
            }
          ]
        }
      ]
    }
  ]
}

当某个 URL 没有 Reddit 提及时,reddit_reviews 为 null。

此技能会验证响应是否为 JSON,并原样返回。

输出

  • 成功:脚本验证响应正文为 JSON,并将其打印到标准输出
  • 使用 --output 时:同一份 JSON 也会写入指定的文件路径
  • 失败:脚本打印响应正文或解析错误,并以非零状态码退出

备注

  • 必须通过 --targets 至少提供一个目标 URL
  • 目标必须以单个字符串参数传入,并用逗号分隔(例如 --targets "https://a.com,https://b.com")
  • 每个 URL 都必须是包含 http:// 或 https:// 的绝对 URL
  • 每次请求最多 10 个目标
  • 如果缺少 curl,请停止并告知用户安装 curl
  • 如果缺少 python3,请停止并告知用户安装 python3
  • 不要向用户回显 Bearer 令牌
  • 如果 reddit_reviews 为 null,表示该 URL 在 Reddit 上没有提及
  • 除非用户要求完整载荷,否则应总结关键发现,而不是直接输出原始 JSON

示例提示词

中文
English

评论

支持 Markdown