category-selection

亚马逊品类自动化选品分析技能。通过五维评分模型对亚马逊品类进行深度市场调研,生成Markdown分析报告。当用户使用 /category-selection 命令或提出'分析XX品类'、'XX品类市场调研'、'XX品类选品'等需求时触发此技能。支持配置分析数量,默认Top20。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "category-selection" with this command: npx skills add ChanaLii/category-selection

快速参考

一键执行工作流 (推荐)

# 使用品类名称
python .claude/skills/category-selection/scripts/workflow.py "Sofas" US 20

# 直接使用 NodeID (推荐,避免类目搜索问题)
python .claude/skills/category-selection/scripts/workflow.py 679394011 US 20

# 指定分析数量
python .claude/skills/category-selection/scripts/workflow.py "Kitchen" US 50

重要更新 (v4.0):

  • 自动读取 API Key: 无需设置环境变量,自动从 .mcp.json 读取
  • 修复控制字符: 自动处理 JSON 字符串值中的未转义换行符、制表符
  • 改进类目搜索: 支持模糊匹配和关键词变体
  • 详细日志: 执行日志保存到 execution.log

核心 API 工具

步骤工具/操作用途返回数据大小
1. 搜索类目category_name_search获取类目 nodeId
2. 类目报告category_report获取 Top 产品列表和统计数据大 (>25KB)
3. 产品详情product_detail获取单个产品详情
4. 类目关键词category_keywords获取类目核心关键词大 (>25KB)
5. 类目趋势category_trend获取25个月历史趋势
6. 1688采购products_1688获取采购成本数据

调用格式

curl -s -X POST "https://mcp.sorftime.com?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":N,"method":"tools/call","params":{"name":"TOOL_NAME","arguments":{"amzSite":"US","nodeId":"NODE_ID"}}}'

触发条件

当用户使用以下方式请求时,启动此分析流程:

  • 命令: /category-selection {品类名称} {站点} [--limit N]
  • 示例: /category-selection "Sofas" US --limit 20
  • 自然语言: "分析Amazon美国站的Sofas品类"、"Sofas品类市场调研"、"Sofas品类选品"

角色设定

你是一位拥有10年经验的"亚马逊选品专家"和"市场分析师"。你精通品类分析方法论,能够通过数据洞察市场机会、竞争格局和进入壁垒,为用户提供可执行的选品建议。


五维评分模型 (标准版)

评分标准详解:

维度分值评分标准数据来源
市场规模20 分>$10M=20分, >$5M=17分, >$1M=14分, 其他=10分类目月销额 (top100产品月销额)
增长潜力25 分低评论产品占比>40%=22分, >20%=18分, 其他=14分评论数<100的产品占比
竞争烈度20 分Top3品牌占比<30%=18分, <50%=14分, 其他=8分CR3 品牌集中度
进入壁垒20 分Amazon占比<20%且新品>40%=20分, 其他组合6-18分Amazon自营占比 + 低评论占比
利润空间15 分均价>$300=12分, >$150=10分, >$50=7分, 其他=4分Top100产品平均价格

评级标准:

总分评级建议
80-100优秀强烈推荐进入
70-79良好可以考虑进入
50-69一般谨慎进入
0-49较差不建议进入

完整标准请参考: scoring-standard.md


完整分析流程

阶段一: 数据收集

步骤 1: 搜索类目获取 nodeId

curl -s -X POST "https://mcp.sorftime.com?key={API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"category_name_search","arguments":{"amzSite":"US","searchName":"品类关键词"}}}'

处理多个类目结果时

  • 大类目(如 "Clothing, Shoes & Jewelry")通常只返回子类目列表
  • 展示给用户让其选择最匹配的类目
  • 或使用具体的子类目 NodeID 直接查询

常见类目 NodeID 参考:

Traditional Laptop Computers: 13896615011
2 in 1 Laptop Computers: 13896609011
Women's Fashion Sneakers: 679394011
Women's Road Running Shoes: 14210388011
Men's Fashion Sneakers: 679312011
Kitchen Storage Accessories: 3744031

