competitor-product-monitor

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Competitor Product Monitor

竞品产品监控

This skill walks the agent through a structured workflow to identify competitors, fetch their latest product release information using the TinyFish web agent, and generate a clean report for the user.

本Skill引导Agent完成一套结构化流程,用于识别竞品、借助TinyFish web agent获取竞品最新产品发布信息,并为用户生成简洁清晰的报告。

Pre-flight: TinyFish Check (REQUIRED)

前置检查:TinyFish可用性检查(必填)

Before doing anything, verify TinyFish is available:
bash
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"
tinyfish auth status
If not installed, stop and tell the user:
Install the TinyFish CLI first:
npm install -g @tiny-fish/cli
Then authenticate:
tinyfish auth login
Do NOT proceed until both checks pass.

开始操作前,请先验证TinyFish是否可用:
bash
which tinyfish && tinyfish --version || echo "TINYFISH_CLI_NOT_INSTALLED"
tinyfish auth status
如果未安装,请停止操作并告知用户:
请先安装TinyFish CLI:
npm install -g @tiny-fish/cli
然后进行身份验证:
tinyfish auth login
必须在两项检查均通过后才能继续操作。

Workflow

工作流程

Step 1 — Ask the user for their product and field

步骤1 — 向用户询问其产品及所属领域

Say:
To get started, please tell me:
  1. Your industry or field (e.g. "project management SaaS", "electric vehicles", "cloud storage")
  2. Your product or company name (e.g. "Notion", "Tesla", "Dropbox")
Wait for the user's response before continuing.

请说:
开始之前,请告知我:
  1. 您所在的行业或领域(例如:“项目管理SaaS”“电动汽车”“云存储”)
  2. 您的产品或公司名称(例如:“Notion”“Tesla”“Dropbox”)
等待用户回复后再继续。

Step 2 — Identify competitors

步骤2 — 识别竞品

Based on the user's field and product, suggest 3–5 direct competitors. For each competitor, find or infer their primary website URL.
Present them in a clear list, like:
Here are the competitors I found for [product] in [field]:
  1. Asanahttps://asana.com
  2. Monday.comhttps://monday.com
  3. ClickUphttps://clickup.com
Does this look right? Feel free to remove any, or add others (with their website URLs if possible).
Wait for the user to confirm or modify the list before proceeding.
Tips for finding competitor URLs:
  • Use the company's official homepage, not a blog or news page
  • Prefer URLs like
    https://companyname.com
    over subdomains
  • If the user provides a competitor name without a URL, infer the most likely homepage

根据用户提供的领域和产品,推荐3–5个直接竞品。为每个竞品查找或推断其官方网站的主URL。
将结果整理为清晰的列表,例如:
为**[产品名称][领域]**中找到以下竞品:
  1. Asanahttps://asana.com
  2. Monday.comhttps://monday.com
  3. ClickUphttps://clickup.com
这个列表是否准确?您可以移除不需要的竞品,或添加其他竞品(如有可能请提供其网站URL)。
等待用户确认或修改列表后再继续。
查找竞品URL的提示:
  • 使用公司的官方主页,而非博客或新闻页面
  • 优先选择
    https://companyname.com
    这类格式的URL,而非子域名
  • 如果用户只提供了竞品名称而未提供URL,请推断最可能的主页地址

Step 3 — Fetch product release information with TinyFish

步骤3 — 借助TinyFish获取产品发布信息

For each confirmed competitor, run a separate TinyFish command. Run them in parallel for speed.
Use this command pattern for each competitor:
bash
tinyfish agent run --sync --url "<competitor_url>" \
  "Find the latest product release, new feature announcement, or product update on this website. Look at the blog, changelog, newsroom, or press release pages. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"
Good pages to target (append to the base URL if needed):
  • /blog
  • /changelog
  • /news
  • /newsroom
  • /releases
  • /whats-new
If the base URL does not surface release info, retry with one of the above paths appended.
Parallel execution example (run all at once):
bash
tinyfish agent run --sync --url "https://asana.com/product" \
  "Find the latest product release or feature announcement. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"

tinyfish agent run --sync --url "https://monday.com/blog" \
  "Find the latest product release or feature announcement. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"

tinyfish agent run --sync --url "https://clickup.com/blog" \
  "Find the latest product release or feature announcement. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"
Collect the
resultJson
field from each
COMPLETE
event in the TinyFish output.

针对每个已确认的竞品,单独运行TinyFish命令。为提升速度,可并行运行这些命令。
每个竞品使用如下命令模板:
bash
tinyfish agent run --sync --url "<competitor_url>" \
  "Find the latest product release, new feature announcement, or product update on this website. Look at the blog, changelog, newsroom, or press release pages. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"
重点目标页面(可在基础URL后追加):
  • /blog
  • /changelog
  • /news
  • /newsroom
  • /releases
  • /whats-new
如果基础URL未展示发布信息,可尝试追加上述路径后重试。
并行执行示例(同时运行所有命令):
bash
tinyfish agent run --sync --url "https://asana.com/product" \
  "Find the latest product release or feature announcement. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"

tinyfish agent run --sync --url "https://monday.com/blog" \
  "Find the latest product release or feature announcement. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"

