agentic-awesome-skills 实战:用 apify-competitor-intelligence 构建跨平台竞品情报工作流
2026/9/21 15:44:54 网站建设 项目流程
  • AI 技能
  • AI 插件

【免费下载链接】agentic-awesome-skills

AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115+ agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.

项目地址:https://gitcode.com/gh_mirrors/an/agentic-awesome-skills
点击查看免费下载

导读

本文以agentic-awesome-skills仓库中的apify-competitor-intelligence技能(Skill)为骨架,系统讲解如何在 Agent 工作流中利用 Apify Actors 采集并分析竞争对手在 Google Maps、Booking.com、Facebook、Instagram、YouTube、TikTok 六大平台上的策略、内容、定价、广告与市场定位。读完本文,你将掌握从 Actor 选型、Schema 动态获取、三种结果导出模式,到错误处理与使用边界的完整实操流程,并能结合仓库源码理解每一步背后的实现原理。

技能定位:一条面向竞品情报的自动化管道

apify-competitor-intelligenceagentic-awesome-skills插件体系中一个风险级别标记为critical、来源为community的社区技能,其官方描述为:

Analyze competitor strategies, content, pricing, ads, and market positioning across Google Maps, Booking.com, Facebook, Instagram, YouTube, and TikTok.

在仓库的目录索引中,该技能被归入automation分类,携带apifycompetitorintelligence等标签,并定义了analyzecontentpricingadsmarketpositioninggooglemapsbooking等触发词,便于 Agent 在对话中自动识别匹配。

从使用时机看,该技能适用于三类典型任务:

  • 需要对内容、评论、定价、广告、受众或渠道表现做竞品对标(benchmark)
  • 任务涉及跨地图、预订、社交、视频平台的 Actor 选择与数据对比;
  • 需要结构化的竞品数据 + 提炼后的战略建议,用于策略与定位决策。

技能本体位于 plugins/agentic-awesome-skills-claude/skills/apify-competitor-intelligence/SKILL.md,配套的驱动脚本位于 reference/scripts/run_actor.js,仓库的plugins/agentic-awesome-skills目录下保留了同构副本,两处均可作为阅读与运行入口。

环境准备

技能文档明确要求三项前置条件(无需提前逐项核查,运行时报错再处理即可):

前置条件说明
.env文件需包含APIFY_TOKEN,用于鉴权调用 Apify API
Node.js 20.6+需要原生--env-file支持,用于安全加载环境变量
mcpcCLI 工具通过npm install -g @apify/mcpc全局安装,用于动态获取 Actor 详情

从源码层面看,run_actor.jsmain()中通过process.env.APIFY_TOKEN读取令牌,若缺失会打印Error: APIFY_TOKEN not found in .env file并直接退出;同时该脚本使用 ESMimport语法与fetchnode:util等现代 Node API,这也是要求 Node.js 20.6+ 的根本原因。

五步工作流总览

技能内置了一份可复制的进度清单,Agent 执行时应逐项勾选:

Task Progress: - [ ] Step 1: Identify competitor analysis type (select Actor) - [ ] Step 2: Fetch Actor schema via mcpc - [ ] Step 3: Ask user preferences (format, filename) - [ ] Step 4: Run the analysis script - [ ] Step 5: Summarize findings

下面逐一展开每个步骤。

Step 1:选择竞品分析类型(Actor 选型)

这是整个流程中最关键的一步:根据用户需求从下表中选择最合适的 Apify Actor。Actor ID 采用作者/名称格式,选型依据按平台分组如下。

地图与本地商家(Google Maps)

用户需求Actor ID最佳用途
竞品商家数据compass/crawler-google-places位置分析
竞品联系方式挖掘poidata/google-maps-email-extractor邮箱提取
功能对标compass/google-maps-extractor详细商家数据
竞品评论分析compass/Google-Maps-Reviews-Scraper评论对比

酒店预订(Booking.com)

用户需求Actor ID最佳用途
酒店竞品数据voyager/booking-scraper酒店对标
酒店评论对比voyager/booking-reviews-scraper评论分析

Facebook 全家桶

用户需求Actor ID最佳用途
竞品广告策略apify/facebook-ads-scraper广告创意分析
竞品主页指标apify/facebook-pages-scraper页面表现
竞品内容分析apify/facebook-posts-scraper帖子策略
竞品 Reels 表现apify/facebook-reels-scraperReels 分析
竞品受众分析apify/facebook-comments-scraper评论情绪
竞品活动监控apify/facebook-events-scraper活动追踪
竞品受众重叠apify/facebook-followers-following-scraper粉丝分析
竞品评论对标apify/facebook-reviews-scraper评论对比
竞品广告监控apify/facebook-search-scraper广告发现

