competitor-product-monitor
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCompetitor 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 statusIf not installed, stop and tell the user:
Install the TinyFish CLI first:Then authenticate:npm install -g @tiny-fish/clitinyfish 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/clitinyfish auth login
必须在两项检查均通过后才能继续操作。
Workflow
工作流程
Step 1 — Ask the user for their product and field
步骤1 — 向用户询问其产品及所属领域
Say:
To get started, please tell me:
- Your industry or field (e.g. "project management SaaS", "electric vehicles", "cloud storage")
- Your product or company name (e.g. "Notion", "Tesla", "Dropbox")
Wait for the user's response before continuing.
请说:
开始之前,请告知我:
- 您所在的行业或领域(例如:“项目管理SaaS”“电动汽车”“云存储”)
- 您的产品或公司名称(例如:“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]:
- Asana — https://asana.com
- Monday.com — https://monday.com
- ClickUp — https://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 over subdomains
https://companyname.com - If the user provides a competitor name without a URL, infer the most likely homepage
根据用户提供的领域和产品,推荐3–5个直接竞品。为每个竞品查找或推断其官方网站的主URL。
将结果整理为清晰的列表,例如:
为**[产品名称]在[领域]**中找到以下竞品:
- Asana — https://asana.com
- Monday.com — https://monday.com
- ClickUp — https://clickup.com
这个列表是否准确?您可以移除不需要的竞品,或添加其他竞品(如有可能请提供其网站URL)。
等待用户确认或修改列表后再继续。
查找竞品URL的提示:
- 使用公司的官方主页,而非博客或新闻页面
- 优先选择这类格式的URL,而非子域名
https://companyname.com - 如果用户只提供了竞品名称而未提供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 field from each event in the TinyFish output.
resultJsonCOMPLETE针对每个已确认的竞品,单独运行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输出的每个事件中提取字段。
COMPLETEresultJsonStep 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 rather than omitting it.
"Not found"每个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
故障处理
| Problem | Action |
|---|---|
| TinyFish returns no result | Retry with a more specific URL (e.g. append |
| Page is bot-protected | Note it in the report as "Could not fetch — site may require login" |
| Release date missing | Use |
| Company has no public changelog | Search their blog or press page instead |
| 问题 | 处理方式 |
|---|---|
| TinyFish未返回结果 | 使用更具体的URL重试(例如:追加 |
| 页面存在机器人防护 | 在报告中注明“无法获取数据 — 该网站可能需要登录” |
| 发布日期缺失 | 使用 |
| 公司无公开更新日志 | 改为搜索其博客或新闻页面 |
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-06Asana 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-06Asana 发布内容: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 flag so results are fully returned before generating the report.
--sync - 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 - 如果有发布日期,报告应按发布日期从新到旧的顺序排列竞品。
- 如果用户在流程中途添加竞品,仅获取该新竞品的信息并追加到现有报告中。