Automatically monitor competitor pricing pages, detect price changes, and send notifications.
Trigger Conditions
Start this skill when the user says the following:
- "Monitor competitor prices"
- "Check competitor pricing changes"
- "competitor price monitor"
- "Price change alert"
Workflow
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 读取竞品列表 │───▶│ 抓取价格信息 │───▶│ 对比历史数据 │
│ (JSON/CSV) │ │ (WebFetch) │ │ (本地缓存) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
┌───────────────────────┴───────────────────────┐
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ 价格无变化 │ │ 检测到变化 │
│ 更新检查时间 │ │ 生成报告+通知 │
└─────────────────┘ └─────────────────┘
Execution Steps
Step 1: Prepare the competitor list
Check whether the user has provided a list of competitor URLs. If not, create a sample configuration file:
// competitors.json
{
"competitors": [
{
"name": "竞品A",
"pricing_url": "https://example.com/pricing",
"last_pricing": "",
"last_check": ""
}
]
}
Step 2: Scrape price information
For each competitor URL:
- Use WebFetch to retrieve the page content
- Extract price-related information, including:
- Names of each plan
- Monthly/annual pricing
- Key features (top 3)
- Generate a structured price summary
Prompt Template(for analyzing the page):
这是一个定价页面。请简洁地总结所有套餐计划:
对于每个套餐,列出:
1. 套餐名称
2. 月付价格
3. 年付价格(如有)
4. 前3个主要功能
返回格式:
- 套餐名: [名称]
- 月付: $XX
- 年付: $XX/年
- 功能: 功能1, 功能2, 功能3
Step 3: Compare with historical data
Read the locally cached historical price data and compare it with the newly scraped data:
- [NEW]: First scrape, no historical data
- [SIMILAR]: No substantial price change
- [DIFF]: Price change detected
Step 4: Update the cache and notify
- Save the new price data to a local JSON file
- If a change is detected ([DIFF]), generate a change report:
## 竞品价格变动报告
**竞品**: [名称]
**URL**: [链接]
**检测时间**: [时间戳]
### 变动详情
- [具体变动描述]
### 当前价格
[最新价格摘要]
Data Storage
The price history cache is saved at:~/.claude/cache/competitor-prices.json
{
"last_updated": "2025-12-29T10:00:00Z",
"competitors": {
"example.com": {
"name": "竞品A",
"url": "https://example.com/pricing",
"pricing_summary": "...",
"last_check": "2025-12-29T10:00:00Z"
}
}
}
Usage Examples
Example 1: Monitor a single competitor
用户: 帮我监控 https://example.com/pricing 的价格变化
Claude:
1. 访问 example.com/pricing 页面
2. 提取价格信息
3. 与历史记录对比
4. 返回结果报告
Example 2: Batch monitoring
用户: 监控这些竞品的价格:
- https://zapier.com/pricing
- https://make.com/pricing
- https://pipedream.com/pricing
Claude:
1. 依次访问每个定价页面
2. 提取并对比价格
3. 汇总生成报告
Dependencies
- WebFetch: Scrape web page content
- Read/Write: Read and write local cache files
- Bash: Create directories, timestamps, etc.
Limitations
- Some websites may have anti-scraping mechanisms, and WebFetch may not be able to retrieve the full content
- Dynamically loaded prices (requiring JavaScript execution) may not be scraped correctly
- It is recommended to periodically manually verify the accuracy of the scraped results