步骤 2: 获取类目报告 (Top100 + 统计)

curl -s -X POST "https://mcp.sorftime.com?key={API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"category_report","arguments":{"amzSite":"US","nodeId":"NODE_ID"}}}'

关键: category_report 返回数据通常>25KB,会保存到临时文件

响应处理:

# 使用 workflow.py 自动处理 (推荐)
python .claude/skills/category-selection/scripts/workflow.py "Sofas" US 20

# 或手动解码 SSE 响应
python .claude/skills/category-selection/scripts/sse_decoder.py {temp_file} {output_dir} 20

步骤 3: 获取 Top N 产品详情 (并发)

# 并发获取 Top3 产品详情
curl ... '{"id":3,"method":"tools/call","params":{"name":"product_detail","arguments":{"amzSite":"US","asin":"ASIN1"}}}' &
curl ... '{"id":4,"method":"tools/call","params":{"name":"product_detail","arguments":{"amzSite":"US","asin":"ASIN2"}}}' &
curl ... '{"id":5,"method":"tools/call","params":{"name":"product_detail","arguments":{"amzSite":"US","asin":"ASIN3"}}}' &
wait

步骤 4: 获取类目关键词 (可选)

curl -s -X POST "https://mcp.sorftime.com?key={API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"category_keywords","arguments":{"amzSite":"US","nodeId":"NODE_ID","page":1}}}'

处理关键词数据:

python .claude/skills/category-selection/scripts/keywords_parser.py \
  {temp_file} \
  {output_dir} \
  20

步骤 5: 获取历史趋势数据 (可选)

curl -s -X POST "https://mcp.sorftime.com?key={API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{"name":"category_trend","arguments":{"amzSite":"US","nodeId":"NODE_ID"}}}'

趋势数据类型:

  • 类目月销量趋势 (25个月)
  • 平均售价趋势
  • 平均星级趋势
  • 品牌数量趋势

阶段二: 数据分析

核心分析指标

1. 市场集中度分析

# HHI 指数 (赫芬达尔-赫希曼指数)
# 计算: 各品牌市场份额平方和 × 10000
# 解读: <1500=低集中度, 1500-2500=中等, >2500=高集中度

# CR3/CR5 (前N品牌集中度)
# 计算: 前N大品牌销量占比
# 解读: <30%=分散, 30-50%=中等, >50%=集中

2. 品牌分析

# 品牌分布: 按销量/销额排序
# 品牌数量: 统计独立品牌数
# 品牌多样性: HHI 指数评估

3. 卖家来源分析

# Amazon 自营占比
# 中国卖家占比
# 美国本土卖家占比
# 其他国际卖家占比

4. 价格分析

# 价格区间分布
# 平均价格
# 价格中位数
# 价格标准差

5. 新品分析

# 新产品定义: 上架时间 < 90天
# 新品占比: 新品数量 / 总数量
# 新品表现: 新品平均销量、评论数

阶段三: 报告生成

生成完整报告

# 一键生成所有报告格式
python .claude/skills/category-selection/scripts/workflow.py "Sofas" US 20

# 或分步骤生成
python .claude/skills/category-selection/scripts/generate_reports.py {data_json}

输出文件结构:

category-reports/
└── {Category}_{Site}_{YYYYMMDD}/
    ├── report.md                      # Markdown 分析报告
    ├── data.json                      # 完整解码数据 (中文键)
    ├── top_products.json              # Top N 产品列表
    ├── scores.json                    # 五维评分结果
    ├── execution.log                  # 执行日志 (v4.0 新增)
    ├── keywords.json                  # 类目关键词
    ├── trend_data.json                # 25个月趋势数据
    ├── adapted_data.json              # Excel 适配数据 (英文键)
    ├── category_analysis_report.xlsx  # Excel 报告
    ├── dashboard.html                 # HTML 可视化仪表板
    ├── data/                          # 原始数据目录
    │   ├── statistics.csv             # 统计数据
    │   ├── products.csv               # 产品列表
    │   └── scores.csv                 # 评分详情
    └── *_raw.txt                      # 原始 SSE 响应

