← 返回 Skills 市场
chanalii

Category Selection

作者 ChanaLii · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
276
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install category-selection
功能描述
亚马逊品类自动化选品分析技能。通过五维评分模型对亚马逊品类进行深度市场调研,生成Markdown分析报告。当用户使用 /category-selection 命令或提出'分析XX品类'、'XX品类市场调研'、'XX品类选品'等需求时触发此技能。支持配置分析数量,默认Top20。
使用说明 (SKILL.md)

快速参考

一键执行工作流 (推荐)

# 使用品类名称
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分 评论数\x3C100的产品占比
竞争烈度 20 分 Top3品牌占比\x3C30%=18分, \x3C50%=14分, 其他=8分 CR3 品牌集中度
进入壁垒 20 分 Amazon占比\x3C20%且新品>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
# 解读: \x3C1500=低集中度, 1500-2500=中等, >2500=高集中度

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

2. 品牌分析

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

3. 卖家来源分析

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

4. 价格分析

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

5. 新品分析

# 新产品定义: 上架时间 \x3C 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.py Excel 报告生成 v2.0
generate_markdown_report.py Markdown 报告生成 v2.0
fix_encoding.py 编码修复工具 v1.0

数据字段映射

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

API 字段 标准化字段 说明
ASIN asin 产品唯一标识
标题/title title 产品标题
价格/price price 当前售价
月销量/monthlySales monthly_sales 月销量
月销额/monthlyRevenue monthly_revenue 月销售额
评论数/reviews review_count 评论数量
星级/rating rating 平均评分
品牌/brand brand 品牌名称
卖家/seller seller 卖家名称
上架时间/daysOnline days_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 字符串值中包含原始的换行符(
)、制表符( )等控制字符,这些控制字符没有被正确转义

示例:

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

// 正确格式
{"标题": "类目:Renewed Laptops,排名:2\\
类目: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.py v4.0 ✅ 从 .mcp.json 自动读取 API Key\x3Cbr>✅ 修复 JSON 字符串中未转义的控制字符\x3Cbr>✅ 改进类目搜索策略\x3Cbr>✅ 新增执行日志\x3Cbr>✅ 更详细的错误信息
sse_decoder.py v6.0 Mojibake 自动修复、括号匹配、Python dict 转换
generate_reports.py v3.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)

安全使用建议
This skill appears to do what it claims: call a Sorftime MCP API, parse SSE results, score categories, and generate reports. Before installing/running: 1) Inspect your .mcp.json (or how you supply the Sorftime API key) — the scripts will read it and extract the key; remove or rotate keys you don't want the skill to access. 2) Run the Python scripts in a controlled environment (virtualenv/container) after installing required packages (requests, and likely openpyxl/pandas if you need Excel output). 3) Review the included scripts (they are not obfuscated) to confirm you’re comfortable with file writes (reports, execution.log, parse_debug.txt). 4) Note the small inconsistency: some docs reference an env var (SORFTIME_API_KEY) while analyze_category.py currently prefers .mcp.json — decide which you prefer and adjust code accordingly. 5) If you’ll run this on sensitive hosts, run it in a sandbox first to verify behavior and outputs.
功能分析
Type: OpenClaw Skill Name: category-selection Version: 1.0.0 The category-selection skill bundle is a comprehensive market analysis tool designed for Amazon sellers to evaluate product categories using the Sorftime API. The bundle includes a well-structured set of Python scripts for data retrieval, statistical analysis (HHI, CR3), and multi-format report generation (Markdown, Excel, HTML). Security review shows that the scripts handle API keys through standard configuration files (.mcp.json), use safe subprocess execution for network calls, and include defensive parsing logic to handle malformed API responses. No evidence of data exfiltration, unauthorized persistence, or malicious prompt injection was found; the instructions in SKILL.md are strictly aligned with the stated purpose of market research.
能力评估
Purpose & Capability
The name/description (Amazon category selection and report generation) matches the actual behavior: scripts call Sorftime MCP endpoints (category_report, product_detail, etc.), parse SSE responses, compute the five-dimension scores, and generate Markdown/Excel/HTML reports. Required network access to mcp.sorftime.com is expected for this purpose.
Instruction Scope
SKILL.md and scripts instruct the agent/user to call Sorftime MCP APIs and to run the included Python scripts which will read/write report files (category-reports/, execution.log, data.json, etc.). The workflow explicitly reads a local .mcp.json for an API key and writes logs and multiple output files — this is consistent with the skill purpose but means the skill will access local configuration and create files. There is no instruction to read unrelated system files or to send data to third-party endpoints beyond Sorftime.
Install Mechanism
There is no install spec despite many Python scripts. The code imports third-party libraries (requests, and likely openpyxl/others in Excel-generation scripts), but dependencies are not declared. Running the scripts without verifying and installing needed Python packages could cause surprises. No arbitrary download URLs or obfuscated installers were found, but missing dependency and runtime environment guidance is a gap you should address.
Credentials
The skill does not request unrelated credentials; it uses an API key for Sorftime MCP. The code auto-loads the API key from a local .mcp.json (and some documentation mentions an env var SORFTIME_API_KEY). This is proportional to the stated purpose, but there is some inconsistency across files/docs about whether the env var is consulted. The script will read a local configuration file (.mcp.json) which may contain sensitive keys — review that file before running.
Persistence & Privilege
The skill is not set to always:true and does not request elevated agent privileges. It writes reports and logs to its own output directories, which is expected. It does not modify other skills or system-wide agent configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install category-selection
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /category-selection 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
category-selection v1.0.0 – 亚马逊品类自动化选品分析技能上线 - 支持通过五维评分模型对亚马逊品类进行深度调研,自动生成Markdown格式分析报告 - 一键执行全流程,一行命令完成品类分析(可通过名称或NodeID发起) - 支持Top N产品、类目关键词、趋势、1688采购成本等多维度数据收集与分析 - 报告输出支持Markdown、Excel和可交互HTML仪表板 - 详细日志记录,自动从配置文件读取API Key - 面向“选品专家”角色,提供可执行的市场进入建议
元数据
Slug category-selection
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Category Selection 是什么?

亚马逊品类自动化选品分析技能。通过五维评分模型对亚马逊品类进行深度市场调研,生成Markdown分析报告。当用户使用 /category-selection 命令或提出'分析XX品类'、'XX品类市场调研'、'XX品类选品'等需求时触发此技能。支持配置分析数量,默认Top20。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 276 次。

如何安装 Category Selection?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install category-selection」即可一键安装,无需额外配置。

Category Selection 是免费的吗?

是的,Category Selection 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Category Selection 支持哪些平台?

Category Selection 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Category Selection?

由 ChanaLii(@chanalii)开发并维护,当前版本 v1.0.0。

💬 留言讨论