tinyfish agent run --sync --url "https://clickup.com/blog" \
  "Find the latest product release or feature announcement. Return JSON: {\"company\": str, \"latest_release\": str, \"release_date\": str, \"description\": str, \"source_url\": str}"
从TinyFish输出的每个
COMPLETE
事件中提取
resultJson
字段。

Step 4 — Generate the competitor release report

步骤4 — 生成竞品发布报告

Once all TinyFish results are collected, compile and present the report to the user in this format:

Competitor Product Release Report Field: [field] | Your product: [product] | Generated: [date]

[Company Name] Release: [latest_release] Date: [release_date] [description] Source: [source_url]

[Company Name] ...

After the report, ask the user:
Would you like to monitor these competitors periodically for new releases? If yes, let me know how often (e.g. weekly, daily) and how you'd like to be notified (e.g. email, Slack).

收集所有TinyFish结果后,按照以下格式整理并向用户展示报告:

竞品产品发布报告 领域:[领域] | 您的产品:[产品名称] | 生成日期:[日期]

[公司名称] 发布内容:[latest_release] 发布日期:[release_date] [description] 来源:[source_url]

[公司名称] ...

报告展示完成后,询问用户:
您是否希望定期监控这些竞品的新发布信息?如果是,请告知监控频率(例如:每周、每日)以及通知方式(例如:邮件、Slack)。

Output JSON Schema

输出JSON Schema

Each TinyFish result should conform to:
json
{
  "company": "string — competitor company name",
  "latest_release": "string — name or title of the release/announcement",
  "release_date": "string — date as found on the page, or 'Unknown'",
  "description": "string — 1-3 sentence summary of what was released",
  "source_url": "string — direct URL to the announcement or changelog page"
}
If a field cannot be found, set it to
"Not found"
rather than omitting it.

每个TinyFish结果应符合以下格式:
json
{
  "company": "string — competitor company name",
  "latest_release": "string — name or title of the release/announcement",
  "release_date": "string — date as found on the page, or 'Unknown'",
  "description": "string — 1-3 sentence summary of what was released",
  "source_url": "string — direct URL to the announcement or changelog page"
}
如果某个字段无法找到,请设置为
"Not found"
,不要省略该字段。

Handling Failures

故障处理

ProblemAction
TinyFish returns no resultRetry with a more specific URL (e.g. append
/changelog
or
/blog
)
Page is bot-protectedNote it in the report as "Could not fetch — site may require login"
Release date missingUse
"Date not found"
and still include the release info
Company has no public changelogSearch their blog or press page instead

问题处理方式
TinyFish未返回结果使用更具体的URL重试(例如:追加
/changelog
/blog
页面存在机器人防护在报告中注明“无法获取数据 — 该网站可能需要登录”
发布日期缺失使用
"Date not found"
,仍保留发布信息
公司无公开更新日志改为搜索其博客或新闻页面

Example Full Run

完整运行示例

User: I work in the task management space. My product is Todoist.
Agent finds competitors: Asana, Notion, TickTick, Any.do, Microsoft To Do
Agent runs (in parallel):
bash
tinyfish agent run --sync --url "https://asana.com/product" "..."
tinyfish agent run --sync --url "https://notion.so/blog" "..."
tinyfish agent run --sync --url "https://ticktick.com/blog" "..."
tinyfish agent run --sync --url "https://any.do/blog" "..."
tinyfish agent run --sync --url "https://todo.microsoft.com" "..."
Agent presents:
Competitor Product Release Report Field: task management | Your product: Todoist | Generated: 2026-04-06
Asana Release: Asana AI Studio — custom workflow automation Date: March 2026 Asana launched AI Studio, allowing teams to build no-code AI workflows... Source: https://asana.com/product/ai-studio
...

用户: 我从事任务管理领域,我的产品是Todoist。
Agent找到的竞品: Asana、Notion、TickTick、Any.do、Microsoft To Do
Agent并行运行命令:
bash
tinyfish agent run --sync --url "https://asana.com/product" "..."
tinyfish agent run --sync --url "https://notion.so/blog" "..."
tinyfish agent run --sync --url "https://ticktick.com/blog" "..."
tinyfish agent run --sync --url "https://any.do/blog" "..."
tinyfish agent run --sync --url "https://todo.microsoft.com" "..."
Agent展示报告:
竞品产品发布报告 领域:任务管理 | 您的产品:Todoist | 生成日期:2026-04-06
Asana 发布内容:Asana AI Studio — 自定义工作流自动化 日期:2026年3月 Asana推出了AI Studio,允许团队搭建无代码AI工作流... 来源:https://asana.com/product/ai-studio
...

Notes

注意事项

  • Always run one TinyFish command per competitor — do not combine multiple sites into one goal.
  • Use
    --sync
    flag so results are fully returned before generating the report.
  • The report should list competitors in order of most recent release date first, if dates are available.
  • If the user adds a competitor mid-workflow, fetch only that new competitor and append to the existing report.
  • 每个竞品单独运行一个TinyFish命令 — 不要将多个网站合并到同一个任务中。
  • 使用
    --sync
    标志,确保结果完全返回后再生成报告。
  • 如果有发布日期,报告应按发布日期从新到旧的顺序排列竞品。
  • 如果用户在流程中途添加竞品,仅获取该新竞品的信息并追加到现有报告中。