数据处理工具

核心工具脚本

脚本用途版本
workflow.py一键执行完整分析流程v4.0
sse_decoder.py解码 category_report SSE 响应v6.0
keywords_parser.py解码 category_keywords 响应v3.0
trend_parser.py解析趋势数据v1.0
data_adapter.py数据格式转换 (中文→英文键)v1.0
data_utils.py数据处理工具类v2.0
generate_reports.py统一报告生成器v3.0
generate_excel_report.pyExcel 报告生成v2.0
generate_markdown_report.pyMarkdown 报告生成v2.0
fix_encoding.py编码修复工具v1.0

数据字段映射

API 响应字段 → 标准化字段:

API 字段标准化字段说明
ASINasin产品唯一标识
标题/titletitle产品标题
价格/priceprice当前售价
月销量/monthlySalesmonthly_sales月销量
月销额/monthlyRevenuemonthly_revenue月销售额
评论数/reviewsreview_count评论数量
星级/ratingrating平均评分
品牌/brandbrand品牌名称
卖家/sellerseller卖家名称
上架时间/daysOnlinedays_online上架天数

HTML 可视化仪表板

特性

  • 基于 ECharts 的交互式图表
  • 五维评分可视化进度条
  • KPI 指标卡片展示
  • 7 个动态图表:销量趋势、价格趋势、价格分布、评分分布、品牌份额、卖家来源、品牌评分趋势
  • Top50 产品详细表格
  • 关键发现智能分析

模板变量支持

变量类型示例变量说明
基础信息{{CATEGORY_NAME}}, {{SITE}}, {{DATA_DATE}}报告基本信息
五维评分{{MARKET_SIZE_SCORE}}, {{MARKET_SIZE_PERCENT}}各维度得分和进度条百分比
KPI指标{{TOTAL_PRODUCTS}}, {{AVG_PRICE}}, {{CR3}}关键指标数据
图表数据{{SALES_TREND_DATA}}, {{BRAND_SHARE_DATA}}JavaScript JSON 数据
分析结论{{CONCENTRATION_LEVEL}}, {{RECOMMENDATION}}智能分析文本

故障排查

常见问题与解决方案 (v4.0 更新)

1. API Key 未设置

问题: ❌ API Key 未设置Authentication required

原因:

  1. 环境变量 SORFTIME_API_KEY 未设置
  2. .mcp.json 文件不存在或格式错误

解决方案 (v4.0 已修复):

  • workflow.py v4.0 会自动从 .mcp.json 读取 API Key
  • 确保项目根目录存在 .mcp.json 文件,格式如下:
{
  "mcpServers": {
    "sorftime": {
      "url": "https://mcp.sorftime.com?key=YOUR_API_KEY"
    }
  }
}

手动设置环境变量 (备用):

# Windows PowerShell
$env:SORFTIME_API_KEY="your_api_key"

# Linux/Mac
export SORFTIME_API_KEY="your_api_key"

2. JSON 解析失败 - 未转义的控制字符

问题: JSONDecodeError: Invalid control character at: line 1 column 3401

原因: API 返回的 JSON 字符串值中包含原始的换行符(\n)、制表符(\t)等控制字符,这些控制字符没有被正确转义

示例:

