技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
amazon-category-research【数据与研究】对任何亚马逊畅销榜类目进行全面的深度研究。当用户提供类目URL时使用此skill,包括研究亚马逊产品类目、分析亚马逊畅销榜、 调查亚马逊细分市场、为亚马逊销售进行市场调研,或提供亚马逊畅销榜/gp/bestsellers URL。也可在以下请求时触发: "调研这个亚马逊品类"、"分析这个Amazon类目"、"深度调研Amazon Best Sellers"、"分析亚马逊畅销榜"、 "Amazon品类机会分析",或任何研究/分析/调查亚马逊类目或畅销榜的请求。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
任何亚马逊畅销榜类目的端到端自主研究工作流。用户提供类目URL;skill收集数据、运行并行分析,并生成全面的中文报告包。
{project_root}/reports/{category-slug}/(例如 reports/toys-and-games/、reports/building-toys/)。
在每次运行开始时创建子目录。skill分三个阶段运行:数据收集、并行分析、报告综合。使用TaskCreate/TaskUpdate追踪进度。
重要:所有文件输出(JSON数据、分析报告、综合报告)必须进入 reports/ 下的类目特定子文件夹。从类目名称中提取人类可读的slug(例如 "Building & Construction Toys" → building-toys,"Toys & Games" → toys-and-games)。在保存任何文件之前创建目录。
从用户消息中提取:
https://www.amazon.com/gp/bestsellers/toys-and-games/使用 mcp__playwright__browser_navigate 导航到类目URL。等待页面完全加载。
使用 mcp__playwright__browser_evaluate 运行此提取脚本:
() => {
const lines = document.body.innerText.split('\n');
const products = [];
let current = null;
for (let i = 0; i < lines.length; i++) {
const match = lines[i].match(/^#(\d+)$/);
if (match) {
if (current && current.title) products.push(current);
current = { rank: parseInt(match[1]) };
} else if (current) {
if (lines[i].includes('out of 5 stars')) current.stars = lines[i].trim();
else if (lines[i].includes('offers from') || lines[i].match(/^\$[\d,.]+$/)) current.price = lines[i].trim();
else if (lines[i].match(/^[\d,]+$/) && current.stars) current.reviews = lines[i].trim();
else if (lines[i].trim().length > 15 &&
!lines[i].includes('Movers') && !lines[i].includes('New Releases') &&
!current.title) {
current.title = lines[i].trim();
}
}
}
if (current && current.title) products.push(current);
const nrIdx = products.findIndex(p => p.title && (p.title.includes('New Releases') || p.title.includes('Movers')));
const result = nrIdx > 0 ? products.slice(0, nrIdx) : products.filter(p => p.title && p.title.length > 10);
return result.slice(0, 30);
}
将结果保存到 reports/{category-slug}/{category-slug}_top30.json(使用人类可读的slug如 building-toys)。
在同一页面上,使用 mcp__playwright__browser_evaluate 查找子类目导航链接:
() => {
const allLists = document.querySelectorAll('ul, ol');
const subcats = [];
allLists.forEach(list => {
const items = list.querySelectorAll('li');
const firstText = items[0]?.textContent?.trim() || '';
if (firstText.includes('Action & Toy Figures') || firstText.includes('Arts & Crafts') || firstText.includes('Baby & Toddler') || firstText.includes('Building')) {
list.querySelectorAll('a').forEach(a => {
subcats.push({ name: a.textContent.trim(), url: a.href });
});
}
});
return subcats;
}
这会从左侧边栏返回完整的子类目链接列表。如果失败(返回空),尝试替代选择器:a[href*="/zgbs/"],或从"任何部门"下拉菜单文本提取。
如果用户指定了子类目,按名称匹配。否则,使用以下逻辑自动选择 5个子类目:
对于每个选定的子类目:
mcp__playwright__browser_navigate 导航到其URL.slice(0, 20) 而不是30)reports/{category-slug}/{subcategory_slug}_top20.json按顺序执行(Playwright使用单个浏览器标签)。最多定位5个子类目。
所有抓取完成后运行 mcp__playwright__browser_close。
使用 run_in_background: true 和 subagent_type: "general-purpose" 同时启动 4个分析代理。
每个代理接收完整的原始数据并将报告写入 reports/。
文件:reports/{category-slug}/{category-slug}_niche_analysis.md
提示代理分析:
文件:reports/{category-slug}/{category-slug}_competitor_analysis.md
提示代理分析:
文件:reports/{category-slug}/{category-slug}_keyword_analysis.md
提示代理分析:
文件:reports/{category-slug}/{category-slug}_profit_analysis.md
提示代理分析:
重要:将实际抓取的数据(不是摘要)传递给每个代理。包含所有产品标题、价格、评分和评论数。代理需要真实数据才能产生有意义的分析。
等待所有4个代理完成(你将收到任务通知)。然后启动一个最终综合代理
(subagent_type: "general-purpose",这次是前台运行,因为我们需要结果)来生成综合报告。
文件:reports/{category-slug}/{category-slug}_comprehensive_report.md
综合代理应:
reports/ 读取所有4份分析报告# 亚马逊美国站 {Category Name} 品类综合研究报告
## 目录
1. 执行摘要
2. 品类全景概览
3. 子品类深度分析 (Deep dive per subcategory)
4. 市场机会矩阵
5. 新卖家入场策略
6. 运营落地指南
7. 财务模型
8. 风险管控
9. 行动路线图
必须包含的关键部分:
所有阶段完成后,向用户呈现:
mcp__web_reader__webReader 作为备选browser_snapshot 检查页面结构并调整选择器