Instagram

用户需求Actor ID最佳用途
竞品主页指标apify/instagram-profile-scraper主页分析
竞品内容监控apify/instagram-post-scraper帖子追踪
竞品互动分析apify/instagram-comment-scraper评论分析
竞品 Reel 表现apify/instagram-reel-scraperReel 指标
竞品增长追踪apify/instagram-followers-count-scraper粉丝追踪
综合竞品数据apify/instagram-scraper全量分析
基于 API 的竞品分析apify/instagram-api-scraperAPI 访问

YouTube 与 TikTok

用户需求Actor ID最佳用途
竞品视频分析streamers/youtube-scraper视频指标
竞品情绪分析streamers/youtube-comments-scraper评论情绪
竞品频道指标streamers/youtube-channel-scraper频道分析
TikTok 竞品分析clockworks/tiktok-scraperTikTok 数据
竞品视频策略clockworks/tiktok-video-scraper视频分析
竞品 TikTok 主页clockworks/tiktok-profile-scraper主页数据

需要说明:Actor 清单是技能内置的静态映射,实际运行时以 Apify 平台上的最新可用性为准;若目标平台不在上表中,可退回 Step 2 用 mcpc 动态检索。

Step 2:动态获取 Actor Schema

选定 Actor 后,通过mcpc调用 Apify MCP 服务端的fetch-actor-details工具,动态拉取该 Actor 的输入 Schema 与详细信息:

export $(grep APIFY_TOKEN .env | xargs) && mcpc --json mcp.apify.com --header "Authorization: Bearer $APIFY_TOKEN" tools-call fetch-actor-details actor:="ACTOR_ID" | jq -r ".content"

ACTOR_ID替换为实际选中的 Actor,例如compass/crawler-google-places。命令拆解:

  • export $(grep APIFY_TOKEN .env | xargs):从.env提取APIFY_TOKEN并导出到当前 shell 环境;
  • mcpc --json mcp.apify.com:以 JSON 模式连接 Apify 的 MCP 端点;
  • --header "Authorization: Bearer $APIFY_TOKEN":携带令牌完成鉴权;
  • tools-call fetch-actor-details actor:="ACTOR_ID":调用工具查询 Actor 详情;
  • jq -r ".content":提取响应中的内容字段,便于阅读。

返回内容通常包含三部分:

  • Actor 的描述与 README;
  • 必填与可选输入参数(input schema);
  • 输出字段(如果可用)。

拿到 Schema 后即可为 Step 4 的--input参数构造正确的 JSON 输入。

Step 3:确认用户偏好

正式运行前,向用户确认两个关键偏好:

  1. 输出格式,三选一:
    • Quick answer:仅在对话中展示前几条结果,不落盘保存文件;
    • CSV:全字段导出为 CSV 文件;
    • JSON:全量数据导出为 JSON 文件。
  2. 结果数量:根据具体用例性质(如关键词数量、目标竞品数、时间范围)确定采集规模。

Step 4:运行分析脚本

技能通过插件内预置的run_actor.js完成「提交运行 → 轮询状态 → 拉取数据集 → 导出/展示」的完整闭环。三种模式命令如下。

Quick answer(对话内展示,不保存文件):

node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \ --actor "ACTOR_ID" \ --input 'JSON_INPUT'

CSV 导出:

node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \ --actor "ACTOR_ID" \ --input 'JSON_INPUT' \ --output YYYY-MM-DD_OUTPUT_FILE.csv \ --format csv

JSON 导出:

node --env-file=.env ${CLAUDE_PLUGIN_ROOT}/reference/scripts/run_actor.js \ --actor "ACTOR_ID" \ --input 'JSON_INPUT' \ --output YYYY-MM-DD_OUTPUT_FILE.json \ --format json

其中${CLAUDE_PLUGIN_ROOT}是插件根目录环境变量,对应仓库中的实际脚本路径为plugins/agentic-awesome-skills-claude/skills/apify-competitor-intelligence/reference/scripts/run_actor.js

源码级解析:run_actor.js 的内部实现

对照 run_actor.js 源码,可以清晰看到整个执行链路:

1. 参数解析(parseCliArgs

脚本基于 Node 内置node:utilparseArgs定义全部 CLI 参数:

参数短名类型默认值说明
--actor-astring必填Actor ID,如compass/crawler-google-places
--input-istring必填Actor 输入的 JSON 字符串
--output-ostring输出文件路径;不传则进入 Quick answer 模式
--format-fstringcsv输出格式:csvjson
--timeout-tstring600最长等待秒数
--poll-intervalstring5状态轮询间隔秒数
--help-hboolean打印帮助信息

其中--timeout--poll-interval是错误处理表中「Timeout」场景的调节手段(见下文)。

2. 启动运行(startActor

  • 先将author/actor形式的 ID 转换为 Apify API 兼容的author~actor格式;
  • https://api.apify.com/v2/acts/{actorId}/runs发起POST,携带令牌与用户输入的 JSON;
  • 请求头中附带User-Agent: apify-agent-skills/apify-competitor-intelligence-1.0.1,用于在 Apify 侧统计技能使用情况;
  • 返回runIddefaultDatasetId,供后续轮询与下载使用。

3. 轮询状态(pollUntilComplete

  • --poll-interval秒(默认 5 秒)请求一次运行状态,仅在状态变化时打印(SUCCEEDED/FAILED/ABORTED/TIMED-OUT为终态);
  • 超过--timeout(默认 600 秒)仍运行中则判定为超时;
  • SUCCEEDED终态会打印Error: Actor run <状态>,并提示前往 Apify console 查看运行详情后以非零码退出。

4. 结果导出(downloadResults/displayQuickAnswer

  • CSV:以首条记录字段为表头;单元格做了两层防护——若值以=+@-等公式注入字符开头,则前置单引号规避 CSV 注入;含逗号、引号或换行的值会正确加引号转义;超过 200 字符的长文本被截断,数组/对象字段序列化为 JSON 字符串。
  • JSON:以JSON.stringify(data, null, 2)格式化写入。
  • Quick answer:仅拉取前 5 条结果在对话中展示,单值超过 100 字符会被截断,并输出数据集总条数。

5. 汇总报告(reportSummary

导出文件后打印记录数与文件大小(字节),其中 CSV 的记录数按「非空行数减表头」统计。

Step 5:汇总发现

运行结束后,向用户汇报以下四项内容:

  • 分析的竞品数量;
  • 结果文件位置与名称;
  • 关键竞争洞察(如定价差异、广告创意方向、评论情绪趋势、渠道表现对比);
  • 建议的下一步动作(更深入的定向分析、跨周期对标等)。

错误处理对照表

技能文档给出了一份明确的错误处理清单,结合源码可确认每条对应的处理位置:

错误信息处理动作源码依据
APIFY_TOKEN not found请用户创建.env并写入APIFY_TOKEN=your_tokenmain()中令牌缺失即报错退出
mcpc not found请用户执行npm install -g @apify/mcpc属 CLI 前置条件
Actor not found检查 Actor ID 拼写startActor对 HTTP 404 的专门分支
Run FAILED请用户查看错误输出中的 Apify console 运行链接SUCCEEDED终态分支
Timeout减小输入规模,或通过--timeout增大等待时间pollUntilComplete的超时判定

使用边界与注意事项

技能的Limitations部分明确了三条边界,使用时务必遵守:

  • 仅在任务与上述范围明确匹配时使用本技能,不要泛化套用;
  • 采集结果不能替代环境专属的验证、测试或专家评审——竞品数据仅作情报参考,落地决策仍需人工把关;
  • 必填输入、权限、安全边界或成功标准缺失时,应停止执行并向用户澄清,而不是擅自猜测。

此外需注意:该技能依赖 Apify 平台鉴权(APIFY_TOKEN)与外部数据源,运行会产生真实的 Actor 执行,涉及成本与第三方平台使用条款,建议在受控环境下按需运行。

结语

apify-competitor-intelligence演示了agentic-awesome-skills中「技能即工作流」的典型形态:一份可勾选的任务清单 + 一次动态 Schema 获取 + 一个可复用的运行脚本,即可覆盖从 Google Maps 本地商家到 TikTok 视频策略的跨平台竞品情报采集。理解其选型表、mcpc用法与run_actor.js的调用链,你便能将该模式迁移到其他 Apify 类技能(如仓库内的apify-brand-reputation-monitoringapify-market-researchapify-lead-generation等同族技能),快速构建自己的数据采集与分析管道。

  • AI 技能
  • AI 插件

【免费下载链接】agentic-awesome-skills

AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,115+ agentic skills. Includes CLI, local MCP, catalog, plugins, and Workbench.

项目地址:https://gitcode.com/gh_mirrors/an/agentic-awesome-skills
点击查看免费下载
上一篇:PathPicker正则表达式瀑布流:理解文件路径匹配的核心算法
下一篇:Corne键盘LED灯效终极指南:从RGB背光到底灯完全配置教程

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询