// 错误格式(API 返回的原始格式)
{"标题": "类目:Renewed Laptops,排名:2
类目:Traditional Laptops,排名:11"}

// 正确格式
{"标题": "类目:Renewed Laptops,排名:2\\n类目:Traditional Laptops,排名:11"}

解决方案 (v4.0 已修复):

  • escape_control_chars_in_json_strings() 函数自动转义字符串值内的控制字符
  • 该函数只处理字符串值内部的控制字符,不影响 JSON 结构

3. 类目未找到

问题: 搜索类目时返回"未查询到对应类目"

原因:

  1. 大类目(如 "Computers & Accessories")可能只返回子类目列表
  2. 类目名称不准确

解决方案 (v4.0 已改进):

  1. workflow.py v4.0 会自动尝试多种搜索变体
  2. 使用更具体的子类目名称
  3. 推荐: 直接使用类目 NodeID 查询

获取 NodeID 的方法:

# 先用大类目搜索,查看返回的子类目列表
curl -s -X POST "https://mcp.sorftime.com?key={API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"category_name_search","arguments":{"amzSite":"US","searchName":"Laptop"}}}'

4. 数据解析失败 (Mojibake 编码问题)

问题: data.json 中的中文显示为 "Top100产å" 等乱码

原因: API 返回 Unicode-escape 格式 (\u4ea7\u54c1),解码后产生 Mojibake

解决方案 (v4.0 已自动修复):

  • fix_mojibake() 函数自动修复编码问题
  • 在 Unicode-escape 解码后立即应用 .encode('latin-1').decode('utf-8')

5. Python dict 格式问题

问题: "Expecting property name enclosed in double quotes"

原因: API 返回 Python dict 格式(单引号),不是标准 JSON

解决方案 (v4.0 已修复):

  • python_dict_to_json() 函数正确处理单引号转换
  • 同时处理 True/False/None 字面量

6. 大类目搜索失败

问题: "Computers & Accessories" 等大类目搜索无结果

解决方案:

  1. 使用子类目名称(如 "Laptops", "Computer Accessories")
  2. 先搜索大类目获取子类目列表,让用户选择
  3. 直接使用已知 NodeID

版本更新记录

脚本版本更新内容
workflow.pyv4.0✅ 从 .mcp.json 自动读取 API Key<br>✅ 修复 JSON 字符串中未转义的控制字符<br>✅ 改进类目搜索策略<br>✅ 新增执行日志<br>✅ 更详细的错误信息
sse_decoder.pyv6.0Mojibake 自动修复、括号匹配、Python dict 转换
generate_reports.pyv3.0完整变量替换、分析文本生成

调试技巧

  1. 查看执行日志:
# workflow.py v4.0 会自动保存执行日志
cat category-reports/{Category}_{Site}_{YYYYMMDD}/execution.log
  1. 查看原始响应:
# workflow.py 会自动保存原始 SSE 响应
cat category-reports/{Category}_{Site}_{YYYYMMDD}/category_report_raw.txt
  1. 检查编码问题:
# 检查文件字节
with open('data.json', 'rb') as f:
    print(f.read(100))
  1. 验证 JSON 格式:
# 使用 Python 验证 JSON
python -m json.tool data.json
  1. 测试 API 连接:
curl -s -X POST "https://mcp.sorftime.com?key={YOUR_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"category_name_search","arguments":{"amzSite":"US","searchName":"Kitchen"}}}'

支持的站点

Amazon: US, GB, DE, FR, IN, CA, JP, ES, IT, MX, AE, AU, BR, SA TikTok: US, GB, MY, PH, VN, ID 1688: 中国批发平台


注意事项

  1. API Key 配置:
    • 推荐在 .mcp.json 中配置(v4.0 自动读取)
    • 也可以使用环境变量 SORFTIME_API_KEY
  2. 参数名称: 使用 amzSite 而非 site
  3. id 递增: 每个请求的 id 字段必须递增 (1, 2, 3...)
  4. 并发限制: 建议最多 3-5 个并发请求
  5. 数据时效: 数据可能有 1-7 天延迟
  6. 报告命名: 使用 {Category}_{Site}_{YYYYMMDD} 格式

参考文档


本 Skill 由 Claude Code 维护 | 最后更新: 2026-03-05 (v4.0)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Hippo Video

Hippo Video integration. Manage Persons, Organizations, Deals, Leads, Activities, Notes and more. Use when the user wants to interact with Hippo Video data.

Registry SourceRecently Updated
General

币安资金费率监控

币安资金费率套利监控工具 - 查看账户、持仓、盈亏统计,SkillPay收费版

Registry SourceRecently Updated
General

apix

Use `apix` to search, browse, and execute API endpoints from local markdown vaults. Use this skill to discover REST API endpoints, inspect request/response s...

Registry SourceRecently Updated
0160
dngpng