Explorar o código

完善技能与版本号

gangvy hai 3 días
pai
achega
3da8de5812
Modificáronse 73 ficheiros con 5388 adicións e 131 borrados
  1. 46 25
      README.md
  2. 247 0
      WORKSHOP-SKILL-MAPPING.md
  3. 77 0
      competitor-analysis/competitor-bsr-tracking/SKILL.md
  4. 153 0
      competitor-analysis/competitor-bsr-tracking/api-config.json
  5. 84 0
      competitor-analysis/competitor-discovery/SKILL.md
  6. 211 0
      competitor-analysis/competitor-discovery/api-config.json
  7. 79 0
      competitor-analysis/competitor-pricing-analysis/SKILL.md
  8. 176 0
      competitor-analysis/competitor-pricing-analysis/api-config.json
  9. 85 0
      competitor-analysis/competitor-product-comparison/SKILL.md
  10. 163 0
      competitor-analysis/competitor-product-comparison/api-config.json
  11. 77 0
      review-analysis/review-batch-collection/SKILL.md
  12. 194 0
      review-analysis/review-batch-collection/api-config.json
  13. 82 0
      review-analysis/review-highlight-extraction/SKILL.md
  14. 152 0
      review-analysis/review-highlight-extraction/api-config.json
  15. 71 0
      review-analysis/review-keyword-cloud/SKILL.md
  16. 136 0
      review-analysis/review-keyword-cloud/api-config.json
  17. 93 0
      review-analysis/review-pain-point-extraction/SKILL.md
  18. 174 0
      review-analysis/review-pain-point-extraction/api-config.json
  19. 78 0
      review-analysis/review-sentiment-analysis/SKILL.md
  20. 172 0
      review-analysis/review-sentiment-analysis/api-config.json
  21. 2 2
      social-media/instagram-search/api-config.json
  22. 2 2
      social-media/instagram-user-info/api-config.json
  23. 2 2
      social-media/instagram-user-posts/api-config.json
  24. 2 2
      social-media/tiktok-hashtag-detail/api-config.json
  25. 2 2
      social-media/tiktok-hashtag-videos/api-config.json
  26. 2 2
      social-media/tiktok-user-posts/api-config.json
  27. 2 2
      social-media/tiktok-user-profile/api-config.json
  28. 2 2
      social-media/tiktok-user-search/api-config.json
  29. 2 2
      social-media/tiktok-video-comments/api-config.json
  30. 2 2
      social-media/tiktok-video-detail/api-config.json
  31. 2 2
      social-media/tiktok-video-search/api-config.json
  32. 80 0
      social-voc/instagram-brand-voc/SKILL.md
  33. 117 0
      social-voc/instagram-brand-voc/api-config.json
  34. 74 0
      social-voc/social-trend-analysis/SKILL.md
  35. 176 0
      social-voc/social-trend-analysis/api-config.json
  36. 86 0
      social-voc/tiktok-brand-voc/SKILL.md
  37. 145 0
      social-voc/tiktok-brand-voc/api-config.json
  38. 77 0
      social-voc/tiktok-category-voc/SKILL.md
  39. 156 0
      social-voc/tiktok-category-voc/api-config.json
  40. 88 0
      synthesis/brand-profile/SKILL.md
  41. 186 0
      synthesis/brand-profile/api-config.json
  42. 96 0
      synthesis/category-landscape/SKILL.md
  43. 229 0
      synthesis/category-landscape/api-config.json
  44. 109 0
      synthesis/product-deep-analysis/SKILL.md
  45. 427 0
      synthesis/product-deep-analysis/api-config.json
  46. 108 0
      synthesis/user-persona/SKILL.md
  47. 210 0
      synthesis/user-persona/api-config.json
  48. 121 0
      synthesis/voc-proposal/SKILL.md
  49. 235 0
      synthesis/voc-proposal/api-config.json
  50. 2 2
      voc/asin-reverse-keywords/SKILL.md
  51. 6 5
      voc/asin-reverse-keywords/api-config.json
  52. 2 2
      voc/asin-sales-volume/SKILL.md
  53. 6 5
      voc/asin-sales-volume/api-config.json
  54. 2 2
      voc/category-products/SKILL.md
  55. 6 5
      voc/category-products/api-config.json
  56. 2 2
      voc/category-tree/SKILL.md
  57. 6 5
      voc/category-tree/api-config.json
  58. 2 2
      voc/keyword-product-ranking/SKILL.md
  59. 6 5
      voc/keyword-product-ranking/api-config.json
  60. 2 2
      voc/keyword-search-trend/SKILL.md
  61. 6 5
      voc/keyword-search-trend/api-config.json
  62. 2 2
      voc/keyword-search/SKILL.md
  63. 6 5
      voc/keyword-search/api-config.json
  64. 2 2
      voc/product-detail-query/SKILL.md
  65. 6 5
      voc/product-detail-query/api-config.json
  66. 2 2
      voc/product-monitor/SKILL.md
  67. 6 5
      voc/product-monitor/api-config.json
  68. 2 2
      voc/product-reviews-query/SKILL.md
  69. 6 5
      voc/product-reviews-query/api-config.json
  70. 2 2
      voc/product-search/SKILL.md
  71. 6 5
      voc/product-search/api-config.json
  72. 2 2
      voc/similar-products/SKILL.md
  73. 6 5
      voc/similar-products/api-config.json

+ 46 - 25
README.md

@@ -1,4 +1,4 @@
-# OpenClaw VOC Skill Collection
+# OpenClaw VOC Skill Collection
 
 VOC(Voice of Customer)数据查询服务的 OpenClaw Skill 定义文件集合。
 
@@ -48,38 +48,42 @@ openclaw-voc-skill/
 ├── social-media/                     # TikTok/Instagram 社媒数据接口
 │   ├── tiktok-video-search/          # TikTok 视频搜索
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── tiktok-video-detail/          # TikTok 视频详情
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── tiktok-video-comments/        # TikTok 视频评论
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── tiktok-user-search/           # TikTok 用户搜索
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── tiktok-user-profile/          # TikTok 用户详情
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── tiktok-user-posts/            # TikTok 用户作品列表
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── tiktok-hashtag-detail/        # TikTok 话题详情
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── tiktok-hashtag-videos/        # TikTok 话题视频列表
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── instagram-search/             # Instagram 搜索
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   ├── instagram-user-info/          # Instagram 用户详情
-│   │   ├── SKILL.md
-│   │   └── api-config.json
 │   └── instagram-user-posts/         # Instagram 用户帖子列表
-│       ├── SKILL.md
-│       └── api-config.json
+│
+├── competitor-analysis/              # 竞品分析(编排层)
+│   ├── competitor-discovery/         # 竞品发现与筛选 + 竞争格局(CR5/垄断/攻防策略)
+│   ├── competitor-product-comparison/# 竞品多维对比 + 5维健康度仪表盘
+│   ├── competitor-pricing-analysis/  # 5分位价格带 + 黄金带 + 毛利估算 + 促销建议
+│   └── competitor-bsr-tracking/      # BSR追踪 + 增长路径分析 + 风险预警
+│
+├── review-analysis/                  # 评论分析(编排层)
+│   ├── review-batch-collection/      # 批量采集 + 竞品VOC对比汇总
+│   ├── review-sentiment-analysis/    # 情感分析 + 情感短语规则 + 情感词云
+│   ├── review-pain-point-extraction/ # 痛点提取 + VOC驱动优化建议
+│   ├── review-highlight-extraction/  # 亮点提取 + Listing卖点植入建议
+│   └── review-keyword-cloud/         # 关键词云 + 情感标签(正/负/中性)
+│
+├── social-voc/                       # 社媒VOC分析(编排层)
+│   ├── tiktok-category-voc/          # TikTok品类VOC采集与分析
+│   ├── tiktok-brand-voc/             # TikTok品牌VOC采集与分析
+│   ├── instagram-brand-voc/          # Instagram品牌VOC采集与分析
+│   └── social-trend-analysis/        # 社媒趋势分析 + 优先级行动清单
+│
+├── synthesis/                        # 综合分析(编排层)
+│   ├── product-deep-analysis/        # 6维诊断 + 5分位价格带 + 毛利估算 + AI建议
+│   ├── category-landscape/           # CR5/HHI + 风险预警 + 优先行动清单
+│   ├── brand-profile/                # 六维画像 + 机会/风险标签 + 定位建议
+│   ├── user-persona/                 # 用户画像 + 购买行为分析 + 季节/渠道偏好
+│   └── voc-proposal/                 # 6章节提案 + ROI估算 + 30天行动时间线
 └── workflows/                        # 报告生成编排
     ├── report_generation.workflow.json
@@ -170,11 +174,28 @@ workflows/
 ## API 认证
 
 ### Sorftime (VOC)
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发
-- 认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发
+- 需携带 Authorization header: `Bearer r:858b3ee92314d5447d1fc3cdc10462d7`
 - `domain` 参数必须是数字: 1=amazon.com, 2=amazon.co.uk ...
 
 ### TikHub (社媒)
 - 直连代理: `https://server.fmode.cn/thapi`
 - 需携带 Bearer Token 在 Authorization header 中
 - 所有请求均为 GET 方法
+
+## 版本管理
+
+当前版本: **v1.1.0** (2026-03-26)
+
+### Changelog
+
+#### v1.1.0 (2026-03-26)
+- **API 端点迁移**: 所有 VOC 接口从 `server-msq.fmode.cn/api/sorftime/forward` 迁移至 `server.fmode.cn/api/voc/forward`
+- **认证升级**: 所有使用 VOC 转发地址的 api-config.json 添加 `Authorization: Bearer` header
+- **规范修复**: 修复 13 个 SKILL.md 文件的 UTF-8 BOM 编码问题
+- **命名统一**: api-config.json 的 `name` 字段统一为小写连字符格式(与目录名一致)
+- **受影响文件**: voc/(12) + competitor-analysis/(4) + review-analysis/(2) + synthesis/(3) = 21 个 api-config.json
+
+#### v1.0.0 (初始版本)
+- 41 个技能初始定义
+- 涵盖 VOC/社媒/竞品分析/评论分析/综合分析 五大类

+ 247 - 0
WORKSHOP-SKILL-MAPPING.md

@@ -0,0 +1,247 @@
+# "AI情报官" VOC虾工作坊 — 技能映射清单
+
+## 一、技能架构总览
+
+工作坊需要 **两层技能**:
+
+```
+┌──────────────────────────────────────────────────────────────┐
+│              编排层(18 个 Orchestration Skills)               │
+│  competitor-analysis/ (4) │ review-analysis/ (5)              │
+│  social-voc/ (4)          │ synthesis/ (5)                    │
+│  ↓ 调用                                                       │
+├──────────────────────────────────────────────────────────────┤
+│              数据采集层(23 个 Data Skills)                     │
+│  voc/ (12): product-search / product-reviews-query / ...      │
+│  social-media/ (11): tiktok-video-search / instagram-search   │
+└──────────────────────────────────────────────────────────────┘
+```
+
+- **数据采集层**:23 个 skill(已完成),负责原子级 API 调用
+- **编排层**:18 个 skill(已完成),按功能拆分为 4 个子类
+  - `competitor-analysis/` — 竞品分析(4个)
+  - `review-analysis/` — 竞品评论分析(5个)
+  - `social-voc/` — 社媒VOC分析(4个)
+  - `synthesis/` — 综合分析(5个)
+
+---
+
+## 二、现有 23 个数据采集 Skill 与工作坊环节对应
+
+### VOC 类(12个)— 对应 Day1 全天 + Day2 上午竞品分析
+
+| Skill | 工作坊环节 | 具体用途 |
+|-------|-----------|---------|
+| `product-search` | Day1上午-品类格局 | 关键词搜Top100产品,计算CR5/HHI |
+| `product-detail-query` | Day1下午-品牌认知 | 获取产品完整信息(价格/评分/BSR/卖点) |
+| `asin-sales-volume` | Day1上午-品类格局 | 批量获取销量,计算市场规模和品牌份额 |
+| `product-reviews-query` | Day1晚-电商VOC采集 | **核心**:批量抓取评论,提取用户声音 |
+| `keyword-search` | Day1上午-品类格局 | 查询关键词搜索量/竞争度 |
+| `keyword-search-trend` | Day1上午-品类格局 | 关键词趋势,发现飙升词 |
+| `keyword-product-ranking` | Day1下午-竞品初筛 | 关键词下的产品排名 |
+| `asin-reverse-keywords` | Day1晚-VOC关键词 | 竞品ASIN反查关键词,构建关键词库 |
+| `category-tree` | Day1上午-品类格局 | 定位品类类目ID |
+| `category-products` | Day1上午-品类格局 | 获取类目下全部产品 |
+| `similar-products` | Day1下午-竞品初筛 | 发现相似竞品 |
+| `product-monitor` | Day2上午-竞品诊断 | 竞品价格/排名变化追踪 |
+
+### Social Media 类(11个)— 对应 Day2 上午社媒VOC采集
+
+| Skill | 工作坊环节 | 具体用途 |
+|-------|-----------|---------|
+| `tiktok-video-search` | Day2上午-社媒VOC | 搜索品类相关TikTok视频 |
+| `tiktok-video-detail` | Day2上午-社媒VOC | 爆款视频深度分析 |
+| `tiktok-video-comments` | Day2上午-社媒VOC | **核心**:抓取视频评论,提取用户需求 |
+| `tiktok-user-search` | Day2上午-社媒VOC | 搜索品类红人/达人 |
+| `tiktok-user-profile` | Day2上午-社媒VOC | 竞品品牌TikTok画像 |
+| `tiktok-user-posts` | Day2上午-社媒VOC | 竞品内容策略分析 |
+| `tiktok-hashtag-detail` | Day2上午-社媒VOC | 品类话题热度统计 |
+| `tiktok-hashtag-videos` | Day2上午-社媒VOC | 话题下热门内容 |
+| `instagram-search` | Day2上午-社媒VOC | 竞品IG账号发现 |
+| `instagram-user-info` | Day2上午-社媒VOC | 竞品IG粉丝/帖子数据 |
+| `instagram-user-posts` | Day2上午-社媒VOC | 竞品IG内容分析 |
+
+---
+
+## 三、18 个编排 Skill 清单(已创建,按分类)
+
+### 3.1 competitor-analysis/ — 竞品分析(4个)
+
+| Skill | 对应环节 | 功能 | 调用的底层skill |
+|-------|---------|------|---------------|
+| `competitor-discovery` | Day1下午-竞品初筛 | 自动发现筛选3-5家竞品 + **竞争格局分析**(CR5/垄断度/品牌对比/差异化攻防策略) | product-search, similar-products, keyword-product-ranking, product-detail-query |
+| `competitor-product-comparison` | Day1下午-竞品对比 | 多维对比 + **5维健康度仪表盘**(定价/评分/流量/销量/增长 + 机会/风险标签) | product-detail-query, asin-sales-volume, product-monitor |
+| `competitor-pricing-analysis` | Day1下午+Day2上午 | **5分位价格带** + 黄金带评分 + 毛利估算 + 促销建议 + 盈亏平衡销量 | product-search, product-detail-query, product-monitor |
+| `competitor-bsr-tracking` | Day2上午-竞品动态 | BSR追踪 + **增长路径分析**(层级定位/日销差距/SKU聚焦) + **风险预警** | product-monitor, product-detail-query |
+
+### 3.2 review-analysis/ — 评论分析(5个)
+
+| Skill | 对应环节 | 功能 | 调用的底层skill |
+|-------|---------|------|---------------|
+| `review-batch-collection` | Day1晚-电商VOC采集 | 批量采集+去重清洗 + **竞品VOC对比汇总**(本店vs竞品均分/差评率/top产品) | product-reviews-query |
+| `review-sentiment-analysis` | Day1晚-认知校准 | 情感分类 + **情感短语规则**(regex多词匹配) + **情感词云** | 纯NLP/AI |
+| `review-pain-point-extraction` | Day2上午-竞品差评 | 痛点提取聚类 + **VOC优化建议**(评分差距/转化影响/listing建议/产品迭代/售后) | 纯NLP/AI |
+| `review-highlight-extraction` | Day2上午-竞品好评 | 亮点提取 + **Listing卖点植入建议**(标题/bullet/A+的具体词根建议) | 纯NLP/AI |
+| `review-keyword-cloud` | Day1晚-关键词库 | 关键词云 + **情感标签**(positive/negative/neutral每个词) | asin-reverse-keywords |
+
+### 3.3 social-voc/ — 社媒VOC分析(4个)
+
+| Skill | 对应环节 | 功能 | 调用的底层skill |
+|-------|---------|------|---------------|
+| `tiktok-category-voc` | Day2上午-TikTok品类 | 品类关键词视频搜索 + 批量评论采集 + 话题热度 | tiktok-video-search, tiktok-video-comments, tiktok-hashtag-detail, tiktok-hashtag-videos |
+| `tiktok-brand-voc` | Day2上午-TikTok品牌 | 竞品品牌TikTok账号搜索 + 内容策略 + 粉丝反馈 | tiktok-user-search, tiktok-user-profile, tiktok-user-posts, tiktok-video-comments |
+| `instagram-brand-voc` | Day2上午-IG品牌 | 竞品品牌IG搜索 + 帖子分析 + 互动数据 | instagram-search, instagram-user-info, instagram-user-posts |
+| `social-trend-analysis` | Day2上午-趋势分析 | 跨平台热度对比、趋势话题、内容机会 + **优先级行动清单** | 纯数据分析(依赖前3个social-voc skill输出) |
+
+### 3.4 synthesis/ — 综合分析(5个)
+
+| Skill | 对应环节 | 功能 | 调用的底层skill |
+|-------|---------|------|---------------|
+| `product-deep-analysis` | 贯穿全程-单品诊断 | 6维分析 + **5分位价格带+毛利估算+促销建议** + AI运营建议 | product-detail-query, asin-reverse-keywords, product-monitor, product-reviews-query |
+| `category-landscape` | Day1上午-品类格局 | CR5/HHI + 健康度 + 价格带 + **风险预警汇总** + **优先行动清单** | product-search, asin-sales-volume, category-tree, keyword-search, keyword-search-trend |
+| `brand-profile` | Day1下午-品牌画像 | 六维画像 + **机会/风险标签** + **核心短板** + **定位建议** | product-detail-query, asin-sales-volume, product-reviews-query |
+| `user-persona` | Day2上午-用户画像 | 画像生成 + **购买行为分析**(价格敏感度映射/季节性/渠道偏好) | 纯AI(依赖review-analysis和social-voc输出) |
+| `voc-proposal` | Day2下午-提案生成 | 6章节提案 + **ROI估算** + **风险整合** + **30天行动时间线** | 纯AI(依趖所有前置skill输出) |
+
+> 每个 Skill 的详细参数、执行流程和返回格式请查看对应目录下的 `SKILL.md` 和 `api-config.json`
+
+---
+
+## 四、工作坊全流程 Skill 调用链
+
+```
+Day1 上午 09:00-12:00 「教虾认品类」
+  └─ synthesis/category-landscape
+      ├─ product-search ×2-3
+      ├─ asin-sales-volume ×100
+      ├─ keyword-search ×5-10
+      ├─ keyword-search-trend ×5
+      └─ category-tree ×1
+
+Day1 下午 13:30-18:00 「教虾认品牌·竞品初筛」
+  ├─ synthesis/product-deep-analysis
+  │   ├─ product-detail-query ×1
+  │   ├─ asin-reverse-keywords ×1
+  │   ├─ product-monitor ×1
+  │   └─ product-reviews-query ×3 + AI诊断
+  ├─ synthesis/brand-profile
+  │   ├─ product-detail-query ×10-20
+  │   ├─ asin-sales-volume ×10-20
+  │   └─ product-reviews-query ×5
+  ├─ competitor-analysis/competitor-discovery
+  │   ├─ product-search ×1
+  │   ├─ similar-products ×3-5
+  │   ├─ keyword-product-ranking ×3
+  │   └─ product-detail-query ×5
+  ├─ competitor-analysis/competitor-product-comparison
+  │   ├─ product-detail-query ×10
+  │   ├─ asin-sales-volume ×10
+  │   └─ product-monitor ×10
+  └─ competitor-analysis/competitor-pricing-analysis
+      ├─ product-search ×1
+      ├─ product-detail-query ×5
+      └─ product-monitor ×5
+
+Day1 晚 19:00-21:30 「试捕电商VOC」
+  ├─ review-analysis/review-batch-collection
+  │   └─ product-reviews-query ×50-100
+  ├─ review-analysis/review-sentiment-analysis(纯NLP/AI)
+  └─ review-analysis/review-keyword-cloud
+      └─ asin-reverse-keywords ×10-20
+
+Day2 上午 09:00-12:00 「社媒VOC + 竞品诊断 + 用户画像」
+  ├─ social-voc/tiktok-category-voc
+  │   ├─ tiktok-video-search ×2-3
+  │   ├─ tiktok-video-comments ×20
+  │   ├─ tiktok-hashtag-detail ×5
+  │   └─ tiktok-hashtag-videos ×3
+  ├─ social-voc/tiktok-brand-voc
+  │   ├─ tiktok-user-search ×5
+  │   ├─ tiktok-user-profile ×5
+  │   ├─ tiktok-user-posts ×5
+  │   └─ tiktok-video-comments ×10
+  ├─ social-voc/instagram-brand-voc
+  │   ├─ instagram-search ×5
+  │   ├─ instagram-user-info ×5
+  │   └─ instagram-user-posts ×5
+  ├─ social-voc/social-trend-analysis(纯分析)
+  ├─ competitor-analysis/competitor-bsr-tracking
+  │   ├─ product-monitor ×5
+  │   └─ product-detail-query ×5
+  ├─ review-analysis/review-pain-point-extraction(纯AI)
+  ├─ review-analysis/review-highlight-extraction(纯AI)
+  └─ synthesis/user-persona(纯AI)
+
+Day2 下午 13:00-17:00 「成果整合·提案」
+  └─ synthesis/voc-proposal(纯AI)
+```
+
+## 五、API 调用量估算(单组)
+
+| 底层 Skill | 预估调用次数 | 说明 |
+|-----------|-------------|------|
+| product-search | 3-5 | 多关键词搜索 |
+| product-detail-query | 25-40 | 品牌+竞品产品详情 |
+| asin-sales-volume | 100-120 | Top100批量销量 |
+| product-reviews-query | 50-100 | 多ASIN多页评论 |
+| keyword-search | 10-15 | 品类关键词 |
+| keyword-search-trend | 5-8 | 趋势分析 |
+| keyword-product-ranking | 3-5 | 排名分析 |
+| asin-reverse-keywords | 10-20 | 竞品反查 |
+| category-tree | 1 | 类目定位 |
+| category-products | 1-2 | 类目产品 |
+| similar-products | 3-5 | 相似产品 |
+| product-monitor | 5-10 | 竞品监控 |
+| tiktok-video-search | 2-3 | 视频搜索 |
+| tiktok-video-comments | 20 | 评论采集 |
+| tiktok-hashtag-detail | 5 | 话题热度 |
+| tiktok-hashtag-videos | 3 | 话题视频 |
+| instagram-search | 5 | 品牌搜索 |
+| instagram-user-info | 5 | 用户详情 |
+| instagram-user-posts | 5 | 帖子列表 |
+| **总计** | **~260-380 次** | 单组两天 |
+
+## 六、内置核心算法
+
+### 6.1 市场与竞争分析
+
+| 算法模块 | 应用技能 | 算法说明 |
+|---------|---------|---------|
+| CR5/HHI集中度 | `category-landscape`, `competitor-discovery` | top5品牌销量占比 + 市占率平方和×10000, 垄断度分级(low/medium/high) |
+| 5维健康度评分 | `category-landscape`, `brand-profile`, `competitor-product-comparison` | 定价(0.2)+评分(0.25)+流量(0.2)+销售(0.15)+增长(0.2) + 机会/风险标签 |
+| 竞争格局分析 | `competitor-discovery` | CR5→垄断度, 品牌份额对比, 差异化进攻策略, 防守策略 |
+| 增长路径分析 | `competitor-bsr-tracking` | 层级定位(头部/腰部/尾部) + 日销差距 + SKU聚焦建议 + 关键词建议 |
+| 风险预警汇总 | `category-landscape`, `competitor-bsr-tracking` | 品牌集中度/低销量/评分/价格战/库存/合规 多维风险检测 |
+| 优先行动清单 | `category-landscape`, `brand-profile`, `social-trend-analysis` | 条件触发式优先级排序: Listing优化→SKU聚焦→促销→产品迭代→库存→差异化 |
+
+### 6.2 定价策略
+
+| 算法模块 | 应用技能 | 算法说明 |
+|---------|---------|---------|
+| 5分位价格带 | `competitor-pricing-analysis`, `product-deep-analysis` | 按P20/P40/P60/P80分5带, 每带统计SKU/销量/评分 |
+| 黄金价格带 | `competitor-pricing-analysis`, `product-deep-analysis` | bandScore=avgSales×0.5+avgRating×20+(skuCount>0?10:0), 最高分为黄金带 |
+| 毛利估算 | `competitor-pricing-analysis`, `product-deep-analysis` | 15%佣金+$5FBA+30%采购, grossMargin公式, 盈亏平衡销量 |
+| 促销建议 | `competitor-pricing-analysis`, `product-deep-analysis` | 价格战风险检测→多件折扣/满减替代降价 |
+
+### 6.3 评论/VOC分析
+
+| 算法模块 | 应用技能 | 算法说明 |
+|---------|---------|---------|
+| 情感短语规则 | `review-sentiment-analysis` | regex匹配多词情感短语(too small/well made等), 短语优先于单词 |
+| 情感词典 | `review-sentiment-analysis`, `review-keyword-cloud` | 正面词(comfortable/durable...) + 负面词(disappointed/flimsy...) + 星级回退 |
+| 情感关键词云 | `review-sentiment-analysis`, `review-keyword-cloud` | 每个关键词带positive/negative/neutral标签, count→weight归一化 |
+| VOC驱动优化 | `review-pain-point-extraction` | 评分差距(vs4.6基准)→转化影响估算, listing/产品迭代/售后三维建议 |
+| 竞品VOC对比 | `review-batch-collection` | 本店vs竞品: 加权均分/差评率/top5产品, 兼容多种数据源格式 |
+| Listing卖点建议 | `review-highlight-extraction` | 亮点词根→标题前65字符/bullet前2条/A+场景, 优先级:必备>差异化>参考 |
+
+### 6.4 综合分析与AI生成
+
+| 算法模块 | 应用技能 | 算法说明 |
+|---------|---------|---------|
+| 6维品牌画像 | `brand-profile` | 定价/评分/流量/销售/增长/口碑 各0-100分, 四象限定位, 机会/风险标签 |
+| 单品深度诊断 | `product-deep-analysis` | 流量架构(valueScore)+定价(5分位)+Listing+VOC痛点+广告+综合健康分 |
+| 购买行为分析 | `user-persona` | 价格敏感度→价格带映射, 季节性购买规律, 渠道偏好(社媒/搜索/送礼) |
+| ROI估算 | `voc-proposal` | 每条建议估算投入/收益/回本周期: Listing($0/即时)→PPC($30-50/日)→产品迭代(60-90天) |
+| 30天行动时间线 | `voc-proposal` | 4周任务分解 + 里程碑(D7/D14/D21/D30), 从Listing优化到全面复盘 |
+| AI用户画像 | `user-persona` | 场景+决策因素+购买行为 → AI生成3-5个画像+精准营销策略 |
+| AI提案生成 | `voc-proposal` | 6章节数据索引→AI生成→数据引用+完整度标注→Markdown全文 |

+ 77 - 0
competitor-analysis/competitor-bsr-tracking/SKILL.md

@@ -0,0 +1,77 @@
+# 竞品BSR排名追踪 (Competitor BSR Tracking)
+
+## 技能名称
+competitor-bsr-tracking
+
+## 技能目的
+追踪竞品BSR/销量/价格变化趋势,生成**增长路径分析**(层级定位/日销差距/SKU聚焦)和**风险预警汇总**。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| competitorAsins | string[] | 是 | 竞品ASIN列表 |
+| domain | integer | 否 | Amazon站点,默认1 |
+
+## 执行流程
+1. 批量调用 `product-monitor` 获取竞品的历史监控数据
+2. 批量调用 `product-detail-query` 获取竞品当前状态
+3. 分析计算:
+   - **BSR趋势**: 近7/14/30天BSR变化方向和幅度
+   - **销量趋势**: 日销量/月销量趋势,环比增减
+   - **价格变动**: 价格调整记录,是否在做促销
+   - **评分变化**: 评分和评论数的变化趋势
+   - **预警信号**: 识别异常变化(如BSR大幅下降=销量暴涨、突然降价=促销战)
+4. **增长路径分析**(新增):
+   - 层级定位: 头部(Top10%)/腰部(10-40%)/尾部(40%+)
+   - 日销差距: 距上一层级门槛还差多少日销
+   - SKU聚焦建议 + 关键词建议
+5. **风险预警汇总**(新增):
+   - BSR连续下降/评分下滑/价格战/库存/合规多维检测
+6. 生成竞品动态报告
+
+## 调用的底层 Skill
+- `voc/product-monitor` — BSR/价格/评分历史数据
+- `voc/product-detail-query` — 当前产品状态
+
+## 返回格式
+```json
+{
+  "tracking": [
+    {
+      "asin": "B0CSVRWJ1H",
+      "brand": "NEST",
+      "currentBsr": 1200,
+      "bsrTrend": { "7d": -15, "14d": -22, "30d": -8 },
+      "salesTrend": { "7d": 18, "14d": 25, "30d": 10 },
+      "priceChange": { "current": 38.00, "previous": 42.00, "changePercent": -9.5 },
+      "ratingChange": { "current": 4.5, "previous": 4.4, "newReviews": 56 },
+      "alerts": [
+        { "type": "price_drop", "severity": "medium", "message": "近14天降价9.5%" },
+        { "type": "bsr_surge", "severity": "high", "message": "BSR 7天下降15%,销量可能暴涨" }
+      ]
+    }
+  ],
+  "summary": {
+    "mostActive": "B0CSVRWJ1H",
+    "biggestThreat": "NEST品牌正在积极降价抢量",
+    "opportunityWindow": "竞品A评分下降,可针对其差评痛点发力"
+  },
+  "growthPath": {
+    "currentTier": "腰部(Top25%)",
+    "nextTierThreshold": { "dailySales": 150, "gap": 45 },
+    "skuAdvice": "聚焦核心SKU打爆款,避免资源分散",
+    "keywordAdvice": "主攻“reed diffuser long lasting”等长尾词提升排名"
+  },
+  "riskAlerts": [
+    { "level": "high", "title": "BSR连续下降", "description": "7天BSR下降15%,销量可能被竞品赶超" },
+    { "level": "medium", "title": "价格战风险", "description": "竞品A近14天降价9.5%" }
+  ]
+}
+```
+
+## 依赖
+- Sorftime API
+- 需要 competitor-discovery 输出的竞品ASIN列表
+
+## 对应工作坊环节
+Day2 上午 竞品VOC深度分析 辅助数据

+ 153 - 0
competitor-analysis/competitor-bsr-tracking/api-config.json

@@ -0,0 +1,153 @@
+{
+  "name": "competitor-bsr-tracking",
+  "displayName": "竞品BSR排名追踪",
+  "description": "追踪竞品BSR/销量/价格变化趋势,生成增长路径分析和风险预警汇总",
+  "category": "competitor-analysis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "competitorAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "竞品ASIN列表"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点(1=美国)"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "批量获取竞品监控数据",
+      "forEach": "competitorAsins",
+      "api": {
+        "service": "SorftimeApiService.getMonitorData",
+        "endpoint": "/api/MonitorQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "monitorData",
+      "responseExtract": "{ PriceHistory, RankHistory, RatingHistory, ReviewCountHistory, SellerCount }"
+    },
+    {
+      "step": 2,
+      "name": "批量获取竞品当前状态",
+      "forEach": "competitorAsins",
+      "api": {
+        "service": "SorftimeApiService.getProductDetail",
+        "endpoint": "/api/ProductRequest",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}", "Trend": 1, "QueryTrendStartDt": "", "QueryTrendEndDt": "" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "competitorDetails",
+      "responseExtract": "{ Title, Brand, SalesPrice, Ratings, RatingsCount, BSR, MonthlySales, Category }"
+    },
+    {
+      "step": 3,
+      "name": "BSR/销量/价格趋势分析",
+      "type": "compute",
+      "logic": "analyzeTrends(monitorData, competitorDetails)",
+      "algorithm": {
+        "bsrTrend": "近7/14/30天BSR变化方向和幅度百分比",
+        "salesTrend": "日销量/月销量趋势,环比增减百分比",
+        "priceChange": "价格调整记录,是否在做促销",
+        "ratingChange": "评分和评论数的变化趋势",
+        "alerts": "识别异常变化: BSR大幅下降=销量暴涨, 突然降价=促销战"
+      },
+      "output": "tracking"
+    },
+    {
+      "step": 4,
+      "name": "增长路径分析",
+      "type": "compute",
+      "logic": "analyzeGrowthPath(tracking, competitorDetails)",
+      "algorithm": {
+        "tierClassification": "头部(Top10%)/腰部(10-40%)/尾部(40%+)",
+        "dailySalesGap": "距上一层级门槛还差多少日销",
+        "skuAdvice": "聚焦核心SKU打爆款建议",
+        "keywordAdvice": "主攻长尾词提升排名建议"
+      },
+      "output": "growthPath"
+    },
+    {
+      "step": 5,
+      "name": "风险预警汇总",
+      "type": "compute",
+      "logic": "generateRiskAlerts(tracking, competitorDetails)",
+      "algorithm": {
+        "bsrRisk": "BSR连续下降检测",
+        "ratingRisk": "评分下滑检测",
+        "priceWarRisk": "价格战风险检测",
+        "inventoryRisk": "库存风险推断",
+        "complianceRisk": "合规风险检测"
+      },
+      "output": "riskAlerts"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "tracking": {
+        "type": "array",
+        "description": "竞品追踪数据列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "asin": { "type": "string" },
+            "brand": { "type": "string" },
+            "currentBsr": { "type": "integer" },
+            "bsrTrend": { "type": "object", "properties": { "7d": { "type": "number" }, "14d": { "type": "number" }, "30d": { "type": "number" } } },
+            "salesTrend": { "type": "object", "properties": { "7d": { "type": "number" }, "14d": { "type": "number" }, "30d": { "type": "number" } } },
+            "priceChange": { "type": "object", "properties": { "current": { "type": "number" }, "previous": { "type": "number" }, "changePercent": { "type": "number" } } },
+            "ratingChange": { "type": "object", "properties": { "current": { "type": "number" }, "previous": { "type": "number" }, "newReviews": { "type": "integer" } } },
+            "alerts": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "severity": { "type": "string" }, "message": { "type": "string" } } } }
+          }
+        }
+      },
+      "summary": {
+        "type": "object",
+        "properties": {
+          "mostActive": { "type": "string" },
+          "biggestThreat": { "type": "string" },
+          "opportunityWindow": { "type": "string" }
+        }
+      },
+      "growthPath": {
+        "type": "object",
+        "properties": {
+          "currentTier": { "type": "string" },
+          "nextTierThreshold": { "type": "object", "properties": { "dailySales": { "type": "integer" }, "gap": { "type": "integer" } } },
+          "skuAdvice": { "type": "string" },
+          "keywordAdvice": { "type": "string" }
+        }
+      },
+      "riskAlerts": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "level": { "type": "string", "enum": ["high", "medium", "low"] },
+            "title": { "type": "string" },
+            "description": { "type": "string" }
+          }
+        }
+      }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 84 - 0
competitor-analysis/competitor-discovery/SKILL.md

@@ -0,0 +1,84 @@
+# 竞品发现与筛选 (Competitor Discovery)
+
+## 技能名称
+competitor-discovery
+
+## 技能目的
+根据品类关键词和自身品牌信息,自动发现并筛选出 3-5 家直接竞品,输出竞品基础档案并生成竞争格局分析报告。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| categoryKeyword | string | 是 | 品类核心关键词(如 "reed diffuser") |
+| ownBrand | string | 是 | 自身品牌名称 |
+| ownAsins | string[] | 否 | 自身品牌核心ASIN列表 |
+| competitorCount | integer | 否 | 需要筛选的竞品数量,默认5 |
+| domain | integer | 否 | Amazon站点,默认1(美国站) |
+| priceRange | object | 否 | 价格带过滤 {min, max},不传则自动按自身价格±30% |
+
+## 执行流程
+1. 调用 `product-search` 搜索品类关键词,获取 Top100 产品
+2. 调用 `similar-products` 基于自身ASIN查找相似产品
+3. 调用 `keyword-product-ranking` 获取核心关键词下的产品排名
+4. 对搜索结果按以下规则评分筛选:
+   - 价格带接近(±30%):权重 30%
+   - 品类相同/相近:权重 25%
+   - 评分相当(±0.5星):权重 20%
+   - 月销量在同一量级:权重 25%
+5. 排除自身品牌产品
+6. 按综合得分排序,取 Top N 作为直接竞品
+7. 批量调用 `product-detail-query` 获取竞品详情
+8. **竞争格局分析**(新增):
+   - CR5 计算(top5品牌销量占比)→ 垄断度分级(low/medium/high)
+   - 品牌对比矩阵: 各品牌SKU数/均价/均评分/市占率
+   - 差异化进攻策略 + 防守策略建议
+
+## 调用的底层 Skill
+- `voc/product-search` — 关键词搜索产品列表
+- `voc/similar-products` — ASIN相似产品发现
+- `voc/keyword-product-ranking` — 关键词下产品排名
+- `voc/product-detail-query` — 产品详情获取
+
+## 返回格式
+```json
+{
+  "competitors": [
+    {
+      "asin": "B0CSVRWJ1H",
+      "title": "...",
+      "brand": "...",
+      "price": 29.99,
+      "rating": 4.5,
+      "ratingsCount": 1234,
+      "monthlySales": 5600,
+      "bsr": 1200,
+      "category": "Home Fragrance",
+      "matchScore": 92.5,
+      "matchReasons": ["价格带接近", "品类相同", "评分相当"]
+    }
+  ],
+  "searchMeta": {
+    "totalCandidates": 100,
+    "filteredCount": 5,
+    "filterCriteria": { "priceRange": [20, 40], "ratingRange": [4.0, 5.0] }
+  },
+  "competitiveLandscape": {
+    "cr5": 42.3,
+    "monopolyLevel": "medium",
+    "monopolyLabel": "中等集中",
+    "brandComparison": [
+      { "brand": "NEST", "skuCount": 12, "avgPrice": 38.5, "avgRating": 4.5, "marketShare": 15.2 }
+    ],
+    "differentiationStrategy": "竞品均在高价段,可切入中价高质定位",
+    "attackStrategy": "针对竞品A的差评痛点(reed quality)发力",
+    "defenseStrategy": "强化自身好评亮点(scent quality)作为护城河"
+  }
+}
+```
+
+## 依赖
+- Sorftime API(通过 https://server.fmode.cn/api/voc/forward)
+- 需要先确定自身品牌ASIN和品类关键词
+
+## 对应工作坊环节
+Day1 下午 16:00-17:00「竞品初筛」

+ 211 - 0
competitor-analysis/competitor-discovery/api-config.json

@@ -0,0 +1,211 @@
+{
+  "name": "competitor-discovery",
+  "displayName": "竞品发现与筛选",
+  "description": "根据品类关键词和自身品牌信息,自动发现并筛选直接竞品",
+  "category": "competitor-analysis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "categoryKeyword": {
+      "type": "string",
+      "required": true,
+      "description": "品类核心关键词"
+    },
+    "ownBrand": {
+      "type": "string",
+      "required": true,
+      "description": "自身品牌名称"
+    },
+    "ownAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "description": "自身品牌核心ASIN列表"
+    },
+    "competitorCount": {
+      "type": "integer",
+      "required": false,
+      "default": 5,
+      "description": "需要筛选的竞品数量"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点(1=美国)"
+    },
+    "priceRange": {
+      "type": "object",
+      "required": false,
+      "properties": {
+        "min": { "type": "number" },
+        "max": { "type": "number" }
+      },
+      "description": "价格带过滤范围,不传则自动按自身价格±30%"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "搜索品类产品",
+      "api": {
+        "service": "SorftimeApiService.searchProductsByQuery",
+        "endpoint": "/api/ProductQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "Page": 1, "Query": "1", "QueryType": "7", "Pattern": "${categoryKeyword}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "searchResults",
+      "responseExtract": "extractProductList(resp) → Array<{ Asin, Title, Price, Rating, RatingsCount, MonthlySales, Brand, BSR, Photo }>"
+    },
+    {
+      "step": 2,
+      "name": "查找相似产品",
+      "condition": "ownAsins.length > 0",
+      "api": {
+        "service": "SorftimeApiService.getSimilarProducts",
+        "endpoint": "/api/SimilarProductRealtimeRequest",
+        "method": "POST",
+        "requestBody": { "ASIN": "${ownAsins[0]}" },
+        "queryParams": { "domain": "${domain}" },
+        "note": "异步任务:需后续调用 /api/SimilarProductRealtimeRequestStatusQuery 和 /api/SimilarProductRealtimeRequestCollection"
+      },
+      "output": "similarResults"
+    },
+    {
+      "step": 3,
+      "name": "关键词排名产品",
+      "api": {
+        "service": "SorftimeApiService.getKeywordProductRanking",
+        "endpoint": "/api/KeywordProductRanking",
+        "method": "POST",
+        "requestBody": { "keyword": "${categoryKeyword}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "rankingResults",
+      "responseExtract": "Array<{ Asin, Title, Rank, Price, Rating, RatingsCount, IsSponsored }>"
+    },
+    {
+      "step": 4,
+      "name": "合并去重+竞品评分筛选",
+      "type": "compute",
+      "logic": "mergeAndScore(searchResults, similarResults, rankingResults, { ownBrand, priceRange, competitorCount })",
+      "algorithm": {
+        "merge": "按ASIN去重合并三个来源的产品",
+        "exclude": "排除ownBrand的产品",
+        "filter": "价格在ownPrice±30%范围内 && 评分>=3.5 && 同品类",
+        "score": "matchScore = priceProximity*0.3 + ratingProximity*0.2 + salesProximity*0.2 + rankInKeyword*0.15 + isSimilar*0.15",
+        "sort": "按matchScore降序,取top competitorCount个",
+        "brandGrouping": "按Brand字段分组,统计每个品牌的SKU数和总销量,用于排除自有品牌和识别竞品品牌"
+      },
+      "output": "filteredCompetitors"
+    },
+    {
+      "step": 5,
+      "name": "批量获取竞品详情",
+      "forEach": "filteredCompetitors",
+      "api": {
+        "service": "SorftimeApiService.getProductDetail",
+        "endpoint": "/api/ProductRequest",
+        "method": "POST",
+        "requestBody": { "ASIN": "${competitor.asin}", "Trend": 1, "QueryTrendStartDt": "", "QueryTrendEndDt": "" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "competitorDetails",
+      "responseExtract": "{ Title, Brand, SalesPrice, Ratings, RatingsCount, BSR, Category, Photo, Feature, Description, VariationASIN, MonthlySales }"
+    },
+    {
+      "step": 6,
+      "name": "竞争格局分析",
+      "type": "compute",
+      "logic": "analyzeCompetitiveLandscape(filteredCompetitors, competitorDetails)",
+      "algorithm": {
+        "cr5": {
+          "method": "按品牌汇总销量 → top5品牌销量占比 = top5Sales/totalSales*100",
+          "fallback": "品牌数据不足时默认CR5=30(中等)"
+        },
+        "monopolyLevel": {
+          "low": "CR5<30 → '垄断度低,新卖家突围机会充足'",
+          "medium": "CR5 30-60 → '中等垄断,需差异化策略'",
+          "high": "CR5>60 → '垄断严重,不建议正面硬刚'"
+        },
+        "brandComparison": {
+          "method": "按Brand分组 → 统计skus/totalSales/totalPrice/totalRating → 取top5品牌",
+          "output": "Array<{ brand, skus, avgSales, avgPrice, avgRating }>"
+        },
+        "differentiationAdvice": {
+          "highMonopoly": "切入细分人群赛道,避开头部正面竞争",
+          "lowMonopoly": "新品有充足突围空间",
+          "always": "打造独家设计款,注册外观专利,构建长期溢价能力"
+        },
+        "attackStrategy": "针对TOP竞品的核心差评痛点打造本店独家卖点; 在Listing/主图中做直接对标,抢夺竞品精准用户"
+      },
+      "output": "competitiveLandscape"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "competitors": {
+        "type": "array",
+        "description": "筛选出的直接竞品列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "asin": { "type": "string" },
+            "title": { "type": "string" },
+            "brand": { "type": "string" },
+            "price": { "type": "number" },
+            "rating": { "type": "number" },
+            "ratingsCount": { "type": "integer" },
+            "monthlySales": { "type": "integer" },
+            "bsr": { "type": "integer" },
+            "category": { "type": "string" },
+            "matchScore": { "type": "number" },
+            "matchReasons": { "type": "array", "items": { "type": "string" } }
+          }
+        }
+      },
+      "searchMeta": {
+        "type": "object",
+        "properties": {
+          "totalCandidates": { "type": "integer" },
+          "filteredCount": { "type": "integer" },
+          "filterCriteria": { "type": "object" }
+        }
+      },
+      "competitiveLandscape": {
+        "type": "object",
+        "description": "竞争格局分析(来自computeCompetition算法)",
+        "properties": {
+          "cr5": { "type": "number", "description": "Top5品牌销量集中度(0-100)" },
+          "monopolyLevel": { "type": "string", "enum": ["low", "medium", "high"] },
+          "monopolyLabel": { "type": "string" },
+          "brandComparison": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "properties": {
+                "brand": { "type": "string" },
+                "skus": { "type": "integer" },
+                "avgSales": { "type": "integer" },
+                "avgPrice": { "type": "number" },
+                "avgRating": { "type": "number" }
+              }
+            }
+          },
+          "differentiationAdvice": { "type": "array", "items": { "type": "string" } },
+          "attackStrategy": { "type": "array", "items": { "type": "string" } }
+        }
+      }
+    }
+  },
+  "timeout": 30000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 79 - 0
competitor-analysis/competitor-pricing-analysis/SKILL.md

@@ -0,0 +1,79 @@
+# 竞品定价策略分析 (Competitor Pricing Analysis)
+
+## 技能名称
+competitor-pricing-analysis
+
+## 技能目的
+分析竞品定价策略,包括**5分位价格带**分布、黄金价格带评分、毛利估算、促销建议和盈亏平衡销量分析。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| categoryKeyword | string | 是 | 品类关键词 |
+| competitorAsins | string[] | 是 | 竞品ASIN列表 |
+| ownPrice | number | 否 | 自身产品当前价格,用于对比定位 |
+| domain | integer | 否 | Amazon站点,默认1 |
+
+## 执行流程
+1. 调用 `product-search` 获取品类 Top100 产品价格数据
+2. 批量调用 `product-detail-query` 获取竞品详细定价信息(售价、标价、优惠券、FBA费用)
+3. 调用 `product-monitor` 获取竞品历史价格趋势
+4. 分析计算:
+   - **5分位价格带**: 按P20/P40/P60/P80划分为低价带/中低/黄金中价/中高/高价带,每带统计SKU数/均销量/均评分
+   - **黄金价格带评分**: bandScore = avgSales×0.5 + avgRating×20 + (skuCount>0?10:0),最高分为量利平衡最优带
+   - **竞品定价策略**: 每个竞品的定价模式(渗透定价/溢价定价/跟随定价)
+   - **毛利估算**: 15%佣金+$5FBA+30%采购成本 → grossMargin%, 盈亏平衡销量
+   - **促销建议**: 价格战风险检测,优先多件折扣/满减替代降价
+5. 推荐自身最优定价区间及策略
+
+## 调用的底层 Skill
+- `voc/product-search` — 品类产品列表(含价格)
+- `voc/product-detail-query` — 详细定价信息
+- `voc/product-monitor` — 历史价格趋势
+
+## 返回格式
+```json
+{
+  "priceBands": [
+    { "range": "$10-$20", "label": "低价带", "productCount": 25, "avgRating": 4.1, "avgSales": 1200 },
+    { "range": "$20-$30", "label": "中价带", "productCount": 40, "avgRating": 4.3, "avgSales": 2800 },
+    { "range": "$30-$50", "label": "高价带", "productCount": 20, "avgRating": 4.5, "avgSales": 1500 }
+  ],
+  "competitorPricing": [
+    {
+      "asin": "B0CSVRWJ1H",
+      "brand": "NEST",
+      "currentPrice": 38.00,
+      "listPrice": 48.00,
+      "coupon": 5.00,
+      "pricingStrategy": "溢价定价",
+      "priceHistory": [{ "date": "2026-01", "price": 42.00 }, { "date": "2026-03", "price": 38.00 }],
+      "estimatedMargin": 0.42
+    }
+  ],
+  "ownPricePosition": {
+    "band": "中价带",
+    "percentile": 65,
+    "competitiveness": "中等偏上"
+  },
+  "recommendation": {
+    "optimalRange": [22, 28],
+    "goldenBand": "黄金中价带($20-$30)",
+    "strategy": "在黄金带内定价,配合多件折扣提升连带率",
+    "reasons": ["品类黄金带销量最大且评分最高", "当前价格具备利润空间"]
+  },
+  "marginEstimate": {
+    "currentMargin": 42.5,
+    "suggestedMargin": 45.0,
+    "breakEvenSales": 85
+  },
+  "promotionAdvice": ["不建议直接降价,优先「2件9折」套装折扣", "旺季前配合Coupon+Deal提升转化"]
+}
+```
+
+## 依赖
+- Sorftime API
+- 需要 competitor-discovery 输出的竞品列表
+
+## 对应工作坊环节
+Day1 下午 品牌认知 + Day2 上午 竞品深度分析

+ 176 - 0
competitor-analysis/competitor-pricing-analysis/api-config.json

@@ -0,0 +1,176 @@
+{
+  "name": "competitor-pricing-analysis",
+  "displayName": "竞品定价策略分析",
+  "description": "分析竞品定价策略,包括5分位价格带分布、黄金价格带评分、毛利估算、促销建议和盈亏平衡销量分析",
+  "category": "competitor-analysis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "categoryKeyword": {
+      "type": "string",
+      "required": true,
+      "description": "品类关键词"
+    },
+    "competitorAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "竞品ASIN列表"
+    },
+    "ownPrice": {
+      "type": "number",
+      "required": false,
+      "description": "自身产品当前价格,用于对比定位"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点(1=美国)"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "搜索品类Top100产品价格数据",
+      "api": {
+        "service": "SorftimeApiService.searchProductsByQuery",
+        "endpoint": "/api/ProductQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "Page": 1, "Query": "1", "QueryType": "7", "Pattern": "${categoryKeyword}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "categoryProducts",
+      "responseExtract": "Array<{ Asin, Title, Price, Rating, RatingsCount, MonthlySales, Brand, BSR }>"
+    },
+    {
+      "step": 2,
+      "name": "批量获取竞品详细定价信息",
+      "forEach": "competitorAsins",
+      "api": {
+        "service": "SorftimeApiService.getProductDetail",
+        "endpoint": "/api/ProductRequest",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}", "Trend": 1, "QueryTrendStartDt": "", "QueryTrendEndDt": "" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "competitorDetails",
+      "responseExtract": "{ Title, Brand, SalesPrice, ListPrice, CouponInfo, FBAFee, Ratings, RatingsCount, MonthlySales }"
+    },
+    {
+      "step": 3,
+      "name": "获取竞品历史价格趋势",
+      "forEach": "competitorAsins",
+      "api": {
+        "service": "SorftimeApiService.getMonitorData",
+        "endpoint": "/api/MonitorQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "priceHistory",
+      "responseExtract": "{ PriceHistory, RankHistory }"
+    },
+    {
+      "step": 4,
+      "name": "5分位价格带分析",
+      "type": "compute",
+      "logic": "analyzePriceBands(categoryProducts)",
+      "algorithm": {
+        "quintile": "按P20/P40/P60/P80划分为低价带/中低/黄金中价/中高/高价带",
+        "perBand": "每带统计: skuCount, avgSales, avgRating, avgBsr",
+        "goldenBandScore": "bandScore = avgSales×0.5 + avgRating×20 + (skuCount>0?10:0),最高分为量利平衡最优带"
+      },
+      "output": "priceBands"
+    },
+    {
+      "step": 5,
+      "name": "竞品定价策略识别+毛利估算",
+      "type": "compute",
+      "logic": "analyzeCompetitorPricing(competitorDetails, priceHistory, priceBands, ownPrice)",
+      "algorithm": {
+        "pricingStrategy": "渗透定价(低于P20)/跟随定价(黄金带内)/溢价定价(高于P80)",
+        "marginEstimate": "15%佣金+$5FBA+30%采购成本 → grossMargin%, 盈亏平衡销量",
+        "ownPosition": "自身价格在哪个价格带的哪个百分位",
+        "optimalPrice": "goldenBandMin + (goldenBandMax-goldenBandMin)*0.6 * min(1.15, max(0.85, selfRating/bandAvgRating))",
+        "promotionAdvice": "价格战风险检测,优先多件折扣/满减替代降价"
+      },
+      "output": "pricingAnalysis"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "priceBands": {
+        "type": "array",
+        "description": "5分位价格带分布",
+        "items": {
+          "type": "object",
+          "properties": {
+            "range": { "type": "string" },
+            "label": { "type": "string" },
+            "productCount": { "type": "integer" },
+            "avgRating": { "type": "number" },
+            "avgSales": { "type": "integer" },
+            "isGolden": { "type": "boolean" }
+          }
+        }
+      },
+      "competitorPricing": {
+        "type": "array",
+        "description": "竞品定价详情",
+        "items": {
+          "type": "object",
+          "properties": {
+            "asin": { "type": "string" },
+            "brand": { "type": "string" },
+            "currentPrice": { "type": "number" },
+            "listPrice": { "type": "number" },
+            "coupon": { "type": "number" },
+            "pricingStrategy": { "type": "string" },
+            "priceHistory": { "type": "array" },
+            "estimatedMargin": { "type": "number" }
+          }
+        }
+      },
+      "ownPricePosition": {
+        "type": "object",
+        "properties": {
+          "band": { "type": "string" },
+          "percentile": { "type": "number" },
+          "competitiveness": { "type": "string" }
+        }
+      },
+      "recommendation": {
+        "type": "object",
+        "properties": {
+          "optimalRange": { "type": "array", "items": { "type": "number" } },
+          "goldenBand": { "type": "string" },
+          "strategy": { "type": "string" },
+          "reasons": { "type": "array", "items": { "type": "string" } }
+        }
+      },
+      "marginEstimate": {
+        "type": "object",
+        "properties": {
+          "currentMargin": { "type": "number" },
+          "suggestedMargin": { "type": "number" },
+          "breakEvenSales": { "type": "integer" }
+        }
+      },
+      "promotionAdvice": { "type": "array", "items": { "type": "string" } }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 85 - 0
competitor-analysis/competitor-product-comparison/SKILL.md

@@ -0,0 +1,85 @@
+# 竞品产品对比 (Competitor Product Comparison)
+
+## 技能名称
+competitor-product-comparison
+
+## 技能目的
+对自身产品与竞品进行多维度横向对比,生成5维健康度仪表盘(定价/评分/流量/销量/增长)并标注机会/风险标签。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| ownAsins | string[] | 是 | 自身品牌ASIN列表 |
+| competitorAsins | string[] | 是 | 竞品ASIN列表(来自 competitor-discovery 输出) |
+| domain | integer | 否 | Amazon站点,默认1 |
+| dimensions | string[] | 否 | 对比维度,默认全部 |
+
+## 执行流程
+1. 批量调用 `product-detail-query` 获取所有ASIN的产品详情
+2. 批量调用 `asin-sales-volume` 获取销量数据
+3. 按以下维度生成对比矩阵:
+   - **价格**: 售价、历史价格趋势、折扣力度
+   - **评分**: 平均分、评论数、星级分布(1-5星占比)
+   - **销量**: 月销量、日销量趋势、BSR排名
+   - **产品**: 标题关键词、卖点Feature、图片数量、A+页面
+   - **品牌**: 品牌店铺、FBA/FBM、发货地
+   - **变体**: 变体数量、尺寸/颜色选项
+4. 计算各维度的竞争力得分(0-100)
+5. 标注自身产品的优势维度和劣势维度
+6. **5维健康度评估**(新增):
+   - 定价竞争力(0.2) + 评分健康度(0.25) + 流量排名(0.2) + 销售效率(0.15) + 增长潜力(0.2)
+   - 每个产品生成机会标签 + 风险标签
+   - 识别核心短板(最低分维度)
+
+## 调用的底层 Skill
+- `voc/product-detail-query` — 产品详情
+- `voc/asin-sales-volume` — 销量数据
+- `voc/product-monitor` — 历史趋势数据
+
+## 返回格式
+```json
+{
+  "comparisonMatrix": [
+    {
+      "asin": "B0B24QJ217",
+      "brand": "COCORRINA",
+      "isOwn": true,
+      "metrics": {
+        "price": { "value": 24.99, "score": 78 },
+        "rating": { "value": 4.5, "score": 85 },
+        "monthlySales": { "value": 3200, "score": 72 },
+        "reviewCount": { "value": 1456, "score": 68 },
+        "bsr": { "value": 2300, "score": 75 },
+        "featureCount": { "value": 5, "score": 80 },
+        "variantCount": { "value": 8, "score": 70 }
+      },
+      "overallScore": 75.4
+    }
+  ],
+  "advantages": ["评分高于竞品均值", "价格有竞争力"],
+  "gaps": ["评论数量不足", "变体数量偏少"],
+  "recommendation": "建议增加变体数量并加强评论获取策略",
+  "healthDashboard": {
+    "B0B24QJ217": {
+      "overallScore": 75.4,
+      "dimensions": {
+        "pricingCompetitiveness": 78,
+        "ratingHealth": 85,
+        "trafficRank": 70,
+        "salesEfficiency": 72,
+        "growthPotential": 68
+      },
+      "opportunityTags": ["评分优秀", "定价合理"],
+      "riskTags": ["增长势头放缓"],
+      "coreShortcoming": "增长潜力得分68,需关注销量趋势"
+    }
+  }
+}
+```
+
+## 依赖
+- Sorftime API
+- 需要先通过 competitor-discovery 获取竞品ASIN列表
+
+## 对应工作坊环节
+Day1 下午 16:00-17:00「竞品初筛」后续深度对比

+ 163 - 0
competitor-analysis/competitor-product-comparison/api-config.json

@@ -0,0 +1,163 @@
+{
+  "name": "competitor-product-comparison",
+  "displayName": "竞品产品对比",
+  "description": "对自身产品与竞品进行多维度横向对比,生成5维健康度仪表盘并标注机会/风险标签",
+  "category": "competitor-analysis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "ownAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "自身品牌ASIN列表"
+    },
+    "competitorAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "竞品ASIN列表(来自 competitor-discovery 输出)"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点(1=美国)"
+    },
+    "dimensions": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "description": "对比维度,默认全部"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "批量获取所有ASIN产品详情",
+      "forEach": "ownAsins + competitorAsins",
+      "api": {
+        "service": "SorftimeApiService.getProductDetail",
+        "endpoint": "/api/ProductRequest",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}", "Trend": 1, "QueryTrendStartDt": "", "QueryTrendEndDt": "" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "allProductDetails",
+      "responseExtract": "{ Title, Brand, SalesPrice, Ratings, RatingsCount, BSR, Category, Photo, Feature, Description, VariationASIN, MonthlySales }"
+    },
+    {
+      "step": 2,
+      "name": "批量获取销量数据",
+      "forEach": "ownAsins + competitorAsins",
+      "api": {
+        "service": "SorftimeApiService.getAsinSalesVolume",
+        "endpoint": "/api/AsinSalesVolume",
+        "method": "POST",
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "salesData"
+    },
+    {
+      "step": 3,
+      "name": "多维度对比矩阵计算",
+      "type": "compute",
+      "logic": "buildComparisonMatrix(allProductDetails, salesData, ownAsins)",
+      "algorithm": {
+        "dimensions": {
+          "price": "售价、历史价格趋势、折扣力度",
+          "rating": "平均分、评论数、星级分布(1-5星占比)",
+          "sales": "月销量、日销量趋势、BSR排名",
+          "product": "标题关键词、卖点Feature、图片数量、A+页面",
+          "brand": "品牌店铺、FBA/FBM、发货地",
+          "variant": "变体数量、尺寸/颜色选项"
+        },
+        "scoring": "各维度竞争力得分(0-100)"
+      },
+      "output": "comparisonMatrix"
+    },
+    {
+      "step": 4,
+      "name": "5维健康度评估",
+      "type": "compute",
+      "logic": "calcHealthDashboard(comparisonMatrix, ownAsins)",
+      "algorithm": {
+        "weights": {
+          "pricingCompetitiveness": 0.2,
+          "ratingHealth": 0.25,
+          "trafficRank": 0.2,
+          "salesEfficiency": 0.15,
+          "growthPotential": 0.2
+        },
+        "tags": "每个产品生成机会标签 + 风险标签",
+        "coreShortcoming": "识别最低分维度作为核心短板"
+      },
+      "output": "healthDashboard"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "comparisonMatrix": {
+        "type": "array",
+        "description": "对比矩阵",
+        "items": {
+          "type": "object",
+          "properties": {
+            "asin": { "type": "string" },
+            "brand": { "type": "string" },
+            "isOwn": { "type": "boolean" },
+            "metrics": {
+              "type": "object",
+              "properties": {
+                "price": { "type": "object", "properties": { "value": { "type": "number" }, "score": { "type": "integer" } } },
+                "rating": { "type": "object", "properties": { "value": { "type": "number" }, "score": { "type": "integer" } } },
+                "monthlySales": { "type": "object", "properties": { "value": { "type": "integer" }, "score": { "type": "integer" } } },
+                "reviewCount": { "type": "object", "properties": { "value": { "type": "integer" }, "score": { "type": "integer" } } },
+                "bsr": { "type": "object", "properties": { "value": { "type": "integer" }, "score": { "type": "integer" } } },
+                "featureCount": { "type": "object", "properties": { "value": { "type": "integer" }, "score": { "type": "integer" } } },
+                "variantCount": { "type": "object", "properties": { "value": { "type": "integer" }, "score": { "type": "integer" } } }
+              }
+            },
+            "overallScore": { "type": "number" }
+          }
+        }
+      },
+      "advantages": { "type": "array", "items": { "type": "string" } },
+      "gaps": { "type": "array", "items": { "type": "string" } },
+      "recommendation": { "type": "string" },
+      "healthDashboard": {
+        "type": "object",
+        "description": "5维健康度仪表盘,key为ASIN",
+        "additionalProperties": {
+          "type": "object",
+          "properties": {
+            "overallScore": { "type": "number" },
+            "dimensions": {
+              "type": "object",
+              "properties": {
+                "pricingCompetitiveness": { "type": "integer" },
+                "ratingHealth": { "type": "integer" },
+                "trafficRank": { "type": "integer" },
+                "salesEfficiency": { "type": "integer" },
+                "growthPotential": { "type": "integer" }
+              }
+            },
+            "opportunityTags": { "type": "array", "items": { "type": "string" } },
+            "riskTags": { "type": "array", "items": { "type": "string" } },
+            "coreShortcoming": { "type": "string" }
+          }
+        }
+      }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 77 - 0
review-analysis/review-batch-collection/SKILL.md

@@ -0,0 +1,77 @@
+# 评论批量采集 (Review Batch Collection)
+
+## 技能名称
+review-batch-collection
+
+## 技能目的
+对多个ASIN批量采集Amazon评论数据,支持翻页、星级过滤、去重清洗,并生成**竞品VOC对比汇总**(本店vs竞品均分/差评率/top产品)。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| asins | string[] | 是 | 需要采集评论的ASIN列表(自身+竞品) |
+| maxPagesPerAsin | integer | 否 | 每个ASIN最大翻页数,默认5 |
+| starFilter | integer[] | 否 | 星级过滤,如 [1,2] 只采集差评,不传则采集全部 |
+| onlyVerifiedPurchase | boolean | 否 | 是否只采集已验证购买,默认false |
+| domain | integer | 否 | Amazon站点,默认1 |
+
+## 执行流程
+1. 对每个 ASIN 循环调用 `product-reviews-query`
+2. 每次请求一页(约10条评论),按 `PageIndex` 翻页
+3. 若指定 `starFilter`,使用 `Star` 参数按星级分别请求
+4. 对采集到的评论进行去重(按 ReviewsLink)
+5. 清洗无效评论(内容长度 < 10字符的短评论)
+6. 标准化字段名:Star, Title, Content, ConsumerName, ReviewsDate, IsVP, Helpful
+7. 统计采集概况:各ASIN评论数、星级分布、采集成功率
+8. **竞品VOC对比汇总**(新增):
+   - 本店 vs 竞品加权均分对比
+   - 各店铺差评率(1-2星占比)对比
+   - top5产品排名(按加权评分)
+   - 兼容多种数据源格式(Sorftime PascalCase / 标准 camelCase)
+
+## 调用的底层 Skill
+- `voc/product-reviews-query` — 单ASIN单页评论请求
+
+## 返回格式
+```json
+{
+  "reviews": [
+    {
+      "asin": "B0B24QJ217",
+      "star": 5,
+      "title": "Love this diffuser!",
+      "content": "The scent is amazing and lasts for weeks...",
+      "consumerName": "Jane D.",
+      "reviewDate": "20260204",
+      "isVerifiedPurchase": true,
+      "helpful": 12,
+      "reviewLink": "https://..."
+    }
+  ],
+  "stats": {
+    "totalReviews": 450,
+    "byAsin": {
+      "B0B24QJ217": { "total": 120, "stars": { "5": 65, "4": 30, "3": 12, "2": 8, "1": 5 } }
+    },
+    "overallStarDistribution": { "5": 45, "4": 25, "3": 15, "2": 10, "1": 5 },
+    "avgRating": 4.2,
+    "verifiedPurchaseRate": 78.5
+  },
+  "competitorVocComparison": {
+    "ownBrandAvgRating": 4.3,
+    "competitorAvgRating": 4.1,
+    "ownNegativeRate": 12.5,
+    "competitorNegativeRate": 18.3,
+    "topProducts": [
+      { "asin": "B0B24QJ217", "weightedScore": 4.35, "reviewCount": 120, "rank": 1 }
+    ]
+  }
+}
+```
+
+## 依赖
+- Sorftime API(/api/ProductReviewsQuery)
+- 注意字段名为 PascalCase:ReviewsDate(非ReviewDate)、ReviewedCountry、IsVP、ReviewsLink
+
+## 对应工作坊环节
+Day1 晚 19:00-21:30「试捕电商VOC」— 核心数据采集步骤

+ 194 - 0
review-analysis/review-batch-collection/api-config.json

@@ -0,0 +1,194 @@
+{
+  "name": "review-batch-collection",
+  "displayName": "评论批量采集",
+  "description": "对多个ASIN批量采集Amazon评论,支持翻页和星级过滤,输出结构化评论语料库",
+  "category": "review-analysis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "asins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "ASIN列表"
+    },
+    "maxPagesPerAsin": {
+      "type": "integer",
+      "required": false,
+      "default": 5,
+      "description": "每个ASIN最大翻页数"
+    },
+    "starFilter": {
+      "type": "array",
+      "items": { "type": "integer", "enum": [1, 2, 3, 4, 5] },
+      "required": false,
+      "description": "星级过滤,不传则全部"
+    },
+    "onlyVerifiedPurchase": {
+      "type": "boolean",
+      "required": false,
+      "default": false,
+      "description": "只采集已验证购买"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "批量ASIN×多页评论采集",
+      "forEach": "asins × [1..maxPagesPerAsin] × (starFilter || [null])",
+      "api": {
+        "service": "SorftimeApiService.getProductReviews",
+        "endpoint": "/api/ProductReviewsQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": {
+          "ASIN": "${asin}",
+          "Star": "${star || ''}",
+          "PageIndex": "${pageIndex}",
+          "OnlyPurchase": "${onlyVerifiedPurchase ? 1 : 0}",
+          "QueryStartDt": ""
+        },
+        "queryParams": { "domain": "${domain}" },
+        "rateLimit": "400ms between requests per ASIN"
+      },
+      "output": "rawReviews",
+      "responseFields": {
+        "note": "Sorftime返回的评论字段为PascalCase",
+        "Star": "integer, 1-5",
+        "Title": "string, 评论标题",
+        "Content": "string, 评论正文",
+        "ConsumerName": "string",
+        "ConsumerURL": "string, 用户主页链接",
+        "ReviewsDate": "string, 格式'20260204'",
+        "ReviewedCountry": "string, 如'United States'",
+        "IsVP": "boolean, 已验证购买",
+        "Helpful": "integer",
+        "ReviewsLink": "string, 评论链接",
+        "Asin": "string",
+        "AsinProperty": "string, 变体属性",
+        "Resource": "array, 图片",
+        "Videos": "array"
+      },
+      "pagination": "多页采集时每页请求间隔400ms避免限流,PageIndex从1开始递增直到无更多数据"
+    },
+    {
+      "step": 2,
+      "name": "去重+清洗",
+      "type": "compute",
+      "logic": "deduplicateAndClean(rawReviews)",
+      "algorithm": {
+        "deduplicate": "按ReviewsLink去重",
+        "clean": "过滤Content长度<10的无效短评论",
+        "normalize": "统一字段名为cabmelCase: Star→star, Content→content, ReviewsDate→reviewDate"
+      },
+      "output": "cleanedReviews"
+    },
+    {
+      "step": 3,
+      "name": "统计汇总",
+      "type": "compute",
+      "logic": "computeStats(cleanedReviews)",
+      "algorithm": {
+        "perAsin": "{ total, avgRating, positiveRate(4-5★%), negativeRate(1-2★%), neutralRate(3★%) }",
+        "overall": "{ totalReviews, asinsCollected, avgStarDistribution }",
+        "starDistribution": "统计各星级评论数: groupBy(star) → {1:n,2:n,3:n,4:n,5:n}"
+      },
+      "output": "stats"
+    },
+    {
+      "step": 4,
+      "name": "竞品VOC对比汇总",
+      "type": "compute",
+      "logic": "computeCompetitorVocComparison(cleanedReviews, asins, { ownAsins })",
+      "algorithm": {
+        "grouping": "将ASIN分为本店(ownAsins)和竞品两组",
+        "perGroup": {
+          "count": "产品数",
+          "avgRating": "加权平均评分 = sum(rating*ratingsCount)/sum(ratingsCount)",
+          "totalReviews": "总评论数",
+          "negativeRate": "差评率 = avg(1★%+2★%) per product",
+          "topProducts": "按ratingsCount降序取top5产品: { asin, title(40字), rating, ratingsCount, negativeRate }"
+        },
+        "starPctFields": "星级百分比字段: oneStartRatings/twoStartRatings/threeStartRatings/fourStartRatings/fiveStartRatings",
+        "ratingCalc": "rawRating>0用rawRating; 否则starSum>0时(1*one+2*two+3*three+4*four+5*five)/starSum"
+      },
+      "output": "vocComparison"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "reviews": {
+        "type": "array",
+        "description": "清洗后的评论列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "asin": { "type": "string" },
+            "star": { "type": "integer", "description": "1-5" },
+            "title": { "type": "string" },
+            "content": { "type": "string" },
+            "consumerName": { "type": "string" },
+            "reviewDate": { "type": "string", "description": "原始ReviewsDate格式20260204" },
+            "isVerifiedPurchase": { "type": "boolean", "description": "原始IsVP" },
+            "helpful": { "type": "integer" },
+            "reviewLink": { "type": "string", "description": "原始ReviewsLink" },
+            "variant": { "type": "string", "description": "原始AsinProperty" },
+            "country": { "type": "string", "description": "原始ReviewedCountry" }
+          }
+        }
+      },
+      "stats": {
+        "type": "object",
+        "description": "采集统计概况",
+        "properties": {
+          "totalReviews": { "type": "integer" },
+          "asinsCollected": { "type": "integer" },
+          "avgRating": { "type": "number" },
+          "positiveRate": { "type": "number" },
+          "negativeRate": { "type": "number" },
+          "perAsinStats": { "type": "object" }
+        }
+      },
+      "vocComparison": {
+        "type": "object",
+        "description": "本店vs竞品VOC对比",
+        "properties": {
+          "own": {
+            "type": "object",
+            "properties": {
+              "count": { "type": "integer" },
+              "avgRating": { "type": "number" },
+              "totalReviews": { "type": "integer" },
+              "negativeRate": { "type": "number" },
+              "products": { "type": "array", "items": { "type": "object", "properties": { "asin": {"type":"string"}, "title": {"type":"string"}, "rating": {"type":"number"}, "ratingsCount": {"type":"integer"}, "negativeRate": {"type":"number"} } } }
+            }
+          },
+          "competitor": {
+            "type": "object",
+            "properties": {
+              "count": { "type": "integer" },
+              "avgRating": { "type": "number" },
+              "totalReviews": { "type": "integer" },
+              "negativeRate": { "type": "number" },
+              "products": { "type": "array", "items": { "type": "object", "properties": { "asin": {"type":"string"}, "title": {"type":"string"}, "rating": {"type":"number"}, "ratingsCount": {"type":"integer"}, "negativeRate": {"type":"number"} } } }
+            }
+          }
+        }
+      }
+    }
+  },
+  "timeout": 120000,
+  "retry": {
+    "maxAttempts": 3,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 82 - 0
review-analysis/review-highlight-extraction/SKILL.md

@@ -0,0 +1,82 @@
+# 好评亮点提取 (Review Highlight Extraction)
+
+## 技能名称
+review-highlight-extraction
+
+## 技能目的
+从4-5星好评提取产品亮点聚类,识别竞品核心卖点,并生成**Listing卖点植入建议**(标题前65字符/bullet前2条/A+场景的具体词根建议)。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| reviewCorpus | object | 是 | review-batch-collection 输出的评论语料 |
+| targetAsins | string[] | 否 | 指定分析的ASIN |
+| highlightCategories | string[] | 否 | 预定义亮点类别 |
+
+## 执行流程
+1. 从评论语料中过滤 4-5 星好评
+2. 对每条好评提取亮点关键词和短语
+3. 按亮点类别聚类:
+   - **品质感知**: 材质好、做工精细、耐用
+   - **功能表现**: 效果好、功能实用、性能出色
+   - **设计美学**: 外观好看、设计精美、颜色搭配好
+   - **使用体验**: 方便使用、舒适、操作简单
+   - **性价比**: 物有所值、超出预期
+   - **包装/送礼**: 包装精美、适合送人
+4. 统计各亮点的提及频率和「惊喜度」评分
+5. 按ASIN/品牌对比:哪些亮点是竞品独有优势
+6. 提取可借鉴的竞品卖点
+7. **Listing卖点植入建议**(新增):
+   - 标题前65字符: 必须包含的亮点词根
+   - Bullet前2条: 必备卖点植入
+   - A+场景图: 建议展示的使用场景
+   - 优先级: 必备 > 差异化 > 参考
+
+## 调用的底层 Skill
+- 无直接API调用,纯AI/NLP处理
+
+## 返回格式
+```json
+{
+  "highlights": [
+    {
+      "id": "hl1",
+      "category": "功能表现",
+      "label": "香味浓郁持久",
+      "frequency": 78,
+      "frequencyRate": 45.3,
+      "delightScore": 9.2,
+      "affectedAsins": ["B0CSVRWJ1H"],
+      "representativeReviews": [
+        { "asin": "B0CSVRWJ1H", "star": 5, "excerpt": "The scent fills the entire room within hours..." }
+      ]
+    }
+  ],
+  "competitorAdvantages": {
+    "B0CSVRWJ1H": {
+      "uniqueHighlights": ["高端包装适合送礼", "多种香味可选"],
+      "commonHighlights": ["香味好闻"]
+    }
+  },
+  "actionableInsights": [
+    "竞品NEST的'送礼包装'被频繁提及→考虑推出礼盒版",
+    "多香味组合装是高频好评亮点→可开发混搭套装"
+  ],
+  "listingSellpointAdvice": {
+    "titleFirst65": ["必含: long lasting, natural scent", "建议: home fragrance, reed diffuser set"],
+    "bulletTop2": ["① 强调持久性(lasts 90 days)", "② 强调礼品属性(elegant gift box)"],
+    "aplusScenes": ["客厅日常场景", "节日送礼场景", "卧室放松场景"],
+    "priority": {
+      "mustHave": ["long lasting", "natural"],
+      "differentiation": ["gift set", "variety pack"],
+      "reference": ["eco-friendly", "handmade"]
+    }
+  }
+}
+```
+
+## 依赖
+- 评论语料(来自 review-batch-collection)
+
+## 对应工作坊环节
+Day2 上午 09:50-11:30「竞品VOC深度分析 — 好评亮点」

+ 152 - 0
review-analysis/review-highlight-extraction/api-config.json

@@ -0,0 +1,152 @@
+{
+  "name": "review-highlight-extraction",
+  "displayName": "好评亮点提取",
+  "description": "从好评中提取用户最认可的产品亮点,识别竞品核心卖点和可借鉴的优势",
+  "category": "review-analysis",
+  "version": "1.0.0",
+  "type": "analysis",
+  "parameters": {
+    "reviewCorpus": {
+      "type": "object",
+      "required": true,
+      "description": "review-batch-collection 输出的评论语料"
+    },
+    "targetAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "description": "指定分析的ASIN"
+    },
+    "highlightCategories": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "default": ["品质感知", "功能表现", "设计美学", "使用体验", "性价比", "包装送礼"],
+      "description": "预定义亮点类别"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "过滤好评",
+      "type": "filter",
+      "logic": "filterPositiveReviews(reviewCorpus.reviews, { stars: [4, 5], targetAsins })",
+      "algorithm": {
+        "filter": "star>=4 && (targetAsins.length==0 || targetAsins.includes(asin))",
+        "implementation": "遍历reviews数组,保留star>=4的评论,可选按targetAsins进一步过滤"
+      },
+      "output": "positiveReviews"
+    },
+    {
+      "step": 2,
+      "name": "AI提取亮点主题",
+      "type": "ai",
+      "logic": "extractHighlights(positiveReviews, { highlightCategories })",
+      "aiConfig": {
+        "systemPrompt": "你是跨境电商VOC分析师。只输出一个合法JSON对象。禁止输出Markdown、代码围栏、解释文字。",
+        "userPromptTemplate": "以下是好评样本([星级][ASIN] 标题 | 摘要)。请归纳产品亮点主题,按用户认可度排序:\n${payload}",
+        "outputFormat": "{\"highlights\":[{\"topic\":\"穿着舒适\",\"score\":90,\"category\":\"使用体验\",\"examples\":[\"超级舒服\"]}]}",
+        "temperature": 0.2,
+        "maxTokens": 2000,
+        "payloadFormat": "每条评论格式化为 [star★][ASIN] title | content截取前200字,按batch发送给AI"
+      },
+      "output": "rawHighlights"
+    },
+    {
+      "step": 3,
+      "name": "亮点聚类+热度排序",
+      "type": "compute",
+      "logic": "clusterAndRank(rawHighlights, positiveReviews)",
+      "algorithm": {
+        "cluster": "语义相近的合并为一个topic,各最多8条",
+        "hotScore": "score = frequency*0.5 + sentimentIntensity*0.3 + helpfulCount*0.2",
+        "implementation": "将AI返回的亮点按topic合并,统计frequency,用hotScore公式排序"
+      },
+      "output": "rankedHighlights"
+    },
+    {
+      "step": 4,
+      "name": "识别竞品核心卖点",
+      "type": "compute",
+      "logic": "identifyCompetitorAdvantages(rankedHighlights, targetAsins)",
+      "algorithm": {
+        "perAsin": "每个ASIN的top3亮点 = 该竞品核心卖点",
+        "shared": "多个竞品共有的亮点 = 品类基本需求",
+        "unique": "某竞品独有亮点 = 其差异化优势",
+        "implementation": "按ASIN分组亮点,找出多个ASIN共有的(品类基本需求)和单ASIN独有的(差异化优势)"
+      },
+      "output": "competitorAdvantages"
+    },
+    {
+      "step": 5,
+      "name": "Listing卖点植入建议",
+      "type": "compute",
+      "logic": "generateListingSellpointAdvice(rankedHighlights, competitorAdvantages)",
+      "algorithm": {
+        "titleAdvice": {
+          "rule": "将top3亮点词根植入标题前65字符",
+          "format": "核心词前置 + 用户意图补充 + 中文意图提示"
+        },
+        "bulletAdvice": {
+          "rule": "前1-2个bullet自然融入高频亮点词",
+          "highlight": "突出用户意图,与竞品做差异化"
+        },
+        "aplusAdvice": "A+页面突出好评主题场景化展示,强化用户信任",
+        "sellpointPriority": "品类共有亮点(必备基础) > 本品独有亮点(差异化) > 竞品独有亮点(跟进参考)"
+      },
+      "output": "listingSellpointAdvice"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "highlights": {
+        "type": "array",
+        "description": "按频率排序的亮点列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "topic": { "type": "string" },
+            "score": { "type": "integer", "description": "0-100热度" },
+            "category": { "type": "string" },
+            "frequency": { "type": "integer" },
+            "examples": { "type": "array", "items": { "type": "string" } }
+          }
+        }
+      },
+      "competitorAdvantages": {
+        "type": "object",
+        "description": "各竞品的独有亮点",
+        "additionalProperties": { "type": "array" }
+      },
+      "actionableInsights": {
+        "type": "array",
+        "description": "可执行的产品策略建议",
+        "items": {
+          "type": "object",
+          "properties": {
+            "insight": { "type": "string" },
+            "action": { "type": "string" },
+            "priority": { "type": "string", "enum": ["high", "medium", "low"] }
+          }
+        }
+      },
+      "listingSellpointAdvice": {
+        "type": "object",
+        "description": "Listing卖点植入建议",
+        "properties": {
+          "titleKeywords": { "type": "array", "items": { "type": "string" }, "description": "建议植入标题的亮点词根" },
+          "bulletHighlights": { "type": "array", "items": { "type": "string" }, "description": "建议在bullet中突出的卖点" },
+          "aplusThemes": { "type": "array", "items": { "type": "string" }, "description": "A+页面建议展示的场景主题" },
+          "sellpointPriority": { "type": "array", "items": { "type": "object", "properties": { "sellpoint": {"type":"string"}, "type": {"type":"string", "enum":["required","differentiation","reference"]}, "source": {"type":"string"} } } }
+        }
+      }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 1000,
+    "backoffMultiplier": 2
+  }
+}

+ 71 - 0
review-analysis/review-keyword-cloud/SKILL.md

@@ -0,0 +1,71 @@
+# 评论关键词云 (Review Keyword Cloud)
+
+## 技能名称
+review-keyword-cloud
+
+## 技能目的
+从评论语料生成关键词云,结合ASIN反查关键词,每个关键词带**情感标签**(positive/negative/neutral),构建VOC关键词库。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| reviewCorpus | object | 是 | review-batch-collection 输出的评论语料 |
+| asins | string[] | 否 | ASIN列表,用于调用反查关键词补充 |
+| domain | integer | 否 | Amazon站点,默认1 |
+| topN | integer | 否 | 返回Top N关键词,默认50 |
+| language | string | 否 | 语言,默认 "en" |
+
+## 执行流程
+1. 对评论文本分词,去除停用词
+2. 提取高频单词和短语(1-gram, 2-gram, 3-gram)
+3. 调用 `asin-reverse-keywords` 获取各ASIN关联的搜索关键词
+4. 合并评论关键词和搜索关键词:
+   - 评论关键词:反映用户真实声音和痛点/喜好
+   - 搜索关键词:反映用户搜索意图和购买需求
+5. 为每个关键词标注:
+   - 来源(review/search/both)
+   - **情感标签**(新增):基于情感词典和上下文判断 positive/negative/neutral
+   - 频率/搜索量
+   - 关联ASIN数量
+6. 按权重排序,生成关键词云数据
+7. 输出《电商VOC关键词库》
+
+## 调用的底层 Skill
+- `voc/asin-reverse-keywords` — ASIN反查搜索关键词
+
+## 返回格式
+```json
+{
+  "keywordCloud": [
+    {
+      "keyword": "scent throw",
+      "weight": 95,
+      "frequency": 78,
+      "source": "both",
+      "sentiment": "positive",
+      "searchVolume": 12000,
+      "relatedAsins": 8
+    }
+  ],
+  "categories": {
+    "产品特性": ["scent throw", "long lasting", "reed quality"],
+    "使用场景": ["bedroom", "bathroom", "living room", "gift"],
+    "购买决策": ["value for money", "refill", "variety pack"],
+    "问题反馈": ["oil leak", "weak scent", "dry reeds"]
+  },
+  "searchKeywords": [
+    { "keyword": "reed diffuser", "searchVolume": 45000, "rank": 1 }
+  ],
+  "totalKeywords": 50,
+  "reviewKeywords": 35,
+  "searchKeywords": 28,
+  "overlapKeywords": 13
+}
+```
+
+## 依赖
+- 评论语料(来自 review-batch-collection)
+- Sorftime API(asin-reverse-keywords)
+
+## 对应工作坊环节
+Day1 晚「认知校准&关键词梳理」— 输出《电商VOC关键词库》

+ 136 - 0
review-analysis/review-keyword-cloud/api-config.json

@@ -0,0 +1,136 @@
+{
+  "name": "review-keyword-cloud",
+  "displayName": "评论关键词云",
+  "description": "从评论语料生成关键词云,结合ASIN反查关键词,每个关键词带情感标签,构建VOC关键词库",
+  "category": "review-analysis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "reviewCorpus": {
+      "type": "object",
+      "required": true,
+      "description": "review-batch-collection 输出的评论语料"
+    },
+    "asins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "description": "ASIN列表,用于调用反查关键词补充"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点"
+    },
+    "topN": {
+      "type": "integer",
+      "required": false,
+      "default": 50,
+      "description": "返回Top N关键词"
+    },
+    "language": {
+      "type": "string",
+      "required": false,
+      "default": "en",
+      "description": "语言"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "评论文本分词+高频短语提取",
+      "type": "compute",
+      "logic": "tokenizeAndExtract(reviewCorpus)",
+      "algorithm": {
+        "tokenize": "分词并去除停用词",
+        "ngrams": "提取高频单词和短语(1-gram, 2-gram, 3-gram)",
+        "frequency": "统计词频"
+      },
+      "output": "reviewKeywords"
+    },
+    {
+      "step": 2,
+      "name": "ASIN反查搜索关键词",
+      "condition": "asins && asins.length > 0",
+      "forEach": "asins",
+      "api": {
+        "service": "SorftimeApiService.getAsinKeywords",
+        "endpoint": "/api/ASINRequestKeyword",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "searchKeywords",
+      "responseExtract": "Array<{ Keyword, KeywordCNName, SearchVolume, SearchRank }>"
+    },
+    {
+      "step": 3,
+      "name": "合并关键词+情感标注",
+      "type": "compute",
+      "logic": "mergeAndAnnotate(reviewKeywords, searchKeywords, topN)",
+      "algorithm": {
+        "merge": "合并评论关键词和搜索关键词",
+        "source": "标注来源(review/search/both)",
+        "sentiment": "基于情感词典和上下文判断 positive/negative/neutral",
+        "weight": "按频率/搜索量/关联ASIN数加权排序",
+        "categorize": "分类: 产品特性/使用场景/购买决策/问题反馈"
+      },
+      "output": "keywordCloud"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "keywordCloud": {
+        "type": "array",
+        "description": "关键词云数据",
+        "items": {
+          "type": "object",
+          "properties": {
+            "keyword": { "type": "string" },
+            "weight": { "type": "integer" },
+            "frequency": { "type": "integer" },
+            "source": { "type": "string", "enum": ["review", "search", "both"] },
+            "sentiment": { "type": "string", "enum": ["positive", "negative", "neutral"] },
+            "searchVolume": { "type": "integer" },
+            "relatedAsins": { "type": "integer" }
+          }
+        }
+      },
+      "categories": {
+        "type": "object",
+        "description": "关键词分类",
+        "properties": {
+          "产品特性": { "type": "array", "items": { "type": "string" } },
+          "使用场景": { "type": "array", "items": { "type": "string" } },
+          "购买决策": { "type": "array", "items": { "type": "string" } },
+          "问题反馈": { "type": "array", "items": { "type": "string" } }
+        }
+      },
+      "searchKeywords": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "keyword": { "type": "string" },
+            "searchVolume": { "type": "integer" },
+            "rank": { "type": "integer" }
+          }
+        }
+      },
+      "totalKeywords": { "type": "integer" },
+      "reviewKeywordsCount": { "type": "integer" },
+      "searchKeywordsCount": { "type": "integer" },
+      "overlapKeywords": { "type": "integer" }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 93 - 0
review-analysis/review-pain-point-extraction/SKILL.md

@@ -0,0 +1,93 @@
+# 差评痛点提取 (Review Pain Point Extraction)
+
+## 技能名称
+review-pain-point-extraction
+
+## 技能目的
+从1-2星差评提取痛点聚类,量化频率和严重度,并生成**VOC驱动优化建议**(评分差距/转化影响/listing建议/产品迭代/售后)。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| reviewCorpus | object | 是 | review-batch-collection 输出的评论语料 |
+| targetAsins | string[] | 否 | 指定分析的ASIN,不传则分析全部 |
+| painCategories | string[] | 否 | 预定义痛点类别(如质量/尺码/物流),不传则自动识别 |
+
+## 执行流程
+1. 从评论语料中过滤 1-2 星差评
+2. 对每条差评提取痛点关键词和短语
+3. 按痛点类别聚类:
+   - **产品质量**: 材质差、做工粗糙、易损坏
+   - **尺寸/规格**: 尺码不准、偏大偏小、与描述不符
+   - **功能缺陷**: 功能不工作、效果不持久、性能不足
+   - **外观**: 颜色不符、款式不好看、与图片差异
+   - **物流/包装**: 到货慢、包装破损、缺少配件
+   - **性价比**: 太贵、不值价格、同价位有更好选择
+4. 统计各痛点的:
+   - 提及频率(出现次数/占差评比例)
+   - 严重度评分(基于用户情绪强度和 Helpful 票数)
+   - 代表性差评原文
+5. 按「频率 × 严重度」排序,输出 Top 痛点列表
+6. 标注哪些痛点是竞品独有、哪些是品类通病
+7. **VOC驱动优化建议**(新增):
+   - 评分差距分析: 当前评分 vs 品类基准(4.6)→ 计算需要消除多少差评
+   - 转化影响估算: 每个痛点对转化率的影响程度
+   - 三维建议: listing文案优化 / 产品迭代方向 / 售后策略
+
+## 调用的底层 Skill
+- 无直接API调用,纯AI/NLP处理
+- 输入依赖 `review-analysis/review-batch-collection`
+
+## 返回格式
+```json
+{
+  "painPoints": [
+    {
+      "id": "pp1",
+      "category": "功能缺陷",
+      "label": "香味持续时间短",
+      "frequency": 45,
+      "frequencyRate": 32.5,
+      "severityScore": 8.5,
+      "priorityScore": 87.1,
+      "affectedAsins": ["B0CSVRWJ1H", "B0B24QJ217"],
+      "isIndustryWide": true,
+      "representativeReviews": [
+        { "asin": "B0CSVRWJ1H", "star": 1, "excerpt": "The scent completely disappeared after just 3 days..." }
+      ]
+    }
+  ],
+  "categoryBreakdown": {
+    "功能缺陷": { "count": 85, "rate": 42, "topIssues": ["香味持续短", "Reed不吸油"] },
+    "产品质量": { "count": 40, "rate": 20, "topIssues": ["瓶体漏油", "Reed易折断"] }
+  },
+  "competitorSpecific": {
+    "B0CSVRWJ1H": ["瓶口设计差导致溢出"],
+    "B09ABC456": ["包装简陋不适合送礼"]
+  },
+  "opportunityGaps": [
+    "所有竞品均被投诉香味持续短→研发长效缓释技术可形成差异化"
+  ],
+  "vocOptimizationAdvice": {
+    "ratingGapAnalysis": {
+      "currentRating": 4.2,
+      "categoryBenchmark": 4.6,
+      "gap": 0.4,
+      "negativeReviewsToRemove": 15
+    },
+    "conversionImpact": [
+      { "painPoint": "香味持续时间短", "impactLevel": "high", "estimatedConversionLoss": "8-12%" }
+    ],
+    "listingAdvice": ["在bullet中强调“持续30天”解决最大痛点"],
+    "productIterationAdvice": ["研发长效缓释配方,目标“持续45天+”"],
+    "afterSalesAdvice": ["差评主动联系+免费补发reed棒"]
+  }
+}
+```
+
+## 依赖
+- 评论语料(来自 review-batch-collection)
+- 内置差评关键词提取算法(star<=2过滤 + AI痛点聚类 + severity评分排序)
+
+## 对应工作坊环节
+Day2 上午 09:50-11:30「竞品VOC深度分析 — 差评死穴」

+ 174 - 0
review-analysis/review-pain-point-extraction/api-config.json

@@ -0,0 +1,174 @@
+{
+  "name": "review-pain-point-extraction",
+  "displayName": "差评痛点提取",
+  "description": "从差评中提取用户痛点,按类别聚类,量化频率和严重度,找到竞品死穴",
+  "category": "review-analysis",
+  "version": "1.0.0",
+  "type": "analysis",
+  "parameters": {
+    "reviewCorpus": {
+      "type": "object",
+      "required": true,
+      "description": "review-batch-collection 输出的评论语料"
+    },
+    "targetAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "description": "指定分析的ASIN列表"
+    },
+    "painCategories": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "default": ["产品质量", "尺寸规格", "功能缺陷", "外观", "物流包装", "性价比"],
+      "description": "预定义痛点类别"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "过滤差评",
+      "type": "filter",
+      "logic": "filterNegativeReviews(reviewCorpus.reviews, { stars: [1, 2], targetAsins })",
+      "algorithm": {
+        "filter": "star<=2 && (targetAsins.length==0 || targetAsins.includes(asin))",
+        "implementation": "遍历reviews数组,保留star<=2的评论,可选按targetAsins进一步过滤"
+      },
+      "output": "negativeReviews"
+    },
+    {
+      "step": 2,
+      "name": "AI提取痛点主题",
+      "type": "ai",
+      "logic": "extractPainPoints(negativeReviews, { painCategories })",
+      "aiConfig": {
+        "systemPrompt": "你是跨境电商VOC分析师。只输出一个合法JSON对象。禁止输出Markdown、代码围栏、解释文字。",
+        "userPromptTemplate": "以下是差评样本([星级][ASIN] 标题 | 摘要)。请归纳痛点主题,按严重度排序:\n${payload}",
+        "outputFormat": "{\"painPoints\":[{\"topic\":\"尺码偏小\",\"score\":85,\"category\":\"尺码规格\",\"examples\":[\"偏小一码\"]}]}",
+        "temperature": 0.2,
+        "maxTokens": 2000,
+        "payloadFormat": "每条评论格式化为 [star★][ASIN] title | content截取前200字,按batch发送给AI"
+      },
+      "output": "rawPainPoints"
+    },
+    {
+      "step": 3,
+      "name": "痛点聚类+严重度排序",
+      "type": "compute",
+      "logic": "clusterAndRank(rawPainPoints, negativeReviews)",
+      "algorithm": {
+        "severityScore": "severity = frequency*0.4 + negativeImpact*0.3 + competitorGap*0.3",
+        "cluster": "语义相近的合并为一个topic,各最多8条",
+        "implementation": "将AI返回的痛点按topic合并,统计frequency,用severity公式排序"
+      },
+      "output": "rankedPainPoints"
+    },
+    {
+      "step": 4,
+      "name": "识别差异化机会",
+      "type": "compute",
+      "logic": "identifyOpportunityGaps(rankedPainPoints, targetAsins)",
+      "algorithm": {
+        "crossCompare": "对比各竞品ASIN的痛点分布,找出共性痛点和竞品独有痛点",
+        "opportunity": "共性高频痛点=整个品类机会;竞品独有痛点=针对性超越机会",
+        "implementation": "按ASIN分组痛点,找出多个ASIN共有的痛点(品类机会)和单ASIN独有的痛点(超越机会)"
+      },
+      "output": "opportunities"
+    },
+    {
+      "step": 5,
+      "name": "VOC驱动优化建议",
+      "type": "compute",
+      "logic": "computeVocOptimization(rankedPainPoints, reviewCorpus)",
+      "algorithm": {
+        "ratingGapAnalysis": {
+          "benchmark": 4.6,
+          "formula": "ratingGap = 4.6 - avgRating",
+          "conversionImpact": "ratingGap>0 → '差距X分约影响X*100%+的转化率'",
+          "target": "将均分提升至4.6+进入第一梯队"
+        },
+        "themeExtraction": {
+          "positiveThemes": "从正面评论中提取top5好评主题",
+          "negativeThemes": "从负面评论中提取top5差评主题"
+        },
+        "listingAdvice": [
+          "标题/五点优先植入好评词根",
+          "针对差评痛点做针对性承诺,打消用户顾虑,预计提升转化率15%+",
+          "A+页面突出差异化卖点与使用场景"
+        ],
+        "productIterationAdvice": [
+          "产品升级重点解决top3差评痛点",
+          "目标将均分提升至4.6+进入第一梯队"
+        ],
+        "afterSalesAdvice": [
+          "建立差评快速响应机制,24小时内联系差评用户解决问题",
+          "对到货用户精准售后跟进,引导好评",
+          "针对核心痛点在包裹内放置说明卡片,预计降低退货率10%+"
+        ]
+      },
+      "output": "vocOptimization"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "painPoints": {
+        "type": "array",
+        "description": "按优先级排序的痛点列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "topic": { "type": "string" },
+            "score": { "type": "integer", "description": "0-100严重度" },
+            "category": { "type": "string" },
+            "frequency": { "type": "integer" },
+            "examples": { "type": "array", "items": { "type": "string" } },
+            "affectedAsins": { "type": "array", "items": { "type": "string" } }
+          }
+        }
+      },
+      "categoryBreakdown": {
+        "type": "object",
+        "description": "按类别的痛点分布"
+      },
+      "competitorSpecific": {
+        "type": "object",
+        "description": "各竞品独有的痛点",
+        "additionalProperties": { "type": "array" }
+      },
+      "opportunityGaps": {
+        "type": "array",
+        "description": "差异化机会点",
+        "items": {
+          "type": "object",
+          "properties": {
+            "painPoint": { "type": "string" },
+            "severity": { "type": "integer" },
+            "suggestion": { "type": "string" },
+            "expectedImpact": { "type": "string", "enum": ["high", "medium", "low"] }
+          }
+        }
+      },
+      "vocOptimization": {
+        "type": "object",
+        "description": "VOC驱动优化建议",
+        "properties": {
+          "ratingGap": { "type": "number", "description": "与标枆4.6的差距" },
+          "conversionImpact": { "type": "string", "description": "差距对转化率的影响估算" },
+          "topPositiveThemes": { "type": "array", "items": { "type": "string" } },
+          "topNegativeThemes": { "type": "array", "items": { "type": "string" } },
+          "listingAdvice": { "type": "array", "items": { "type": "string" } },
+          "productIterationAdvice": { "type": "array", "items": { "type": "string" } },
+          "afterSalesAdvice": { "type": "array", "items": { "type": "string" } }
+        }
+      }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 1000,
+    "backoffMultiplier": 2
+  }
+}

+ 78 - 0
review-analysis/review-sentiment-analysis/SKILL.md

@@ -0,0 +1,78 @@
+# 评论情感分析 (Review Sentiment Analysis)
+
+## 技能名称
+review-sentiment-analysis
+
+## 技能目的
+对评论语料库进行情感分析,使用**情感短语规则**(regex多词匹配)和星级回退分类,生成**情感词云**,按ASIN/品牌聚合情感指标。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| reviewCorpus | object | 是 | review-batch-collection 输出的评论语料 |
+| language | string | 否 | 语言,默认 "en" |
+| sentimentThreshold | object | 否 | 情感分类阈值 {positiveMin, negativeMax},默认 {0.6, 0.4} |
+
+## 执行流程
+1. 接收 review-batch-collection 的输出
+2. 对每条评论执行情感分析:
+   - **情感短语规则**(新增):regex匹配多词情感短语(too small/well made/fell apart等),短语优先于单词
+   - **情感词典**:正面词(comfortable/durable/excellent...) + 负面词(disappointed/flimsy/broke...)
+   - 星级回退:无情感词匹配时 star>=4→positive, star<=2→negative, star==3→neutral
+   - 提取情感关键短语(如 "perfect fit", "too small", "great quality")
+3. 按ASIN聚合:
+   - 好评率、差评率、中性率
+   - 各ASIN的Top情感短语
+4. 按品牌聚合:
+   - 品牌整体情感倾向
+   - 品牌间情感差异对比
+5. 提取全局情感热词 Top 20
+6. **生成情感词云**(新增):每个关键词带 positive/negative/neutral 标签,count→weight归一化
+
+## 调用的底层 Skill
+- 无直接API调用,纯AI/NLP处理
+- 输入依赖 `review-analysis/review-batch-collection`
+
+## 返回格式
+```json
+{
+  "reviewSentiments": [
+    {
+      "reviewId": "...",
+      "asin": "B0B24QJ217",
+      "sentiment": "positive",
+      "score": 0.85,
+      "keyPhrases": ["perfect scent", "long lasting", "beautiful packaging"]
+    }
+  ],
+  "asinAggregation": {
+    "B0B24QJ217": {
+      "positiveRate": 72.5,
+      "negativeRate": 15.3,
+      "neutralRate": 12.2,
+      "topPositive": ["scent quality", "packaging"],
+      "topNegative": ["reed quality", "oil leaking"]
+    }
+  },
+  "globalHotPhrases": {
+    "positive": [
+      { "phrase": "great scent", "count": 45, "score": 0.92 }
+    ],
+    "negative": [
+      { "phrase": "reeds dry out", "count": 23, "score": 0.15 }
+    ]
+  },
+  "sentimentWordCloud": [
+    { "word": "scent", "sentiment": "positive", "count": 120, "weight": 95 },
+    { "word": "leak", "sentiment": "negative", "count": 35, "weight": 42 },
+    { "word": "packaging", "sentiment": "neutral", "count": 28, "weight": 33 }
+  ]
+}
+```
+
+## 依赖
+- 评论语料(来自 review-batch-collection)
+- 内置情感分析引擎(星级快速分类 + 可选NLP微调边缘情况)
+
+## 对应工作坊环节
+Day1 晚 20:30-21:30「认知校准&关键词梳理」

+ 172 - 0
review-analysis/review-sentiment-analysis/api-config.json

@@ -0,0 +1,172 @@
+{
+  "name": "review-sentiment-analysis",
+  "displayName": "评论情感分析",
+  "description": "对评论语料库进行情感分析,分类正面/负面/中性,提取情感关键短语并按ASIN/品牌聚合",
+  "category": "review-analysis",
+  "version": "1.0.0",
+  "type": "analysis",
+  "parameters": {
+    "reviewCorpus": {
+      "type": "object",
+      "required": true,
+      "description": "review-batch-collection 输出的评论语料"
+    },
+    "language": {
+      "type": "string",
+      "required": false,
+      "default": "en",
+      "description": "评论语言"
+    },
+    "sentimentThreshold": {
+      "type": "object",
+      "required": false,
+      "default": { "positiveMin": 0.6, "negativeMax": 0.4 },
+      "properties": {
+        "positiveMin": { "type": "number" },
+        "negativeMax": { "type": "number" }
+      },
+      "description": "情感分类阈值"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "星级情感分类",
+      "type": "compute",
+      "logic": "sentimentClassify(reviewCorpus.reviews, { language, sentimentThreshold })",
+      "algorithm": {
+        "primaryRule": "基于星级快速分类: star>=4→positive, star<=2→negative, star==3→neutral",
+        "secondaryRule": "可选NLP情感分析微调,处理4★但内容消极/2★但内容积极的边缘情况",
+        "implementation": "遍历reviews数组,根据star字段分类,边缘情况可选用NLP微调"
+      },
+      "output": "classifiedReviews"
+    },
+    {
+      "step": 2,
+      "name": "按ASIN聚合情感指标",
+      "type": "compute",
+      "logic": "aggregateByAsin(classifiedReviews)",
+      "algorithm": {
+        "perAsin": "{ positivePct, neutralPct, negativePct, total }",
+        "percentCalc": "Math.round((count/total)*1000)/10 → 保留一位小数",
+        "implementation": "groupBy(asin) → 每组统计positive/neutral/negative数量和百分比"
+      },
+      "output": "asinAggregation"
+    },
+    {
+      "step": 3,
+      "name": "提取全局情感热词",
+      "type": "compute",
+      "logic": "extractGlobalHotPhrases(classifiedReviews)",
+      "algorithm": {
+        "tokenize": "分词 + 停用词过滤(the/a/an/is/it/i/my/to/and/of/for/in...)",
+        "freqCount": "统计词频,按频率降序排列",
+        "phraseExtract": "提取高频短语(2-3词组合),如'scent throw', 'oil refill'",
+        "splitBysentiment": "分别统计正面/负面评论中的高频词",
+        "implementation": "split+toLowerCase+停用词过滤 → Map<word,count> → 按count降序取topN"
+      },
+      "output": "globalHotPhrases"
+    },
+    {
+      "step": 4,
+      "name": "情感短语识别+情感词云",
+      "type": "compute",
+      "logic": "extractSentimentKeywordCloud(classifiedReviews)",
+      "algorithm": {
+        "sentimentPhraseRules": {
+          "description": "Regex模式匹配多词情感短语,短语优先于单词",
+          "negativePhrases": [
+            "too small", "too big", "too short", "too long", "too tight", "too thin",
+            "poor quality", "bad quality", "cheaply made",
+            "fell apart", "doesn't fit", "not worth", "waste of money",
+            "not as described/pictured/shown/advertised",
+            "wrong size", "wrong color", "bad smell", "chemical smell",
+            "sent back", "returned it", "ripped/torn", "stained"
+          ],
+          "positivePhrases": [
+            "well made", "high quality", "great quality", "good quality",
+            "perfect fit", "fits perfectly/great/well",
+            "highly recommend", "fast shipping",
+            "great value/price/deal", "worth the money/penny",
+            "loved it", "very comfortable/soft/warm",
+            "true to size", "exceeded expectations",
+            "beautiful/gorgeous", "super soft", "pleasantly surprised"
+          ]
+        },
+        "sentimentWordDictionary": {
+          "positive": ["comfortable", "durable", "sturdy", "soft", "affordable", "flattering", "recommend", "amazing", "awesome", "excellent", "fantastic", "stylish", "elegant", "versatile", "lightweight", "breathable"],
+          "negative": ["disappointed", "disappointing", "flimsy", "cheap", "broke", "broken", "defective", "damaged", "uncomfortable", "itchy", "scratchy", "rough", "terrible", "horrible", "awful", "worst", "misleading", "refund", "shrunk", "faded", "wrinkled", "unraveled", "fraying", "pilling", "transparent", "see-through", "smelly", "stiff"]
+        },
+        "mergeAndOutput": {
+          "phraseMinCount": 2,
+          "wordMinCount": 3,
+          "perSentiment": "正面和负面各取top10",
+          "weight": "count/maxCount * 100"
+        }
+      },
+      "output": "sentimentKeywordCloud"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "reviewSentiments": {
+        "type": "array",
+        "description": "带情感标签的评论列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "asin": { "type": "string" },
+            "star": { "type": "integer" },
+            "sentiment": { "type": "string", "enum": ["positive", "negative", "neutral"] },
+            "title": { "type": "string" },
+            "content": { "type": "string" }
+          }
+        }
+      },
+      "asinAggregation": {
+        "type": "object",
+        "description": "按ASIN聚合的情感指标",
+        "additionalProperties": {
+          "type": "object",
+          "properties": {
+            "total": { "type": "integer" },
+            "positivePct": { "type": "number" },
+            "neutralPct": { "type": "number" },
+            "negativePct": { "type": "number" }
+          }
+        }
+      },
+      "globalHotPhrases": {
+        "type": "object",
+        "description": "全局情感热词",
+        "properties": {
+          "positive": { "type": "array", "items": { "type": "object", "properties": { "phrase": { "type": "string" }, "frequency": { "type": "integer" } } } },
+          "negative": { "type": "array", "items": { "type": "object", "properties": { "phrase": { "type": "string" }, "frequency": { "type": "integer" } } } }
+        }
+      },
+      "sentimentKeywordCloud": {
+        "type": "array",
+        "description": "带情感标签的关键词云(短语+单词)",
+        "items": {
+          "type": "object",
+          "properties": {
+            "text": { "type": "string" },
+            "weight": { "type": "integer", "description": "0-100权重" },
+            "sentiment": { "type": "string", "enum": ["positive", "negative"] }
+          }
+        }
+      }
+    }
+  },
+  "algorithmNotes": {
+    "starRatings": "Sorftime返回的星级字段(fiveStartRatings等)是百分比值,不是计数,加权评分=sum(star*pct)/sum(pct)",
+    "stopWords": "English停用词表: the/a/an/is/it/i/my/to/and/of/for/in/this/that/was/with/but/have/not/are"
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 1000,
+    "backoffMultiplier": 2
+  }
+}

+ 2 - 2
social-media/instagram-search/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "instagram_search",
+{
+  "name": "instagram-search",
   "displayName": "Instagram 搜索",
   "description": "按关键词搜索 Instagram 用户/品牌账号,返回匹配的用户列表。用于竞品品牌 Instagram 账号发现、红人搜索。",
   "category": "social-media",

+ 2 - 2
social-media/instagram-user-info/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "instagram_user_info",
+{
+  "name": "instagram-user-info",
   "displayName": "Instagram 用户详情",
   "description": "根据用户名获取 Instagram 用户的完整资料,包括粉丝数、关注数、帖子数、个人简介、是否认证等。用于竞品品牌社媒画像分析、红人详情获取。",
   "category": "social-media",

+ 2 - 2
social-media/instagram-user-posts/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "instagram_user_posts",
+{
+  "name": "instagram-user-posts",
   "displayName": "Instagram 用户帖子列表",
   "description": "获取指定 Instagram 用户发布的帖子列表,包括图片、点赞数、评论数等。用于竞品内容策略分析、发帖频率和互动率评估。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-hashtag-detail/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_hashtag_detail",
+{
+  "name": "tiktok-hashtag-detail",
   "displayName": "TikTok 话题详情",
   "description": "根据话题/标签 ID 获取话题详情,包括总播放量、视频数量等。用于品类社媒热度统计、话题趋势追踪。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-hashtag-videos/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_hashtag_videos",
+{
+  "name": "tiktok-hashtag-videos",
   "displayName": "TikTok 话题视频列表",
   "description": "获取指定话题/标签下的视频列表,用于分析话题内容趋势、发现热门创作者。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-user-posts/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_user_posts",
+{
+  "name": "tiktok-user-posts",
   "displayName": "TikTok 用户作品列表",
   "description": "获取指定 TikTok 用户发布的视频列表,包括每个视频的播放量和互动数据。用于竞品内容策略分析、红人内容表现评估。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-user-profile/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_user_profile",
+{
+  "name": "tiktok-user-profile",
   "displayName": "TikTok 用户详情",
   "description": "根据用户名获取 TikTok 用户的完整资料,包括粉丝数、获赞数、作品数、个人简介等。用于竞品品牌社媒画像、红人详情分析。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-user-search/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_user_search",
+{
+  "name": "tiktok-user-search",
   "displayName": "TikTok 用户搜索",
   "description": "按关键词搜索 TikTok 用户/达人,返回用户列表及粉丝数、关注数等基础信息。用于红人发现、达人库建设。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-video-comments/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_video_comments",
+{
+  "name": "tiktok-video-comments",
   "displayName": "TikTok 视频评论查询",
   "description": "获取指定 TikTok 视频的用户评论列表,用于社媒用户情感分析、需求挖掘、红人互动率计算。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-video-detail/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_video_detail",
+{
+  "name": "tiktok-video-detail",
   "displayName": "TikTok 视频详情",
   "description": "根据视频 ID 获取单条 TikTok 视频的完整信息,包括播放量、互动数据、作者信息、话题标签等。用于爆款视频深度分析。",
   "category": "social-media",

+ 2 - 2
social-media/tiktok-video-search/api-config.json

@@ -1,5 +1,5 @@
-{
-  "name": "tiktok_video_search",
+{
+  "name": "tiktok-video-search",
   "displayName": "TikTok 视频搜索",
   "description": "按关键词搜索 TikTok 视频,返回视频列表及播放量、点赞、评论、分享等互动数据。用于社媒热度分析、爆款视频发现、品类 TikTok 播放量统计。",
   "category": "social-media",

+ 80 - 0
social-voc/instagram-brand-voc/SKILL.md

@@ -0,0 +1,80 @@
+# Instagram品牌VOC采集 (Instagram Brand VOC)
+
+## 技能名称
+instagram-brand-voc
+
+## 技能目的
+搜索并采集竞品品牌在 Instagram 上的账号信息、发布内容和粉丝互动数据,分析品牌IG策略和用户反馈。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| brandNames | string[] | 是 | 竞品品牌名称列表 |
+| postsPerBrand | integer | 否 | 每个品牌采集的帖子数,默认12 |
+
+## 执行流程
+1. 对每个品牌名称调用 `instagram-search` 搜索品牌账号
+2. 对匹配的品牌账号调用 `instagram-user-info` 获取详情(粉丝数、帖子数、简介)
+3. 调用 `instagram-user-posts` 获取品牌最近发布的帖子
+4. 分析品牌IG画像:
+   - **账号概况**: 粉丝数、关注数、帖子总数、简介关键词
+   - **内容策略**: 图片/视频/Reels比例、发布频率、标题风格
+   - **互动表现**: 平均点赞/评论、互动率趋势
+   - **视觉风格**: 主色调、图片风格一致性(需人工判断)
+   - **标签策略**: 常用 Hashtag 列表
+
+## 调用的底层 Skill
+- `social-media/instagram-search` — 搜索IG账号
+- `social-media/instagram-user-info` — IG用户详情
+- `social-media/instagram-user-posts` — IG用户帖子列表
+
+## 返回格式
+```json
+{
+  "brands": [
+    {
+      "brandName": "NEST New York",
+      "instagramAccount": {
+        "username": "nestfragrances",
+        "fullName": "NEST New York",
+        "followers": 280000,
+        "following": 450,
+        "postCount": 2300,
+        "bio": "Luxury home fragrances...",
+        "isVerified": true,
+        "profilePicUrl": "..."
+      },
+      "contentStrategy": {
+        "postFrequency": "5-6/week",
+        "contentMix": { "image": 45, "video": 20, "reels": 30, "carousel": 5 },
+        "avgLikes": 3200,
+        "avgComments": 85,
+        "engagementRate": 1.2
+      },
+      "recentPosts": [
+        {
+          "postId": "...",
+          "type": "image",
+          "caption": "...",
+          "likes": 5600,
+          "comments": 120,
+          "hashtags": ["#nestnewyork", "#homefragrance"]
+        }
+      ],
+      "hashtagStrategy": ["#homefragrance", "#candles", "#homedecor", "#luxuryliving"]
+    }
+  ],
+  "crossBrandComparison": {
+    "followerRanking": ["NEST New York", "Paddywax", "COCORRINA"],
+    "engagementRanking": ["Paddywax", "COCORRINA", "NEST New York"],
+    "visualStyleDiff": "NEST偏高端极简,Paddywax偏手工温馨,COCORRINA偏清新自然"
+  }
+}
+```
+
+## 依赖
+- TikHub API(通过 https://server.fmode.cn/thapi)— Instagram接口
+- Bearer Token: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==
+
+## 对应工作坊环节
+Day2 上午 09:00-09:50「社媒VOC采集 — Instagram品牌声音」

+ 117 - 0
social-voc/instagram-brand-voc/api-config.json

@@ -0,0 +1,117 @@
+{
+  "name": "instagram-brand-voc",
+  "displayName": "Instagram品牌VOC采集",
+  "description": "搜索竞品品牌Instagram账号,采集帖子和互动数据,分析品牌IG策略",
+  "category": "social-voc",
+  "version": "1.0.0",
+  "type": "orchestration",
+  "parameters": {
+    "brandNames": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "竞品品牌名称列表"
+    },
+    "postsPerBrand": {
+      "type": "integer",
+      "required": false,
+      "default": 12,
+      "description": "每个品牌采集的帖子数"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "搜索品牌Instagram账号",
+      "forEach": "brandNames",
+      "api": {
+        "skill": "social-media/instagram-search",
+        "endpoint": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_search",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "query": "${brandName}", "select": "users" }
+      },
+      "output": "searchResults",
+      "responseExtract": "users[] → { user: { pk, username, full_name, is_verified, profile_pic_url, follower_count, is_private } }",
+      "postProcess": "每个品牌取follower_count最高且is_verified的账号作topMatch"
+    },
+    {
+      "step": 2,
+      "name": "获取品牌账号详细资料",
+      "forEach": "searchResults.topMatch",
+      "api": {
+        "skill": "social-media/instagram-user-info",
+        "endpoint": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_info_by_username",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "username": "${account.username}" }
+      },
+      "output": "brandProfiles",
+      "responseExtract": "{ user: { pk, username, full_name, biography, follower_count, following_count, media_count, is_verified, profile_pic_url } }"
+    },
+    {
+      "step": 3,
+      "name": "采集品牌帖子",
+      "forEach": "brandProfiles",
+      "api": {
+        "skill": "social-media/instagram-user-posts",
+        "endpoint": "https://server.fmode.cn/thapi/v1/instagram/v1/fetch_user_posts",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "user_id": "${profile.user.pk}", "count": "${postsPerBrand}" }
+      },
+      "output": "brandPosts",
+      "responseExtract": "items[] → { id, caption:{text}, like_count, comment_count, media_type, taken_at, image_versions2 }"
+    },
+    {
+      "step": 4,
+      "name": "Instagram品牌VOC分析",
+      "type": "compute",
+      "logic": "analyzeInstagramBrandVoc(brandProfiles, brandPosts)",
+      "algorithm": {
+        "brandMetrics": "{ followerCount, mediaCount, avgLikeCount, avgCommentCount, avgEngagementRate, postFrequency }",
+        "engagementRate": "(like_count + comment_count) / follower_count * 100",
+        "contentAnalysis": "仌caption.text提取高频hashtag和内容主题",
+        "postingPattern": "分析发布频率和最佳发布时间",
+        "crossBrand": "多品牌横向对比: 粉丝数/互动率/发布频率/内容类型"
+      },
+      "output": "igBrandAnalysis"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "brands": {
+        "type": "array",
+        "description": "各品牌IG画像",
+        "items": {
+          "type": "object",
+          "properties": {
+            "brandName": { "type": "string" },
+            "username": { "type": "string" },
+            "followerCount": { "type": "integer" },
+            "mediaCount": { "type": "integer" },
+            "avgEngagementRate": { "type": "number" },
+            "topHashtags": { "type": "array" },
+            "contentThemes": { "type": "array" }
+          }
+        }
+      },
+      "crossBrandComparison": {
+        "type": "object",
+        "description": "品牌间横向对比",
+        "properties": {
+          "followerRanking": { "type": "array" },
+          "engagementRanking": { "type": "array" },
+          "contentStrategyComparison": { "type": "object" }
+        }
+      }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 74 - 0
social-voc/social-trend-analysis/SKILL.md

@@ -0,0 +1,74 @@
+# 社媒趋势与热度分析 (Social Trend Analysis)
+
+## 技能名称
+social-trend-analysis
+
+## 技能目的
+综合TikTok和Instagram数据,分析品类社媒趋势和热度,生成**优先级行动清单**(按紧迫度排序的社媒营销任务)。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| tiktokCategoryVoc | object | 是 | tiktok-category-voc 输出的品类VOC数据 |
+| tiktokBrandVoc | object | 是 | tiktok-brand-voc 输出的品牌VOC数据 |
+| instagramBrandVoc | object | 是 | instagram-brand-voc 输出的品牌IG数据 |
+| categoryKeyword | string | 是 | 品类关键词 |
+
+## 执行流程
+1. 接收 3 个社媒 VOC skill 的输出数据
+2. 跨平台分析:
+   - **平台热度对比**: TikTok vs Instagram 上品类讨论量和参与度对比
+   - **内容趋势**: 什么类型的内容获得最多互动(测评/教程/日常分享/挑战)
+   - **话题热度排名**: 品类相关话题/标签的热度排序
+   - **品牌社媒表现对比**: 各竞品在不同平台的表现差异
+   - **用户画像线索**: 从社媒互动中提取用户特征(年龄段、兴趣标签、地域)
+   - **内容机会**: 高需求但低供给的内容类型(如缺少对比评测、缺少使用教程)
+3. 识别趋势信号:
+   - 新兴话题(近期增长快的标签)
+   - 衰退话题(互动量下降的内容方向)
+   - KOL/红人推荐趋势
+4. **优先级行动清单**(新增):
+   - 条件触发式优先级排序: 内容空缺填补 > KOL合作 > 话题参与 > 广告投放
+   - 每项行动标注紧迫度(high/medium/low)和预期效果
+5. 输出社媒趋势报告
+
+## 调用的底层 Skill
+- 无直接API调用,纯数据分析
+- 输入依赖 `social-voc/tiktok-category-voc`, `social-voc/tiktok-brand-voc`, `social-voc/instagram-brand-voc`
+
+## 返回格式
+```json
+{
+  "platformComparison": {
+    "tiktok": { "totalViews": 125000000, "avgEngagement": 5.2, "dominantFormat": "短视频测评" },
+    "instagram": { "totalReach": 45000000, "avgEngagement": 1.8, "dominantFormat": "精美图片" }
+  },
+  "trendingTopics": [
+    { "topic": "clean fragrance", "platform": "both", "growth": "rising", "heatScore": 92 },
+    { "topic": "reed diffuser DIY", "platform": "tiktok", "growth": "emerging", "heatScore": 78 }
+  ],
+  "brandSocialRanking": [
+    { "brand": "NEST", "tiktokScore": 85, "instagramScore": 92, "overallScore": 88.5 }
+  ],
+  "contentOpportunities": [
+    "品类缺少'不同房间推荐'类教程内容,可填补空白",
+    "对比评测视频互动率最高但产出最少,建议重点投入"
+  ],
+  "audienceInsights": {
+    "ageGroups": { "18-24": 25, "25-34": 45, "35-44": 20, "45+": 10 },
+    "topInterests": ["home decor", "self-care", "wellness", "gift ideas"],
+    "peakEngagementTimes": ["周三 20:00", "周六 10:00"]
+  },
+  "priorityActions": [
+    { "action": "制作“不同房间推荐”对比评测视频", "urgency": "high", "platform": "tiktok", "expectedImpact": "填补内容空缺,预计互动率提升200%" },
+    { "action": "联系3-5个家居博主合作种草", "urgency": "medium", "platform": "instagram", "expectedImpact": "品牌曝光提升" },
+    { "action": "参与#cleanhome话题挑战", "urgency": "medium", "platform": "tiktok", "expectedImpact": "借势热度话题" }
+  ]
+}
+```
+
+## 依赖
+- tiktok-category-voc、tiktok-brand-voc、instagram-brand-voc 的输出数据
+
+## 对应工作坊环节
+Day2 上午 补充分析,为「竞品VOC诊断」和「用户画像」提供社媒维度数据

+ 176 - 0
social-voc/social-trend-analysis/api-config.json

@@ -0,0 +1,176 @@
+{
+  "name": "social-trend-analysis",
+  "displayName": "社媒趋势与热度分析",
+  "description": "综合TikTok和Instagram数据,分析品类社媒趋势、热度走向和内容生态",
+  "category": "social-voc",
+  "version": "1.0.0",
+  "type": "analysis",
+  "parameters": {
+    "tiktokCategoryVoc": {
+      "type": "object",
+      "required": true,
+      "description": "tiktok-category-voc 输出数据"
+    },
+    "tiktokBrandVoc": {
+      "type": "object",
+      "required": true,
+      "description": "tiktok-brand-voc 输出数据"
+    },
+    "instagramBrandVoc": {
+      "type": "object",
+      "required": true,
+      "description": "instagram-brand-voc 输出数据"
+    },
+    "categoryKeyword": {
+      "type": "string",
+      "required": true,
+      "description": "品类关键词"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "跨平台热度对比",
+      "type": "compute",
+      "logic": "comparePlatforms(tiktokCategoryVoc, instagramBrandVoc)",
+      "algorithm": {
+        "tiktokHeat": "totalPlayCount + avgEngagementRate + hashtagViewCount",
+        "instagramHeat": "totalFollowers + avgEngagementRate + avgLikeCount",
+        "comparison": "对比两个平台的品类热度/互动质量/内容形式偏好"
+      },
+      "output": "platformComparison"
+    },
+    {
+      "step": 2,
+      "name": "趋势话题识别",
+      "type": "compute",
+      "logic": "identifyTrends(tiktokCategoryVoc, tiktokBrandVoc, instagramBrandVoc)",
+      "algorithm": {
+        "topicMerge": "合并TikTok视频desc高频词 + IG帖子caption高频hashtag",
+        "trendScore": "trendScore = viewCount*0.3 + engagementRate*0.3 + recentGrowth*0.4",
+        "classify": "分类为: 产品趋势/使用场景/内容形式/季节性热点"
+      },
+      "output": "trends"
+    },
+    {
+      "step": 3,
+      "name": "品牌社媒综合排名",
+      "type": "compute",
+      "logic": "rankBrandSocial(tiktokBrandVoc, instagramBrandVoc)",
+      "algorithm": {
+        "socialScore": "socialScore = tkFollowers*0.2 + tkEngagement*0.2 + igFollowers*0.2 + igEngagement*0.2 + postFrequency*0.1 + contentQuality*0.1",
+        "ranking": "按socialScore降序排名",
+        "insights": "每个品牌的社媒策略特点: TikTok偏重型/IG偏重型/双平台均衡型"
+      },
+      "output": "brandRanking"
+    },
+    {
+      "step": 4,
+      "name": "内容机会发现",
+      "type": "compute",
+      "logic": "findContentOpportunities(tiktokCategoryVoc, instagramBrandVoc)",
+      "algorithm": {
+        "gapAnalysis": "品类热门话题 vs 品牌已覆盖话题 → 发现未覆盖热点",
+        "formatGap": "当前品类爆款内容形式 vs 品牌已采用形式",
+        "timingOpportunity": "热门发布时间 vs 品牌当前发布时间"
+      },
+      "output": "opportunities"
+    },
+    {
+      "step": 5,
+      "name": "优先级行动清单",
+      "type": "compute",
+      "logic": "computeActions(platformComparison, trends, brandRanking, opportunities)",
+      "algorithm": {
+        "priorityRules": [
+          { "priority": "highest", "condition": "未覆盖热门话题存在", "action": "立即跟进未覆盖话题,发布相关内容", "deadline": "3天内" },
+          { "priority": "high", "condition": "互动率低于品类平均", "action": "优化内容形式,参考品类爆款视频结构", "deadline": "7天内" },
+          { "priority": "high", "condition": "发布频率低于竞品", "action": "提升发布频率至竞品平均水平", "deadline": "7天内" },
+          { "priority": "medium", "condition": "双平台不均衡", "action": "在弱势平台增加内容布局", "deadline": "15天内" },
+          { "priority": "medium", "condition": "always", "action": "建立KOL合作清单,筛选高互动率中腰部达人", "deadline": "15天内" }
+        ]
+      },
+      "output": "actionItems"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "platformComparison": {
+        "type": "object",
+        "description": "平台热度对比",
+        "properties": {
+          "tiktok": { "type": "object", "properties": { "totalPlays": { "type": "integer" }, "avgEngagement": { "type": "number" } } },
+          "instagram": { "type": "object", "properties": { "totalFollowers": { "type": "integer" }, "avgEngagement": { "type": "number" } } },
+          "dominantPlatform": { "type": "string" },
+          "insight": { "type": "string" }
+        }
+      },
+      "trendingTopics": {
+        "type": "array",
+        "description": "趋势话题列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "topic": { "type": "string" },
+            "trendScore": { "type": "number" },
+            "category": { "type": "string" },
+            "platforms": { "type": "array" }
+          }
+        }
+      },
+      "brandSocialRanking": {
+        "type": "array",
+        "description": "品牌社媒排名",
+        "items": {
+          "type": "object",
+          "properties": {
+            "brand": { "type": "string" },
+            "socialScore": { "type": "number" },
+            "strategyType": { "type": "string" }
+          }
+        }
+      },
+      "contentOpportunities": {
+        "type": "array",
+        "description": "内容机会点",
+        "items": {
+          "type": "object",
+          "properties": {
+            "opportunity": { "type": "string" },
+            "platform": { "type": "string" },
+            "priority": { "type": "string", "enum": ["high", "medium", "low"] }
+          }
+        }
+      },
+      "audienceInsights": {
+        "type": "object",
+        "description": "受众洞察",
+        "properties": {
+          "topCommentThemes": { "type": "array" },
+          "sentimentDistribution": { "type": "object" },
+          "engagementPatterns": { "type": "object" }
+        }
+      },
+      "actionItems": {
+        "type": "array",
+        "description": "优先级行动清单",
+        "items": {
+          "type": "object",
+          "properties": {
+            "priority": { "type": "string", "enum": ["highest", "high", "medium", "low"] },
+            "action": { "type": "string" },
+            "deadline": { "type": "string" },
+            "expectedResult": { "type": "string" }
+          }
+        }
+      }
+    }
+  },
+  "timeout": 30000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 1000,
+    "backoffMultiplier": 2
+  }
+}

+ 86 - 0
social-voc/tiktok-brand-voc/SKILL.md

@@ -0,0 +1,86 @@
+# TikTok品牌VOC采集 (TikTok Brand VOC)
+
+## 技能名称
+tiktok-brand-voc
+
+## 技能目的
+搜索并采集竞品品牌在 TikTok 上的账号信息、发布内容和用户互动,分析品牌社媒策略和用户反馈。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| brandNames | string[] | 是 | 竞品品牌名称列表 |
+| postsPerBrand | integer | 否 | 每个品牌采集的帖子数,默认20 |
+| includeComments | boolean | 否 | 是否采集帖子评论,默认true |
+| commentsPerPost | integer | 否 | 每个帖子采集评论数,默认30 |
+
+## 执行流程
+1. 对每个品牌名称调用 `tiktok-user-search` 搜索品牌账号
+2. 对搜索到的品牌官方账号调用 `tiktok-user-profile` 获取详情
+3. 调用 `tiktok-user-posts` 获取品牌最近发布的视频
+4. 若 includeComments=true,对热门帖子调用 `tiktok-video-comments` 采集评论
+5. 分析品牌社媒画像:
+   - **账号数据**: 粉丝数、总获赞、发布频率
+   - **内容策略**: 视频类型分布、标题关键词、发布时间规律
+   - **互动表现**: 平均点赞/评论/分享、互动率
+   - **用户评论情感**: 粉丝反馈的正面/负面倾向
+   - **爆款分析**: 最高互动帖子的共同特征
+
+## 调用的底层 Skill
+- `social-media/tiktok-user-search` — 搜索用户/品牌账号
+- `social-media/tiktok-user-profile` — 用户/品牌详情
+- `social-media/tiktok-user-posts` — 用户发布的视频列表
+- `social-media/tiktok-video-comments` — 视频评论
+
+## 返回格式
+```json
+{
+  "brands": [
+    {
+      "brandName": "NEST New York",
+      "tiktokAccount": {
+        "uniqueId": "nestnewyork",
+        "nickname": "NEST New York",
+        "followers": 125000,
+        "likes": 2800000,
+        "videoCount": 340,
+        "verified": true
+      },
+      "contentStrategy": {
+        "postFrequency": "3-4/week",
+        "topContentTypes": ["产品展示", "使用教程", "生活方式"],
+        "avgLikes": 4500,
+        "avgComments": 120,
+        "engagementRate": 3.8
+      },
+      "topPosts": [
+        {
+          "videoId": "...",
+          "description": "...",
+          "likes": 45000,
+          "comments": 2300
+        }
+      ],
+      "audienceSentiment": {
+        "positive": 75,
+        "neutral": 18,
+        "negative": 7,
+        "topPositivePhrases": ["love the scent", "beautiful packaging"],
+        "topNegativePhrases": ["too expensive", "scent fades quickly"]
+      }
+    }
+  ],
+  "crossBrandComparison": {
+    "followerRanking": ["NEST New York", "Paddywax", "COCORRINA"],
+    "engagementRanking": ["Paddywax", "NEST New York", "COCORRINA"],
+    "contentStrategyDiff": "NEST侧重高端生活方式,Paddywax侧重DIY和手工,COCORRINA侧重性价比"
+  }
+}
+```
+
+## 依赖
+- TikHub API(通过 https://server.fmode.cn/thapi)
+- Bearer Token
+
+## 对应工作坊环节
+Day2 上午 09:00-09:50「社媒VOC采集 — TikTok品牌声音」

+ 145 - 0
social-voc/tiktok-brand-voc/api-config.json

@@ -0,0 +1,145 @@
+{
+  "name": "tiktok-brand-voc",
+  "displayName": "TikTok品牌VOC采集",
+  "description": "搜索竞品品牌TikTok账号,采集发布内容和用户评论,分析品牌社媒策略",
+  "category": "social-voc",
+  "version": "1.0.0",
+  "type": "orchestration",
+  "parameters": {
+    "brandNames": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "竞品品牌名称列表"
+    },
+    "postsPerBrand": {
+      "type": "integer",
+      "required": false,
+      "default": 20,
+      "description": "每个品牌采集的帖子数"
+    },
+    "includeComments": {
+      "type": "boolean",
+      "required": false,
+      "default": true,
+      "description": "是否采集帖子评论"
+    },
+    "commentsPerPost": {
+      "type": "integer",
+      "required": false,
+      "default": 30,
+      "description": "每个帖子采集评论数"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "搜索品牌TikTok账号",
+      "forEach": "brandNames",
+      "api": {
+        "skill": "social-media/tiktok-user-search",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/web/fetch_search_user",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "keyword": "${brandName}", "count": 5, "cursor": 0 }
+      },
+      "output": "brandAccounts",
+      "responseExtract": "user_list[] → { user_info: { unique_id, nickname, follower_count, following_count, total_favorited, video_count, signature } }",
+      "postProcess": "每个品牌取粉丝数最高的账号作topMatch"
+    },
+    {
+      "step": 2,
+      "name": "获取品牌账号详细资料",
+      "forEach": "brandAccounts.topMatch",
+      "api": {
+        "skill": "social-media/tiktok-user-profile",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/handler_user_profile",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "unique_id": "${account.unique_id}" }
+      },
+      "output": "brandProfiles",
+      "responseExtract": "{ user: { nickname, unique_id, follower_count, total_favorited, video_count, signature, verified } }"
+    },
+    {
+      "step": 3,
+      "name": "采集品牌发布的视频",
+      "forEach": "brandAccounts.topMatch",
+      "api": {
+        "skill": "social-media/tiktok-user-posts",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_user_post_videos",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "unique_id": "${account.unique_id}", "count": "${postsPerBrand}", "cursor": 0 }
+      },
+      "output": "brandPosts",
+      "responseExtract": "aweme_list[] → { aweme_id, desc, statistics:{play_count,digg_count,comment_count,share_count}, create_time }"
+    },
+    {
+      "step": 4,
+      "name": "采集热门帖子评论",
+      "condition": "includeComments",
+      "forEach": "brandPosts → 按(digg_count+comment_count)降序取top5",
+      "api": {
+        "skill": "social-media/tiktok-video-comments",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_comments",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "aweme_id": "${post.aweme_id}", "count": "${commentsPerPost}", "cursor": 0 }
+      },
+      "output": "postComments",
+      "responseExtract": "comments[] → { cid, text, digg_count, reply_comment_total, create_time }"
+    },
+    {
+      "step": 5,
+      "name": "品牌VOC分析",
+      "type": "compute",
+      "logic": "analyzeBrandVoc(brandProfiles, brandPosts, postComments)",
+      "algorithm": {
+        "brandMetrics": "{ followerCount, avgPlayCount, avgEngagementRate, postFrequency, topContentThemes }",
+        "engagementRate": "(digg+comment+share) / play * 100",
+        "contentThemes": "从desc中提取高频词/hashtag归类",
+        "commentSentiment": "评论情感分类 + 高频词提取",
+        "crossBrand": "多品牌横向对比: 粉丝数/互动率/发布频率/内容风格"
+      },
+      "output": "brandVocAnalysis"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "brands": {
+        "type": "array",
+        "description": "各品牌社媒画像",
+        "items": {
+          "type": "object",
+          "properties": {
+            "brandName": { "type": "string" },
+            "tiktokId": { "type": "string" },
+            "followerCount": { "type": "integer" },
+            "avgPlayCount": { "type": "integer" },
+            "avgEngagementRate": { "type": "number" },
+            "postFrequency": { "type": "string" },
+            "topContentThemes": { "type": "array" },
+            "commentSentiment": { "type": "object" }
+          }
+        }
+      },
+      "crossBrandComparison": {
+        "type": "object",
+        "description": "品牌间横向对比",
+        "properties": {
+          "followerRanking": { "type": "array" },
+          "engagementRanking": { "type": "array" },
+          "contentStrategyComparison": { "type": "object" }
+        }
+      }
+    }
+  },
+  "timeout": 90000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 77 - 0
social-voc/tiktok-category-voc/SKILL.md

@@ -0,0 +1,77 @@
+# TikTok品类VOC采集 (TikTok Category VOC)
+
+## 技能名称
+tiktok-category-voc
+
+## 技能目的
+基于品类关键词在 TikTok 上搜索相关视频,批量采集视频评论,提取用户对该品类的讨论热点、使用场景和情感倾向。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| keywords | string[] | 是 | 品类关键词列表(如 ["reed diffuser", "home fragrance"]) |
+| videoCount | integer | 否 | 每个关键词搜索的视频数量,默认20 |
+| commentsPerVideo | integer | 否 | 每个视频采集的评论数量,默认50 |
+| hashtags | string[] | 否 | 关联话题标签(如 ["#homedecor", "#fragrance"]) |
+
+## 执行流程
+1. 对每个品类关键词调用 `tiktok-video-search` 搜索相关视频
+2. 对 Top N 视频批量调用 `tiktok-video-comments` 采集评论
+3. 若指定话题标签,调用 `tiktok-hashtag-detail` 获取话题热度
+4. 调用 `tiktok-hashtag-videos` 获取话题下热门视频
+5. 汇总数据并进行初步分析:
+   - **热门内容类型**: 测评/开箱/教程/日常分享
+   - **用户讨论焦点**: 高频提及的产品特性/场景/品牌
+   - **情感倾向**: 正面/负面评论比例
+   - **话题热度**: 各话题的浏览量、参与度
+6. 输出品类社媒VOC语料
+
+## 调用的底层 Skill
+- `social-media/tiktok-video-search` — 视频搜索
+- `social-media/tiktok-video-comments` — 视频评论采集
+- `social-media/tiktok-hashtag-detail` — 话题详情
+- `social-media/tiktok-hashtag-videos` — 话题视频列表
+
+## 返回格式
+```json
+{
+  "videos": [
+    {
+      "videoId": "7234567890",
+      "description": "Best reed diffusers for your home...",
+      "author": "@homedecor_lover",
+      "likes": 45000,
+      "comments": 1200,
+      "shares": 890,
+      "contentType": "测评",
+      "mentionedBrands": ["NEST", "Diptyque"],
+      "mentionedFeatures": ["scent throw", "aesthetics"]
+    }
+  ],
+  "comments": [
+    {
+      "videoId": "7234567890",
+      "text": "I love this one! The scent lasts forever",
+      "likes": 230,
+      "sentiment": "positive"
+    }
+  ],
+  "hashtags": [
+    { "name": "#reeeddiffuser", "viewCount": 125000000, "videoCount": 45000 }
+  ],
+  "analysis": {
+    "topContentTypes": { "测评": 35, "开箱": 25, "日常分享": 20, "教程": 15, "对比": 5 },
+    "topDiscussionTopics": ["香味推荐", "家居搭配", "性价比", "送礼推荐"],
+    "overallSentiment": { "positive": 68, "neutral": 22, "negative": 10 },
+    "totalVideosAnalyzed": 40,
+    "totalCommentsCollected": 2000
+  }
+}
+```
+
+## 依赖
+- TikHub API(通过 https://server.fmode.cn/thapi)
+- Bearer Token: Bearer tKIbAsEM8X+GmE2vHqGW7D/ICwK1Q5V4viKFrWiPB6HholGdLFqZJmmyNw==
+
+## 对应工作坊环节
+Day2 上午 09:00-09:50「社媒VOC采集 — TikTok品类声音」

+ 156 - 0
social-voc/tiktok-category-voc/api-config.json

@@ -0,0 +1,156 @@
+{
+  "name": "tiktok-category-voc",
+  "displayName": "TikTok品类VOC采集",
+  "description": "基于品类关键词搜索TikTok视频并批量采集评论,提取用户讨论热点和情感倾向",
+  "category": "social-voc",
+  "version": "1.0.0",
+  "type": "orchestration",
+  "parameters": {
+    "keywords": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "品类关键词列表"
+    },
+    "videoCount": {
+      "type": "integer",
+      "required": false,
+      "default": 20,
+      "description": "每个关键词搜索的视频数量"
+    },
+    "commentsPerVideo": {
+      "type": "integer",
+      "required": false,
+      "default": 50,
+      "description": "每个视频采集的评论数量"
+    },
+    "hashtags": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": false,
+      "description": "关联话题标签"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "按关键词搜索TikTok视频",
+      "forEach": "keywords",
+      "api": {
+        "skill": "social-media/tiktok-video-search",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_search_result",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "keyword": "${keyword}", "count": "${videoCount}", "cursor": 0 }
+      },
+      "output": "searchResults",
+      "responseExtract": "aweme_list || search_item_list[].aweme_info → Array<{ aweme_id, desc, statistics:{play_count,digg_count,comment_count,share_count}, author:{nickname,unique_id,follower_count}, cha_list }>"
+    },
+    {
+      "step": 2,
+      "name": "批量采集热门视频评论",
+      "forEach": "searchResults → 按play_count降序取top10",
+      "api": {
+        "skill": "social-media/tiktok-video-comments",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_video_comments",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "aweme_id": "${video.aweme_id}", "count": "${commentsPerVideo}", "cursor": 0 }
+      },
+      "output": "videoComments",
+      "responseExtract": "comments[] → Array<{ cid, text, digg_count, reply_comment_total, create_time, user:{nickname,unique_id} }>"
+    },
+    {
+      "step": 3,
+      "name": "获取关联话题详情",
+      "condition": "hashtags && hashtags.length > 0",
+      "forEach": "hashtags",
+      "api": {
+        "skill": "social-media/tiktok-hashtag-detail",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_detail",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "ch_name": "${tag}" }
+      },
+      "output": "hashtagDetails",
+      "responseExtract": "{ ch_info: { cha_name, cid, desc, view_count, video_count } }"
+    },
+    {
+      "step": 4,
+      "name": "获取话题下热门视频",
+      "condition": "hashtags && hashtags.length > 0",
+      "forEach": "hashtagDetails",
+      "api": {
+        "skill": "social-media/tiktok-hashtag-videos",
+        "endpoint": "https://server.fmode.cn/thapi/v1/tiktok/app/v3/fetch_hashtag_video_list",
+        "method": "GET",
+        "headers": { "Authorization": "Bearer ${TIKHUB_TOKEN}" },
+        "queryParams": { "ch_id": "${hashtag.cid}", "count": 20, "cursor": 0 }
+      },
+      "output": "hashtagVideos"
+    },
+    {
+      "step": 5,
+      "name": "综合分析聚合",
+      "type": "compute",
+      "logic": "analyzeAndAggregate(searchResults, videoComments, hashtagDetails, hashtagVideos)",
+      "algorithm": {
+        "videoStats": "汇总播放量/点赞/评论/分享 + 计算平均互动率 = (digg+comment+share)/play",
+        "commentSentiment": "对评论文本做基础情感分类(正/负/中)",
+        "topicExtract": "从视频desc+评论中提取高频话题",
+        "hashtagRank": "按view_count降序排列话题热度"
+      },
+      "output": "vocAnalysis"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "videos": {
+        "type": "array",
+        "description": "采集的视频列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "aweme_id": { "type": "string" },
+            "desc": { "type": "string" },
+            "playCount": { "type": "integer" },
+            "diggCount": { "type": "integer" },
+            "commentCount": { "type": "integer" },
+            "shareCount": { "type": "integer" },
+            "author": { "type": "string" }
+          }
+        }
+      },
+      "comments": { "type": "array", "description": "采集的评论列表" },
+      "hashtags": {
+        "type": "array",
+        "description": "话题热度数据",
+        "items": {
+          "type": "object",
+          "properties": {
+            "name": { "type": "string" },
+            "viewCount": { "type": "integer" },
+            "videoCount": { "type": "integer" }
+          }
+        }
+      },
+      "analysis": {
+        "type": "object",
+        "description": "初步分析结果",
+        "properties": {
+          "totalPlayCount": { "type": "integer" },
+          "avgEngagementRate": { "type": "number" },
+          "topTopics": { "type": "array" },
+          "sentimentSummary": { "type": "object" }
+        }
+      }
+    }
+  },
+  "timeout": 90000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 88 - 0
synthesis/brand-profile/SKILL.md

@@ -0,0 +1,88 @@
+# 品牌六维画像 (Brand Profile Builder)
+
+## 技能名称
+brand-profile
+
+## 技能目的
+生成品牌六维量化画像,标注**机会/风险标签**、识别**核心短板**、输出**竞争定位建议**,输出《品牌认知校准卡》。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| brandName | string | 是 | 品牌名称 |
+| brandAsins | string[] | 是 | 品牌核心ASIN列表 |
+| categoryKeyword | string | 是 | 品类关键词(用于品类基准对比) |
+| categoryLandscape | object | 否 | category-landscape 输出(如有则跳过重复查询) |
+| domain | integer | 否 | Amazon站点,默认1 |
+
+## 执行流程
+1. 批量调用 `product-detail-query` 获取品牌全部产品详情
+2. 批量调用 `asin-sales-volume` 获取各产品销量
+3. 采样调用 `product-reviews-query`(每个ASIN 1-2 页)获取评论概况
+4. 若无 categoryLandscape 输入,调用 `product-search` 获取品类基准数据
+5. 计算六维得分(0-100):
+   - **定价竞争力** (权重20%): 品牌均价 vs 品类中位价的偏离度
+   - **评分健康度** (权重20%): 平均评分 + 差评率(1-2星占比)
+   - **流量排名** (权重15%): BSR 中位数在品类中的百分位
+   - **销售效率** (权重15%): 品牌月销量 vs 品类均值
+   - **增长潜力** (权重15%): 新品比例 + 销量趋势 + 品类CR5位置
+   - **VOC口碑** (权重15%): 好评率 + 评论增速 + Helpful 比例
+6. 计算综合得分和品牌定位(四象限图坐标)
+7. **竞争定位建议**(新增):
+   - 机会标签: 从每个维度评分提取优势机会
+   - 风险标签: 识别低分维度作为风险点
+   - 核心短板: 最低分维度的具体诊断和改进建议
+   - 优先行动: 按紧迫度排序的改进任务
+8. 输出《品牌认知校准卡》
+
+## 调用的底层 Skill
+- `voc/product-detail-query` — 产品详情
+- `voc/asin-sales-volume` — 销量数据
+- `voc/product-reviews-query` — 评论概况采样
+- `voc/product-search` — 品类基准数据(如未传入categoryLandscape)
+
+## 返回格式
+```json
+{
+  "brandName": "COCORRINA",
+  "dimensions": {
+    "pricing": { "score": 78, "label": "贴合市场", "detail": "均价$24.99,品类中位价$27.99" },
+    "rating": { "score": 85, "label": "评分健康", "detail": "平均4.5分,差评率8.2%" },
+    "traffic": { "score": 70, "label": "排名中上", "detail": "BSR中位数2300" },
+    "salesEfficiency": { "score": 72, "label": "销量中等", "detail": "品牌月销3200,品类均值2800" },
+    "growthPotential": { "score": 65, "label": "有增长空间", "detail": "CR5=35.2%,品类分散" },
+    "vocReputation": { "score": 80, "label": "口碑良好", "detail": "好评率72%,评论月增56条" }
+  },
+  "overallScore": 75.2,
+  "positioning": {
+    "quadrant": "中价高质",
+    "x": 0.35,
+    "y": 0.72,
+    "xLabel": "价格(低→高)",
+    "yLabel": "评分(低→高)"
+  },
+  "strengths": ["评分健康,用户认可度高", "定价策略得当"],
+  "weaknesses": ["流量排名有提升空间", "增长潜力受限于品类分散"],
+  "opportunityTags": ["评分优秀(85分)", "口碑良好(80分)", "定价合理(78分)"],
+  "riskTags": ["增长势头放缓(65分)", "流量排名中等(70分)"],
+  "coreShortcoming": {
+    "dimension": "增长潜力",
+    "score": 65,
+    "diagnosis": "品类CR5=35.2%分散市场,增长主要受限于缺乏爆款SKU",
+    "advice": "聚焦核心SKU打爆款,配合PPC提升BSR排名"
+  },
+  "priorityActions": [
+    { "action": "核心SKU加大PPC投入提升流量", "priority": 1 },
+    { "action": "优化Listing关键词+主图提升转化", "priority": 2 },
+    { "action": "开发礼盒装变体拓展场景", "priority": 3 }
+  ],
+  "calibrationCard": "## COCORRINA 品牌认知校准卡\n| 维度 | 得分 | 判断 |\n..."
+}
+```
+
+## 依赖
+- Sorftime API
+- 内置6维评分算法(定价/评分/流量/销售/增长/口碑),每维0-100分加权求总分
+
+## 对应工作坊环节
+Day1 下午 13:30-14:30「指导龙虾认知自身品牌」— 输出《品牌认知校准卡》

+ 186 - 0
synthesis/brand-profile/api-config.json

@@ -0,0 +1,186 @@
+{
+  "name": "brand-profile",
+  "displayName": "品牌六维画像",
+  "description": "生成品牌六维量化画像,标注机会/风险标签、识别核心短板、输出竞争定位建议和《品牌认知校准卡》",
+  "category": "synthesis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "brandName": {
+      "type": "string",
+      "required": true,
+      "description": "品牌名称"
+    },
+    "brandAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "品牌核心ASIN列表"
+    },
+    "categoryKeyword": {
+      "type": "string",
+      "required": true,
+      "description": "品类关键词(用于品类基准对比)"
+    },
+    "categoryLandscape": {
+      "type": "object",
+      "required": false,
+      "description": "category-landscape 输出(如有则跳过重复查询)"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点(1=美国)"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "批量获取品牌产品详情",
+      "forEach": "brandAsins",
+      "api": {
+        "service": "SorftimeApiService.getProductDetail",
+        "endpoint": "/api/ProductRequest",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}", "Trend": 1, "QueryTrendStartDt": "", "QueryTrendEndDt": "" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "productDetails",
+      "responseExtract": "{ Title, Brand, SalesPrice, Ratings, RatingsCount, BSR, Category, MonthlySales, fiveStartRatings, fourStartRatings, threeStartRatings, twoStartRatings, oneStartRatings }"
+    },
+    {
+      "step": 2,
+      "name": "批量获取销量数据",
+      "forEach": "brandAsins",
+      "api": {
+        "service": "SorftimeApiService.getAsinSalesVolume",
+        "endpoint": "/api/AsinSalesVolume",
+        "method": "POST",
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "salesData"
+    },
+    {
+      "step": 3,
+      "name": "采样获取评论概况",
+      "forEach": "brandAsins",
+      "api": {
+        "service": "SorftimeApiService.getProductReviews",
+        "endpoint": "/api/ProductReviewsQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}", "PageIndex": "1" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "reviewSamples"
+    },
+    {
+      "step": 4,
+      "name": "获取品类基准数据(如未传入categoryLandscape)",
+      "condition": "!categoryLandscape",
+      "api": {
+        "service": "SorftimeApiService.searchProductsByQuery",
+        "endpoint": "/api/ProductQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "Page": 1, "Query": "1", "QueryType": "7", "Pattern": "${categoryKeyword}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "categoryBaseline"
+    },
+    {
+      "step": 5,
+      "name": "六维评分计算",
+      "type": "compute",
+      "logic": "calcSixDimensions(productDetails, salesData, reviewSamples, categoryBaseline || categoryLandscape)",
+      "algorithm": {
+        "pricing": { "weight": 0.20, "method": "品牌均价 vs 品类中位价的偏离度" },
+        "rating": { "weight": 0.20, "method": "平均评分 + 差评率(1-2星占比)" },
+        "traffic": { "weight": 0.15, "method": "BSR中位数在品类中的百分位" },
+        "salesEfficiency": { "weight": 0.15, "method": "品牌月销量 vs 品类均值" },
+        "growthPotential": { "weight": 0.15, "method": "新品比例 + 销量趋势 + 品类CR5位置" },
+        "vocReputation": { "weight": 0.15, "method": "好评率 + 评论增速 + Helpful比例" }
+      },
+      "output": "dimensions"
+    },
+    {
+      "step": 6,
+      "name": "竞争定位+标签+建议",
+      "type": "compute",
+      "logic": "generatePositioning(dimensions, productDetails, brandName)",
+      "algorithm": {
+        "quadrant": "四象限图坐标(价格-评分)",
+        "opportunityTags": "从每个维度评分提取优势机会",
+        "riskTags": "识别低分维度作为风险点",
+        "coreShortcoming": "最低分维度的具体诊断和改进建议",
+        "priorityActions": "按紧迫度排序的改进任务"
+      },
+      "output": "positioning"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "brandName": { "type": "string" },
+      "dimensions": {
+        "type": "object",
+        "description": "六维评分",
+        "properties": {
+          "pricing": { "type": "object", "properties": { "score": { "type": "integer" }, "label": { "type": "string" }, "detail": { "type": "string" } } },
+          "rating": { "type": "object", "properties": { "score": { "type": "integer" }, "label": { "type": "string" }, "detail": { "type": "string" } } },
+          "traffic": { "type": "object", "properties": { "score": { "type": "integer" }, "label": { "type": "string" }, "detail": { "type": "string" } } },
+          "salesEfficiency": { "type": "object", "properties": { "score": { "type": "integer" }, "label": { "type": "string" }, "detail": { "type": "string" } } },
+          "growthPotential": { "type": "object", "properties": { "score": { "type": "integer" }, "label": { "type": "string" }, "detail": { "type": "string" } } },
+          "vocReputation": { "type": "object", "properties": { "score": { "type": "integer" }, "label": { "type": "string" }, "detail": { "type": "string" } } }
+        }
+      },
+      "overallScore": { "type": "number" },
+      "positioning": {
+        "type": "object",
+        "properties": {
+          "quadrant": { "type": "string" },
+          "x": { "type": "number" },
+          "y": { "type": "number" },
+          "xLabel": { "type": "string" },
+          "yLabel": { "type": "string" }
+        }
+      },
+      "strengths": { "type": "array", "items": { "type": "string" } },
+      "weaknesses": { "type": "array", "items": { "type": "string" } },
+      "opportunityTags": { "type": "array", "items": { "type": "string" } },
+      "riskTags": { "type": "array", "items": { "type": "string" } },
+      "coreShortcoming": {
+        "type": "object",
+        "properties": {
+          "dimension": { "type": "string" },
+          "score": { "type": "integer" },
+          "diagnosis": { "type": "string" },
+          "advice": { "type": "string" }
+        }
+      },
+      "priorityActions": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "action": { "type": "string" },
+            "priority": { "type": "integer" }
+          }
+        }
+      },
+      "calibrationCard": { "type": "string", "description": "品牌认知校准卡(Markdown格式)" }
+    }
+  },
+  "timeout": 90000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 96 - 0
synthesis/category-landscape/SKILL.md

@@ -0,0 +1,96 @@
+# 品类格局分析 (Category Landscape Analysis)
+
+## 技能名称
+category-landscape
+
+## 技能目的
+品类全景分析,计算CR5/HHI市场集中度,生成**风险预警汇总**和**优先行动清单**,输出《品类认知校准表》。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| keywords | string[] | 是 | 品类核心关键词列表(如 ["reed diffuser", "aroma diffuser"]) |
+| domain | integer | 否 | Amazon站点,默认1(美国站) |
+| topN | integer | 否 | 分析的产品数量,默认100 |
+
+## 执行流程
+1. 对每个关键词调用 `product-search` 搜索 Top N 产品
+2. 批量调用 `asin-sales-volume` 获取各产品月销量
+3. 调用 `category-tree` 定位品类类目ID
+4. 调用 `keyword-search` 获取核心关键词搜索量和竞争度
+5. 调用 `keyword-search-trend` 获取关键词趋势(判断品类增长/衰退)
+6. 数据计算:
+   - **CR5**: 前5品牌销售额占品类总销售额的比例
+   - **HHI**: 赫芬达尔-赫希曼指数(各品牌市场份额平方和 × 10000)
+   - **市场规模**: 品类月销量总和、月销售额总和
+   - **价格带分布**: 按价格区间统计产品数量和销量占比
+   - **品牌集中度**: Top 10 品牌的市场份额
+   - **评分分布**: 品类整体评分水平
+   - **增长判断**: 基于搜索趋势判断品类处于增长/成熟/衰退期
+7. **风险预警汇总**(新增):
+   - 品牌集中度风险 / 低销量风险 / 评分风险 / 价格战风险 / 库存风险 / 合规风险
+   - 每项风险标注级别(high/medium/low)和具体描述
+8. **优先行动清单**(新增):
+   - 条件触发式优先级: Listing优化→SKU聚焦→促销→产品迭代→库存→差异化
+9. 输出《品类认知校准表》
+
+## 调用的底层 Skill
+- `voc/product-search` — 产品搜索
+- `voc/asin-sales-volume` — 销量数据
+- `voc/category-tree` — 类目定位
+- `voc/keyword-search` — 关键词搜索量
+- `voc/keyword-search-trend` — 关键词趋势
+
+## 返回格式
+```json
+{
+  "marketOverview": {
+    "totalProducts": 100,
+    "totalMonthlySales": 125000,
+    "totalMonthlyRevenue": 3750000,
+    "avgPrice": 30.0,
+    "medianPrice": 27.99,
+    "avgRating": 4.3,
+    "categoryStage": "成长期"
+  },
+  "concentration": {
+    "cr5": 35.2,
+    "cr10": 52.8,
+    "hhi": 850,
+    "interpretation": "品类集中度较低,市场分散,新品牌有进入机会"
+  },
+  "topBrands": [
+    { "brand": "NEST", "marketShare": 12.5, "productCount": 8, "avgPrice": 42.00, "avgRating": 4.6 },
+    { "brand": "Paddywax", "marketShare": 8.3, "productCount": 6, "avgPrice": 28.00, "avgRating": 4.4 }
+  ],
+  "priceBands": [
+    { "range": "$10-$20", "productCount": 20, "salesShare": 15, "avgRating": 4.0 },
+    { "range": "$20-$30", "productCount": 35, "salesShare": 40, "avgRating": 4.3 },
+    { "range": "$30-$50", "productCount": 30, "salesShare": 35, "avgRating": 4.5 },
+    { "range": "$50+", "productCount": 15, "salesShare": 10, "avgRating": 4.6 }
+  ],
+  "searchTrend": {
+    "mainKeyword": "reed diffuser",
+    "monthlySearchVolume": 45000,
+    "trendDirection": "rising",
+    "growthRate": 18.5
+  },
+  "calibrationTable": "| 指标 | 数值 | 解读 |\n|------|------|------|\n| CR5 | 35.2% | 集中度低,竞争分散 |\n| HHI | 850 | 非垄断市场 |\n| ...",
+  "riskAlerts": [
+    { "level": "medium", "title": "价格战风险", "description": "低价带产品占比20%且增速快,可能引发价格战" },
+    { "level": "low", "title": "品牌集中度低", "description": "CR5=35.2%,市场分散,新品牌有进入机会但竞争激烈" }
+  ],
+  "priorityActions": [
+    { "action": "优化Listing关键词布局", "priority": 1, "trigger": "品类增长期+搜索量上升" },
+    { "action": "聚焦黄金价格带SKU", "priority": 2, "trigger": "黄金带销量占比>35%" },
+    { "action": "设置多件折扣替代降价", "priority": 3, "trigger": "价格战风险检测" }
+  ]
+}
+```
+
+## 依赖
+- Sorftime API
+- 内置CR5/HHI集中度算法 + 5维健康度评分算法 + 价格带五分位划分
+
+## 对应工作坊环节
+Day1 上午 09:00-12:00「指导龙虾认知品类」— 输出《品类认知校准表》

+ 229 - 0
synthesis/category-landscape/api-config.json

@@ -0,0 +1,229 @@
+{
+  "name": "category-landscape",
+  "displayName": "品类格局分析",
+  "description": "品类全景分析,计算CR5/HHI市场集中度,生成风险预警汇总和优先行动清单,输出《品类认知校准表》",
+  "category": "synthesis",
+  "version": "1.1.0",
+  "type": "orchestration",
+  "parameters": {
+    "keywords": {
+      "type": "array",
+      "items": { "type": "string" },
+      "required": true,
+      "description": "品类核心关键词列表"
+    },
+    "domain": {
+      "type": "integer",
+      "required": false,
+      "default": 1,
+      "description": "Amazon站点(1=美国)"
+    },
+    "topN": {
+      "type": "integer",
+      "required": false,
+      "default": 100,
+      "description": "分析的产品数量"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "搜索品类Top N产品",
+      "forEach": "keywords",
+      "api": {
+        "service": "SorftimeApiService.searchProductsByQuery",
+        "endpoint": "/api/ProductQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "Page": 1, "Query": "1", "QueryType": "7", "Pattern": "${keyword}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "searchResults",
+      "responseExtract": "Array<{ Asin, Title, Price, Rating, RatingsCount, MonthlySales, Brand, BSR, Photo }>"
+    },
+    {
+      "step": 2,
+      "name": "批量获取销量数据",
+      "forEach": "searchResults[].Asin (去重)",
+      "api": {
+        "service": "SorftimeApiService.getAsinSalesVolume",
+        "endpoint": "/api/AsinSalesVolume",
+        "method": "POST",
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "salesData"
+    },
+    {
+      "step": 3,
+      "name": "定位品类类目",
+      "api": {
+        "service": "SorftimeApiService.getCategoryTree",
+        "endpoint": "/api/CategoryTree",
+        "method": "POST",
+        "requestBody": { "keyword": "${keywords[0]}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "categoryTree"
+    },
+    {
+      "step": 4,
+      "name": "获取核心关键词搜索量和竞争度",
+      "forEach": "keywords",
+      "api": {
+        "service": "SorftimeApiService.searchKeywords",
+        "endpoint": "/api/KeywordQuery",
+        "method": "POST",
+        "requestBody": { "Keyword": "${keyword}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "keywordData"
+    },
+    {
+      "step": 5,
+      "name": "获取关键词趋势",
+      "forEach": "keywords",
+      "api": {
+        "service": "SorftimeApiService.getKeywordTrend",
+        "endpoint": "/api/KeywordSearchTrend",
+        "method": "POST",
+        "requestBody": { "Keyword": "${keyword}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "keywordTrend"
+    },
+    {
+      "step": 6,
+      "name": "市场集中度+价格带+增长判断计算",
+      "type": "compute",
+      "logic": "analyzeMarket(searchResults, salesData, keywordData, keywordTrend)",
+      "algorithm": {
+        "cr5": "前5品牌销售额占品类总销售额的比例",
+        "cr10": "前10品牌销售额占比",
+        "hhi": "赫芬达尔-赫希曼指数(各品牌市场份额平方和 × 10000)",
+        "marketSize": "品类月销量总和、月销售额总和",
+        "priceBands": "按价格区间统计产品数量和销量占比",
+        "brandConcentration": "Top 10 品牌的市场份额",
+        "ratingDistribution": "品类整体评分水平",
+        "growthStage": "基于搜索趋势判断品类处于增长/成熟/衰退期"
+      },
+      "output": "marketAnalysis"
+    },
+    {
+      "step": 7,
+      "name": "风险预警汇总",
+      "type": "compute",
+      "logic": "generateRiskAlerts(marketAnalysis)",
+      "algorithm": {
+        "brandConcentrationRisk": "品牌集中度风险",
+        "lowSalesRisk": "低销量风险",
+        "ratingRisk": "评分风险",
+        "priceWarRisk": "价格战风险",
+        "inventoryRisk": "库存风险",
+        "complianceRisk": "合规风险",
+        "levelLabels": "每项风险标注级别(high/medium/low)和具体描述"
+      },
+      "output": "riskAlerts"
+    },
+    {
+      "step": 8,
+      "name": "优先行动清单",
+      "type": "compute",
+      "logic": "generatePriorityActions(marketAnalysis, riskAlerts)",
+      "algorithm": {
+        "triggers": "条件触发式优先级: Listing优化→SKU聚焦→促销→产品迭代→库存→差异化"
+      },
+      "output": "priorityActions"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "marketOverview": {
+        "type": "object",
+        "properties": {
+          "totalProducts": { "type": "integer" },
+          "totalMonthlySales": { "type": "integer" },
+          "totalMonthlyRevenue": { "type": "number" },
+          "avgPrice": { "type": "number" },
+          "medianPrice": { "type": "number" },
+          "avgRating": { "type": "number" },
+          "categoryStage": { "type": "string" }
+        }
+      },
+      "concentration": {
+        "type": "object",
+        "properties": {
+          "cr5": { "type": "number" },
+          "cr10": { "type": "number" },
+          "hhi": { "type": "integer" },
+          "interpretation": { "type": "string" }
+        }
+      },
+      "topBrands": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "brand": { "type": "string" },
+            "marketShare": { "type": "number" },
+            "productCount": { "type": "integer" },
+            "avgPrice": { "type": "number" },
+            "avgRating": { "type": "number" }
+          }
+        }
+      },
+      "priceBands": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "range": { "type": "string" },
+            "productCount": { "type": "integer" },
+            "salesShare": { "type": "number" },
+            "avgRating": { "type": "number" }
+          }
+        }
+      },
+      "searchTrend": {
+        "type": "object",
+        "properties": {
+          "mainKeyword": { "type": "string" },
+          "monthlySearchVolume": { "type": "integer" },
+          "trendDirection": { "type": "string" },
+          "growthRate": { "type": "number" }
+        }
+      },
+      "calibrationTable": { "type": "string", "description": "品类认知校准表(Markdown格式)" },
+      "riskAlerts": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "level": { "type": "string", "enum": ["high", "medium", "low"] },
+            "title": { "type": "string" },
+            "description": { "type": "string" }
+          }
+        }
+      },
+      "priorityActions": {
+        "type": "array",
+        "items": {
+          "type": "object",
+          "properties": {
+            "action": { "type": "string" },
+            "priority": { "type": "integer" },
+            "trigger": { "type": "string" }
+          }
+        }
+      }
+    }
+  },
+  "timeout": 90000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 2000,
+    "backoffMultiplier": 2
+  }
+}

+ 109 - 0
synthesis/product-deep-analysis/SKILL.md

@@ -0,0 +1,109 @@
+# 单品深度诊断 (Product Deep Analysis)
+
+## 概述
+针对单个ASIN进行多维度深度分析,输出流量架构透视、定价策略、Listing优化评估、VOC痛点、广告策略推荐,并由AI生成核心诊断与运营建议(Action Plan)。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| asin | string | ✅ | 目标ASIN |
+| domain | integer | ❌ | Amazon站点(默认1=US) |
+| includeReviews | boolean | ❌ | 是否采集评论(默认true) |
+| reviewPages | integer | ❌ | 评论采集页数(默认3) |
+| competitorAsins | string[] | ❌ | 可选竞品ASIN列表 |
+
+## 数据采集
+1. **产品详情** — Sorftime ProductRequest (价格/评分/销量/排名/趋势)
+2. **ASIN反查关键词** — Sorftime ASINRequestKeyword (关键词/搜索量/CPC/竞争度/转化率)
+3. **监控数据** — Sorftime MonitorQuery (价格/排名/评分历史趋势)
+4. **评论采集** — Sorftime ProductReviewsQuery (多页采集,400ms间隔)
+
+## 分析维度 (6大维度)
+
+### 1. 流量架构透视 (Keyword Traffic Analysis)
+- 关键词竞争度评估: ProductCount/CPC阈值分类
+- 关键词价值评分(0-100): 搜索量(30) + 增长率(25) + 转化份额(25) + 竞争度反向(20)
+- 流量占比计算: 按SearchVolume比例
+- 逐词竞争诊断: 自然排名vs广告 + 转化效率
+
+### 2. 定价策略分析 (Pricing Strategy) — 已增强
+- **5分位价格带**: 按P20/P40/P60/P80划分为5带,每带统计SKU数/均销量/均评分
+- **黄金价格带**: bandScore = avgSales×0.5 + avgRating×20 + (skuCount>0?10:0)
+- **毛利估算**: 15%佣金+$5FBA+30%采购 → grossMargin%, 盈亏平衡销量
+- **促销建议**: 价格战风险检测,优先多件折扣/满减替代降价
+- 定位策略: below/within/above 三种策略建议
+
+### 3. Listing优化评估 (Listing Optimization)
+- 5个维度评分: Title / Bullet / Search Terms / Image / A+ Content
+- 每个维度: 当前得分 + 优化后潜力分 + 具体Tips + 建议添加的关键词
+
+### 4. VOC痛点提取 (Pain Point Extraction)
+- 差评(1-2★)关键词分词 + 200+停用词过滤
+- 单词(≥5字符) + Bigram双词组合提取
+- 按频率排序, severity评分(0-100), 影响级别(high/medium/low)
+
+### 5. 广告策略推荐 (Ad Strategy)
+- 出价建议: CPC × 价值乘数(1.2/1.0/0.8)
+- 预估ACOS: bid/(avgPrice×convRate)×100
+- 匹配类型: 高竞争→精准 / 中→短语+精准 / 低→广泛
+- 日预算: $50/$30/$15 按价值分级
+
+### 6. 综合健康评分 (Overall Score)
+- 基础50 + 关键词(+20) + 定价(+20) + 评分(+15) + 评论量(+10)
+- 判定: ≥80强 / ≥60有空间 / <60需优化
+
+## AI输出格式
+AI生成Markdown报告,包含:
+- **🔍 核心诊断** — 季节性/功能性/流量结构诊断
+- **🔎 流量架构透视 (Top Keywords)** — 关键词表格(关键词/流量占比/月搜索量/竞争分析)
+- **💡 运营建议 (Action Plan)** — 1.广告策略PPC / 2.Listing优化SEO&CRO / 3.备货节奏
+- **📋 30天行动计划** — 按周排列的可执行任务
+
+## 输出示例
+```json
+{
+  "productSummary": {
+    "asin": "B0B8GV1QM4",
+    "title": "HOPERAN Heated Stadium Seats...",
+    "brand": "HOPERAN",
+    "price": 49.99,
+    "rating": 4.3,
+    "monthlySales": 2700,
+    "bsr": 1245,
+    "category": "Sports & Outdoors"
+  },
+  "overallScore": {
+    "score": 72,
+    "verdict": "产品有提升空间;3个高价值核心词可布局;定价在最优带内",
+    "breakdown": { "keyword": 15, "pricing": 20, "rating": 10, "review": 10 }
+  },
+  "keywordAnalysis": {
+    "topKeywords": [
+      {
+        "keyword": "stadium seats with back support",
+        "trafficShare": 19.8,
+        "searchVolume": 124945,
+        "searchRank": 33,
+        "competitionLevel": "high",
+        "valueScore": 75,
+        "diagnosis": "主要流量入口。自然#33/广告#17,依赖广告获取曝光,竞争极大。",
+        "priority": "core"
+      }
+    ],
+    "trafficStructure": {
+      "organicPct": 45,
+      "adPct": 55,
+      "topKeywordConcentration": 42.3
+    }
+  },
+  "aiDiagnosis": "## 🔍 核心诊断:季节性"降维打击" + 功能溢价\n\nB0B8GV1QM4 (HOPERAN) 之所以成为爆款..."
+}
+```
+
+## 依赖
+- Sorftime API (ProductRequest, ASINRequestKeyword, MonitorQuery, ProductReviewsQuery)
+- 内置6维分析算法(关键词/定价/Listing/VOC/广告/综合评分)
+- AI大模型(流式生成诊断报告)
+
+## 对应工作坊环节
+Day1 下午 + Day2 全天 — 贯穿各环节的单品深度分析基础

+ 427 - 0
synthesis/product-deep-analysis/api-config.json

@@ -0,0 +1,427 @@
+{
+  "name": "product-deep-analysis",
+  "displayName": "单品深度诊断",
+  "description": "针对单个ASIN进行多维度深度分析:流量架构透视、定价策略、Listing优化、VOC痛点、广告策略、市场机会,并由AI生成核心诊断和运营建议",
+  "version": "1.1.0",
+  "category": "synthesis",
+  "parameters": {
+    "asin": {
+      "type": "string",
+      "required": true,
+      "description": "目标ASIN"
+    },
+    "domain": {
+      "type": "integer",
+      "default": 1,
+      "description": "Amazon站点: 1=US, 2=UK, 3=DE, 4=FR, 5=JP, 6=CA, 7=IT, 8=ES"
+    },
+    "includeReviews": {
+      "type": "boolean",
+      "default": true,
+      "description": "是否采集评论用于VOC分析"
+    },
+    "reviewPages": {
+      "type": "integer",
+      "default": 3,
+      "description": "评论采集页数(每页10条)"
+    },
+    "competitorAsins": {
+      "type": "array",
+      "items": { "type": "string" },
+      "default": [],
+      "description": "可选的竞品ASIN列表,用于对比分析"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "获取产品详情",
+      "api": {
+        "endpoint": "/api/ProductRequest",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}", "Trend": 1, "QueryTrendStartDt": "", "QueryTrendEndDt": "" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "productDetail",
+      "responseExtract": {
+        "title": "Title",
+        "brand": "Brand",
+        "salesPrice": "SalesPrice (cents, /100→USD)",
+        "ratings": "Ratings",
+        "starDistribution": "{ fiveStartRatings, fourStartRatings, threeStartRatings, twoStartRatings, oneStartRatings } (百分比值)",
+        "monthlySales": "ListingSalesVolumeOfMonthTrend (数组, 末值=最新月销)",
+        "bsr": "BsrRank",
+        "category": "Category (数组)",
+        "feature": "Feature",
+        "photo": "Photo (数组)",
+        "variationASIN": "VariationASIN (数组)",
+        "priceTrend": "PriceTrend (数组[date,cents,...])",
+        "rankTrend": "RankTrend (数组[date,rank,...])",
+        "salesTrend": "ListingSalesVolumeOfMonthTrend (数组[date,vol,...])"
+      }
+    },
+    {
+      "step": 2,
+      "name": "ASIN反查关键词",
+      "api": {
+        "endpoint": "/api/ASINRequestKeyword",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "asinKeywords",
+      "responseExtract": "Array<{ Keyword, KeywordCNName, SearchVolume, SearchRank, SPR, TitleDensity, ProductCount, ShareClickRate, ShareConversionRate, CPC, GrowthRate, Season, Top3Brand, Top3Asin, WordCount }>"
+    },
+    {
+      "step": 3,
+      "name": "获取监控数据(价格/排名趋势)",
+      "api": {
+        "endpoint": "/api/MonitorQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "monitorData",
+      "responseExtract": "{ PriceHistory, RankHistory, RatingHistory, ReviewCountHistory, SellerCount }"
+    },
+    {
+      "step": 4,
+      "name": "采集评论(可选)",
+      "condition": "includeReviews == true",
+      "loop": { "from": 1, "to": "${reviewPages}", "var": "pageIndex", "delay": 400 },
+      "api": {
+        "endpoint": "/api/ProductReviewsQuery",
+        "method": "POST",
+        "forwardUrl": "https://server.fmode.cn/api/voc/forward",
+        "headers": { "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7" },
+        "requestBody": { "ASIN": "${asin}", "PageIndex": "${pageIndex}" },
+        "queryParams": { "domain": "${domain}" }
+      },
+      "output": "reviews",
+      "responseExtract": "Array<{ Star, Title, Content, ReviewsDate, ReviewedCountry, IsVP, Helpful, ConsumerName, Asin, AsinProperty }>"
+    },
+    {
+      "step": 5,
+      "name": "流量架构分析(关键词维度)",
+      "type": "compute",
+      "logic": "analyzeKeywordTraffic(asinKeywords, productDetail)",
+      "algorithm": {
+        "competitionLevel": {
+          "high": "ProductCount > 50000 或 CPC > $2.00",
+          "medium": "ProductCount > 10000 或 CPC > $1.00",
+          "low": "其余"
+        },
+        "valueScore": {
+          "formula": "min(100, searchVolumeScore + growthScore + conversionScore + competitionReverse)",
+          "searchVolume_30pts": ">100K→30, >10K→20, >1K→10, else→5",
+          "growth_25pts": ">50%→25, >20%→20, >0%→10, ≤0%→0",
+          "conversion_25pts": "ShareConversionRate >5%→25, >2%→15, >0%→5, else→0",
+          "competitionReverse_20pts": "low→20, medium→10, high→0"
+        },
+        "trafficShare": "按SearchVolume计算各关键词的流量占比百分比",
+        "diagnosis": {
+          "perKeyword": "根据自然排名(SearchRank)、广告占比(CPC/竞争度)、转化效率(ShareConversionRate/ShareClickRate)生成诊断文本",
+          "naturalVsAd": "自然排名<=#10→主要自然流量; 仅广告位→依赖广告; 混合→广告+自然",
+          "conversionEfficiency": "ShareConversionRate/ShareClickRate >1.5→转化效率极高; <0.5→转化偏低需优化Listing"
+        },
+        "keywordClassification": {
+          "core": "matchScore>=70 且 valueScore>=60",
+          "secondary": "matchScore>=50 或 valueScore>=50",
+          "longtail": "其余"
+        }
+      },
+      "output": "keywordAnalysis"
+    },
+    {
+      "step": 6,
+      "name": "定价策略分析",
+      "type": "compute",
+      "logic": "analyzePricing(productDetail, competitorAsins)",
+      "algorithm": {
+        "priceBands": {
+          "method": "按五分位划分价格带: 低价带(<P20)/中低价带(P20-P40)/黄金中价带(P40-P60)/中高价带(P60-P80)/高价带(>P80)",
+          "perBand": "每个价格带计算: skuCount, pct(SKU占比), avgSales, avgRating, avgBsr",
+          "goldenBandScoring": "bandScore = avgSales*0.5 + avgRating*20 + (skuCount>0?10:0), 最高分为黄金带",
+          "isGolden": "标记量利平衡最优带"
+        },
+        "optimalPrice": {
+          "formula": "goldenBandMin + (goldenBandMax-goldenBandMin)*0.6 * min(1.15, max(0.85, selfRating/bandAvgRating))",
+          "range": "最优价格 ±5%"
+        },
+        "marginEstimate": {
+          "commission": "15% Amazon佣金",
+          "fba": "$5 FBA费用",
+          "cogs": "30% 采购成本估算",
+          "formula": "grossMargin = (price*(1-0.15) - 5 - price*0.30) / price * 100",
+          "breakEvenSales": "avgSales * (currentMargin/suggestedMargin) * 0.85"
+        },
+        "positionStrategy": {
+          "below": "评分高于带均值→提价获溢价; 否则→逐步调至带内",
+          "within": "维持价格,优化Listing提升转化率",
+          "above": "评分>=4.5→维持高价品牌定位; 否则→降至最优价附近"
+        },
+        "promotionAdvice": {
+          "priceWarRisk": "价格带高度集中(spread<avgPrice*0.3)时不建议降价,优先「多件折扣」「满减策略」",
+          "bundleDiscount": "2件9折/3件8折套装折扣,提升连带率"
+        }
+      },
+      "output": "pricingAnalysis"
+    },
+    {
+      "step": 7,
+      "name": "Listing优化评估",
+      "type": "compute",
+      "logic": "evaluateListing(productDetail, keywordAnalysis)",
+      "algorithm": {
+        "dimensions": {
+          "title": {
+            "scoring": "基础40 + 评分>=4.0(+10) + 月销>100(+10) + 有核心词(+5), 上限75",
+            "tips": "核心词放前65字符(移动端截断); 多词关键词核心词靠前; 高搜索量>50K作核心词, <5K作长尾"
+          },
+          "bullet": {
+            "tips": "第1-2条融入核心词; 围绕搜索意图突出卖点; 竞品品牌占据的词需差异化; 旺季前强调季节卖点"
+          },
+          "searchTerm": {
+            "tips": "填入变体和同义词; 避免重复标题已有词; 短词补长尾变体, 长尾补拆分短词"
+          },
+          "image": {
+            "tips": "主图白底高清>=2000px; 场景图展示核心卖点; 信息图标注差异化特征; >=7张图+1视频"
+          },
+          "aPlus": {
+            "tips": "品牌故事强化认知; 对比表格突出vs竞品优势; 场景图呼应关键词意图; 好评截图增强信任"
+          }
+        }
+      },
+      "output": "listingAnalysis"
+    },
+    {
+      "step": 8,
+      "name": "VOC痛点提取",
+      "condition": "includeReviews == true && reviews.length > 0",
+      "type": "compute",
+      "logic": "extractPainPoints(reviews)",
+      "algorithm": {
+        "filter": "star<=2的差评",
+        "tokenize": "split+toLowerCase, 过滤停用词(200+常见英文词/购物泛词/情感泛词), 最小词长>=5",
+        "bigram": "提取相邻双词组合(如'broke easily','fell apart','poor quality')",
+        "frequency": "按评论去重计频(每条评论每个词/短语最多计1次), 过滤出现>=2次的",
+        "ranking": "bigram优先, 同类按频率降序, 取top8",
+        "severity": "severity = min(100, freq/totalNeg*100*0.4 + rankBonus*0.3 + 30*0.3)",
+        "impact": "severity>=70→high, >=40→medium, <40→low"
+      },
+      "output": "vocPainPoints"
+    },
+    {
+      "step": 9,
+      "name": "广告策略推荐",
+      "type": "compute",
+      "logic": "recommendAdStrategy(keywordAnalysis, productDetail)",
+      "algorithm": {
+        "bidSuggestion": {
+          "formula": "suggestedBid = CPC * bidMultiplier",
+          "multiplier": "valueScore>=70→1.2, >=40→1.0, <40→0.8"
+        },
+        "expectedAcos": "suggestedBid / (avgPrice * conversionRate) * 100",
+        "matchType": {
+          "high_competition": "精准匹配 - 先自动广告测试转化",
+          "medium_competition": "短语+精准组合",
+          "low_competition": "广泛匹配 - 抢流量积销量"
+        },
+        "dailyBudget": "valueScore>=70→$50, >=40→$30, <40→$15",
+        "extraRules": {
+          "growthOver30pct": "提前布局广告占位",
+          "convClickRatioOver1_5": "转化效率极高,加大投放",
+          "convClickRatioUnder0_5": "先优化Listing转化率再重点投放"
+        }
+      },
+      "output": "adStrategy"
+    },
+    {
+      "step": 10,
+      "name": "综合健康评分",
+      "type": "compute",
+      "logic": "calcOverallScore(keywordAnalysis, pricingAnalysis, productDetail, reviews)",
+      "algorithm": {
+        "baseScore": 50,
+        "keywordBonus_20": "核心词数*5, 上限20",
+        "pricingBonus_20": "在最优带内→+20, 偏低→+10, 偏高→+5",
+        "ratingBonus_15": ">=4.5→+15, >=4.0→+10, >=3.5→+5",
+        "reviewBonus_10": ">100条→+10, >30条→+5",
+        "cap": 100,
+        "verdict": {
+          "strong": ">=80分: 产品综合竞争力强",
+          "potential": ">=60分: 产品有提升空间",
+          "needFix": "<60分: 产品需要重点优化"
+        }
+      },
+      "output": "overallScore"
+    },
+    {
+      "step": 11,
+      "name": "AI生成核心诊断与运营建议",
+      "type": "ai",
+      "logic": "generateDiagnosis(overallScore, keywordAnalysis, pricingAnalysis, listingAnalysis, vocPainPoints, adStrategy, productDetail, monitorData)",
+      "aiConfig": {
+        "systemPrompt": "你是一名资深的亚马逊跨境电商运营专家,精通选品、Listing优化、关键词策略、定价策略和广告投放。请基于提供的算法分析结果和数据,给出深度专业的中文建议,使用Markdown格式输出。你的建议应该:具体可执行、有数据支撑、考虑ROI、分优先级排序。",
+        "userPromptTemplate": "# 智能推荐分析请求\n综合健康分:${overallScore}/100\n目标ASIN:${asin}\n品类:${category}\n当前价格:$${currentPrice}\n当前评分:${currentRating}\n当前月销:${currentMonthlySales}\n\n## 关键词分析结果\n${keywordSummary}\n\n## 定价分析结果\n${pricingSummary}\n\n## VOC痛点分析\n${vocSummary}\n\n## 请基于以上算法分析结果,输出以下内容:\n1. **核心诊断** — 当前产品的核心优势和瓶颈(季节性/功能性/流量结构)\n2. **流量架构透视** — 关键词表格(关键词/流量占比/月搜索量/竞争分析诊断)\n3. **运营建议(Action Plan)** — 广告策略PPC/Listing优化SEO&CRO/备货节奏\n4. **30天行动计划** — 按周排列的可执行任务清单",
+        "outputFormat": "Markdown格式,包含核心诊断/流量架构透视表格/运营建议(PPC+Listing+备货)/行动计划",
+        "temperature": 0.5,
+        "maxTokens": 8000,
+        "promptPattern": "system约束专家角色+Markdown输出 + user注入算法结果摘要 + 指定输出章节结构"
+      },
+      "output": "aiDiagnosis"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "productSummary": {
+        "type": "object",
+        "description": "产品基本信息摘要",
+        "properties": {
+          "asin": { "type": "string" },
+          "title": { "type": "string" },
+          "brand": { "type": "string" },
+          "price": { "type": "number", "description": "美元" },
+          "rating": { "type": "number" },
+          "monthlySales": { "type": "integer" },
+          "bsr": { "type": "integer" },
+          "category": { "type": "string" }
+        }
+      },
+      "overallScore": {
+        "type": "object",
+        "description": "综合健康评分",
+        "properties": {
+          "score": { "type": "integer", "description": "0-100" },
+          "verdict": { "type": "string" },
+          "breakdown": {
+            "type": "object",
+            "properties": {
+              "keyword": { "type": "integer" },
+              "pricing": { "type": "integer" },
+              "rating": { "type": "integer" },
+              "review": { "type": "integer" }
+            }
+          }
+        }
+      },
+      "keywordAnalysis": {
+        "type": "object",
+        "description": "流量架构透视",
+        "properties": {
+          "topKeywords": {
+            "type": "array",
+            "description": "关键词流量表",
+            "items": {
+              "type": "object",
+              "properties": {
+                "keyword": { "type": "string" },
+                "keywordCN": { "type": "string" },
+                "trafficShare": { "type": "number", "description": "流量占比%" },
+                "searchVolume": { "type": "integer", "description": "月搜索量" },
+                "searchRank": { "type": "integer", "description": "自然排名" },
+                "competitionLevel": { "type": "string", "enum": ["low", "medium", "high"] },
+                "valueScore": { "type": "integer", "description": "0-100" },
+                "diagnosis": { "type": "string", "description": "竞争分析诊断文本" },
+                "priority": { "type": "string", "enum": ["core", "secondary", "longtail"] }
+              }
+            }
+          },
+          "trafficStructure": {
+            "type": "object",
+            "description": "流量结构摘要",
+            "properties": {
+              "organicPct": { "type": "number", "description": "自然流量占比" },
+              "adPct": { "type": "number", "description": "广告流量占比" },
+              "topKeywordConcentration": { "type": "number", "description": "Top5关键词流量集中度" }
+            }
+          }
+        }
+      },
+      "pricingAnalysis": {
+        "type": "object",
+        "description": "定价策略分析",
+        "properties": {
+          "currentPrice": { "type": "number" },
+          "optimalPrice": { "type": "number" },
+          "recommendedRange": { "type": "object", "properties": { "min": { "type": "number" }, "max": { "type": "number" } } },
+          "currentPosition": { "type": "string", "enum": ["below", "within", "above"] },
+          "bandName": { "type": "string" },
+          "goldenBand": { "type": "string", "description": "量利平衡最优带名称" },
+          "priceStrategy": { "type": "string" },
+          "marginEstimate": {
+            "type": "object",
+            "properties": {
+              "currentMargin": { "type": "number", "description": "当前毛利率%" },
+              "suggestedMargin": { "type": "number" },
+              "breakEvenSales": { "type": "integer" }
+            }
+          },
+          "promotionAdvice": { "type": "array", "items": { "type": "string" } }
+        }
+      },
+      "listingAnalysis": {
+        "type": "array",
+        "description": "Listing优化评估",
+        "items": {
+          "type": "object",
+          "properties": {
+            "dimension": { "type": "string", "enum": ["title", "bullet", "searchTerm", "image", "a+content"] },
+            "currentScore": { "type": "integer" },
+            "potentialScore": { "type": "integer" },
+            "tips": { "type": "array", "items": { "type": "string" } },
+            "keywordsToAdd": { "type": "array", "items": { "type": "string" } },
+            "priority": { "type": "string", "enum": ["high", "medium", "low"] }
+          }
+        }
+      },
+      "vocPainPoints": {
+        "type": "array",
+        "description": "VOC痛点(差评关键词)",
+        "items": {
+          "type": "object",
+          "properties": {
+            "painPoint": { "type": "string" },
+            "severity": { "type": "integer", "description": "0-100" },
+            "frequency": { "type": "integer" },
+            "suggestion": { "type": "string" },
+            "expectedImpact": { "type": "string", "enum": ["high", "medium", "low"] }
+          }
+        }
+      },
+      "adStrategy": {
+        "type": "array",
+        "description": "广告策略推荐",
+        "items": {
+          "type": "object",
+          "properties": {
+            "keyword": { "type": "string" },
+            "matchType": { "type": "string", "enum": ["exact", "phrase", "broad"] },
+            "suggestedBid": { "type": "number" },
+            "expectedAcos": { "type": "number" },
+            "dailyBudget": { "type": "number" },
+            "priority": { "type": "string", "enum": ["high", "medium", "low"] },
+            "reason": { "type": "string" }
+          }
+        }
+      },
+      "aiDiagnosis": {
+        "type": "string",
+        "description": "AI生成的核心诊断与运营建议(Markdown格式),包含: 核心诊断/流量架构透视表格/运营建议(PPC+Listing+备货)/30天行动计划"
+      }
+    }
+  },
+  "timeout": 180000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 3000,
+    "backoffMultiplier": 2
+  }
+}

+ 108 - 0
synthesis/user-persona/SKILL.md

@@ -0,0 +1,108 @@
+# 用户画像生成 (User Persona Builder)
+
+## 技能名称
+user-persona
+
+## 技能目的
+融合电商+社媒VOC,AI生成3-5个核心画像,并生成**购买行为分析**(价格敏感度映射/季节性购买规律/渠道偏好),输出《用户&场景画像手册》。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| reviewKeywordCloud | object | 是 | review-keyword-cloud 输出的关键词云数据 |
+| reviewPainPoints | object | 是 | review-pain-point-extraction 输出的痛点数据 |
+| reviewHighlights | object | 是 | review-highlight-extraction 输出的亮点数据 |
+| socialTrendAnalysis | object | 否 | social-trend-analysis 输出的社媒趋势数据 |
+| categoryKeyword | string | 是 | 品类关键词 |
+
+## 执行流程
+1. 从评论关键词云提取高频使用场景词(如 bedroom, bathroom, gift, office)
+2. 从痛点数据提取用户购买障碍和使用困扰
+3. 从亮点数据提取用户核心诉求和满意因素
+4. 从社媒数据提取用户年龄段、兴趣偏好、讨论热点
+5. AI 综合分析,生成 3-5 个核心用户类型:
+   - **用户标签**: 如「品质生活追求者」「节日礼品购买者」
+   - **人口特征**: 年龄段、性别偏向、消费能力
+   - **核心需求**: 购买该品类的主要动机
+   - **决策因素**: 最看重的产品属性排序
+   - **使用场景**: 在什么场景/场合下使用
+   - **痛点**: 当前产品不满足的地方
+   - **触达渠道**: 在哪里发现/了解该品类(搜索/社媒/推荐)
+6. 生成使用场景分布图(哪些场景最高频)
+7. 生成决策因素权重排序
+8. **购买行为分析**(新增):
+   - 价格敏感度映射: 各画像类型对应的价格带偏好
+   - 季节性购买规律: 年度购买高峰期和促销敏感期
+   - 渠道偏好: 社媒种草 vs Amazon搜索 vs 送礼场景
+9. 输出《用户&场景画像手册》
+
+## 调用的底层 Skill
+- 无直接API调用,纯AI综合分析
+- 输入依赖 review-analysis 和 social-voc 的输出
+
+## 返回格式
+```json
+{
+  "personas": [
+    {
+      "id": "p1",
+      "label": "品质生活追求者",
+      "percentage": 35,
+      "demographics": { "age": "28-42", "gender": "女性为主", "income": "中高" },
+      "coreNeed": "提升家居氛围和生活品质",
+      "decisionFactors": ["香味品质", "持久性", "外观设计", "品牌调性"],
+      "usageScenarios": ["客厅日常", "卧室助眠", "书房提神"],
+      "painPoints": ["好的香味选择太少", "缺少可靠的持久性信息"],
+      "channels": ["Instagram", "家居博主推荐", "Amazon搜索"]
+    },
+    {
+      "id": "p2",
+      "label": "节日礼品购买者",
+      "percentage": 25,
+      "demographics": { "age": "25-50", "gender": "无明显偏向", "income": "中等" },
+      "coreNeed": "找到精美有品味的礼物",
+      "decisionFactors": ["包装品质", "品牌知名度", "价格合理", "快速配送"],
+      "usageScenarios": ["圣诞礼物", "乔迁贺礼", "生日礼物"],
+      "painPoints": ["无法试闻", "包装不够精美", "缺少礼品套装"],
+      "channels": ["TikTok测评", "礼物推荐清单", "Amazon搜索"]
+    }
+  ],
+  "scenarioDistribution": [
+    { "scenario": "客厅日常", "frequency": 40 },
+    { "scenario": "卧室助眠", "frequency": 25 },
+    { "scenario": "送礼", "frequency": 20 },
+    { "scenario": "办公室", "frequency": 10 },
+    { "scenario": "浴室", "frequency": 5 }
+  ],
+  "decisionFactorRanking": [
+    { "factor": "香味品质", "weight": 92, "source": "评论高频+社媒讨论" },
+    { "factor": "持久性", "weight": 85, "source": "评论痛点+好评亮点" },
+    { "factor": "外观设计", "weight": 78, "source": "Instagram互动" },
+    { "factor": "性价比", "weight": 72, "source": "评论关键词" },
+    { "factor": "品牌信任", "weight": 65, "source": "社媒品牌讨论" }
+  ],
+  "purchaseBehavior": {
+    "priceSensitivityMap": [
+      { "persona": "品质生活追求者", "preferredBand": "$25-$40", "sensitivity": "low" },
+      { "persona": "节日礼品购买者", "preferredBand": "$20-$35", "sensitivity": "medium" }
+    ],
+    "seasonalPatterns": [
+      { "period": "11-12月", "peak": "圣诞/新年送礼高峰", "salesMultiplier": 2.5 },
+      { "period": "2月", "peak": "情人节", "salesMultiplier": 1.8 }
+    ],
+    "channelPreferences": [
+      { "channel": "Instagram种草", "percentage": 35 },
+      { "channel": "Amazon搜索", "percentage": 40 },
+      { "channel": "送礼场景", "percentage": 25 }
+    ]
+  },
+  "handbookMarkdown": "# 用户&场景画像手册\n## 核心用户类型\n..."
+}
+```
+
+## 依赖
+- review-keyword-cloud、review-pain-point-extraction、review-highlight-extraction 输出
+- social-trend-analysis 输出(可选)
+
+## 对应工作坊环节
+Day2 上午 11:10-11:50「用户&场景画像共创」— 输出《用户&场景画像手册》

+ 210 - 0
synthesis/user-persona/api-config.json

@@ -0,0 +1,210 @@
+{
+  "name": "user-persona",
+  "displayName": "用户画像生成",
+  "description": "融合电商VOC和社媒VOC,AI生成核心用户画像、使用场景和决策因素",
+  "category": "synthesis",
+  "version": "1.0.0",
+  "type": "analysis",
+  "parameters": {
+    "reviewKeywordCloud": {
+      "type": "object",
+      "required": true,
+      "description": "review-keyword-cloud 输出"
+    },
+    "reviewPainPoints": {
+      "type": "object",
+      "required": true,
+      "description": "review-pain-point-extraction 输出"
+    },
+    "reviewHighlights": {
+      "type": "object",
+      "required": true,
+      "description": "review-highlight-extraction 输出"
+    },
+    "socialTrendAnalysis": {
+      "type": "object",
+      "required": false,
+      "description": "social-trend-analysis 输出(可选)"
+    },
+    "categoryKeyword": {
+      "type": "string",
+      "required": true,
+      "description": "品类关键词"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "提取使用场景",
+      "type": "compute",
+      "logic": "extractScenarios(reviewKeywordCloud, socialTrendAnalysis)",
+      "algorithm": {
+        "keywordClustering": "从评论关键词中提取场景相关词(bedroom/bathroom/gift/office等)",
+        "socialScenarios": "从社媒趋势中提取热门场景(home decor/self-care/gifting等)",
+        "frequencyRank": "按场景出现频率排序",
+        "implementation": "将关键词按场景词典(bedroom/bathroom/gift/office/travel等)匹配分类,统计频率排序"
+      },
+      "output": "scenarios"
+    },
+    {
+      "step": 2,
+      "name": "提取决策因素",
+      "type": "compute",
+      "logic": "extractDecisionFactors(reviewPainPoints, reviewHighlights, socialTrendAnalysis)",
+      "algorithm": {
+        "fromPainPoints": "痛点反转 = 用户核心关注点(e.g. “香味太淡”→“香味浓度”)",
+        "fromHighlights": "亮点直接映射为决策因素",
+        "weight": "factor.weight = painFreq*0.4 + highlightFreq*0.3 + socialMention*0.3",
+        "implementation": "痛点topic反转为决策因素 + 亮点topic直接映射 + 社媒热词补充,用weight公式排序"
+      },
+      "output": "decisionFactors"
+    },
+    {
+      "step": 3,
+      "name": "AI生成用户画像",
+      "type": "ai",
+      "logic": "generatePersonas(scenarios, decisionFactors, reviewKeywordCloud, socialTrendAnalysis)",
+      "aiConfig": {
+        "systemPrompt": "你是跨境电商用户研究专家。只输出一个合法JSON对象。禁止输出Markdown、代码围栏、解释文字。",
+        "userPromptTemplate": "基于以下VOC数据,生成3-5个核心用户画像。每个画像包含: 名称/年龄段/核心场景/决策因素/价格敏感度/社媒平台偏好/购买动机。\n场景数据: ${scenarios}\n决策因素: ${decisionFactors}\n关键词: ${topKeywords}",
+        "outputFormat": "{\"personas\":[{\"name\":\"“品质生活家\u201d\",\"ageRange\":\"28-40\",\"coreScenario\":\"家居装饰\",\"decisionFactors\":[\"品质\",\"香味\"],\"priceSensitivity\":\"medium\",\"socialPreference\":\"Instagram\",\"motivation\":\"提升家居氛围\"}]}",
+        "temperature": 0.3,
+        "maxTokens": 3000,
+        "promptPattern": "system约束JSON输出 + user提供结构化数据 + outputFormat示例引导格式"
+      },
+      "output": "personas"
+    },
+    {
+      "step": 4,
+      "name": "购买行为分析",
+      "type": "compute",
+      "logic": "analyzePurchaseBehavior(personas, reviewKeywordCloud, reviewPainPoints, socialTrendAnalysis)",
+      "algorithm": {
+        "priceSensitivityMapping": {
+          "method": "将用户画像的价格敏感度映射到品类价格带",
+          "high": "偏好低价带/中低价带,重视促销折扣",
+          "medium": "偏好黄金中价带,重视性价比",
+          "low": "偏好中高/高价带,重视品质与品牌"
+        },
+        "seasonalPatterns": {
+          "method": "从评论日期分布+社媒趋势提取季节性购买规律",
+          "peakMonths": "评论集中的月份 = 购买高峰期",
+          "giftSeason": "Q4(感恩节/圣诞)/情人节/母亲节等送礼场景高峰"
+        },
+        "channelPreference": {
+          "method": "根据社媒平台偏好+年龄段推断购买渠道",
+          "youngAdult": "TikTok种草→Amazon购买, 重视网红推荐",
+          "middleAge": "搜索驱动→Amazon直购, 重视评论和评分",
+          "giftBuyer": "社媒灵感→直接购买, 重视包装和送达时间"
+        }
+      },
+      "output": "purchaseBehavior"
+    },
+    {
+      "step": 5,
+      "name": "生成画像手册",
+      "type": "compute",
+      "logic": "buildHandbook(personas, scenarios, decisionFactors, purchaseBehavior)",
+      "algorithm": {
+        "format": "Markdown格式: 每个画像一个章节,包含基本信息/场景/决策因素/购买行为/营销建议",
+        "scenarioChart": "场景分布饼图数据",
+        "factorRanking": "决策因素权重柱状图数据",
+        "marketingStrategy": "每个画像的精准营销策略: 触达渠道/内容形式/促销引导/复购策略"
+      },
+      "output": "handbook"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "personas": {
+        "type": "array",
+        "description": "核心用户类型列表",
+        "items": {
+          "type": "object",
+          "properties": {
+            "name": { "type": "string" },
+            "ageRange": { "type": "string" },
+            "coreScenario": { "type": "string" },
+            "decisionFactors": { "type": "array", "items": { "type": "string" } },
+            "priceSensitivity": { "type": "string", "enum": ["high", "medium", "low"] },
+            "socialPreference": { "type": "string" },
+            "motivation": { "type": "string" },
+            "proportion": { "type": "number", "description": "估算占比%" }
+          }
+        }
+      },
+      "scenarioDistribution": {
+        "type": "array",
+        "description": "使用场景分布",
+        "items": {
+          "type": "object",
+          "properties": {
+            "scenario": { "type": "string" },
+            "proportion": { "type": "number" }
+          }
+        }
+      },
+      "decisionFactorRanking": {
+        "type": "array",
+        "description": "决策因素权重排序",
+        "items": {
+          "type": "object",
+          "properties": {
+            "factor": { "type": "string" },
+            "weight": { "type": "number" }
+          }
+        }
+      },
+      "handbookMarkdown": { "type": "string", "description": "画像手册(Markdown)" },
+      "purchaseBehavior": {
+        "type": "object",
+        "description": "购买行为分析",
+        "properties": {
+          "priceSensitivityMap": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "properties": {
+                "persona": { "type": "string" },
+                "sensitivity": { "type": "string", "enum": ["high", "medium", "low"] },
+                "preferredBand": { "type": "string" },
+                "promotionResponse": { "type": "string" }
+              }
+            }
+          },
+          "seasonalPatterns": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "properties": {
+                "period": { "type": "string" },
+                "peakLevel": { "type": "string", "enum": ["high", "medium", "low"] },
+                "dominantPersona": { "type": "string" },
+                "marketingFocus": { "type": "string" }
+              }
+            }
+          },
+          "channelPreferences": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "properties": {
+                "persona": { "type": "string" },
+                "primaryChannel": { "type": "string" },
+                "discoveryPath": { "type": "string" },
+                "conversionDriver": { "type": "string" }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "timeout": 60000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 1000,
+    "backoffMultiplier": 2
+  }
+}

+ 121 - 0
synthesis/voc-proposal/SKILL.md

@@ -0,0 +1,121 @@
+# VOC产品优化提案生成 (VOC Proposal Generator)
+
+## 技能名称
+voc-proposal
+
+## 技能目的
+整合全部前置Skill输出,AI生成6章节提案,并生成**ROI估算**、**风险整合**和**30天行动时间线**。
+
+## 输入参数
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| categoryLandscape | object | 是 | synthesis/category-landscape 输出 |
+| brandProfile | object | 是 | synthesis/brand-profile 输出 |
+| competitorData | object | 是 | competitor-analysis 相关输出(发现+对比+定价+追踪) |
+| reviewAnalysis | object | 是 | review-analysis 相关输出(情感+痛点+亮点+关键词) |
+| socialVocData | object | 否 | social-voc 相关输出(TikTok+Instagram+趋势) |
+| userPersona | object | 是 | synthesis/user-persona 输出 |
+| brandName | string | 是 | 品牌名称 |
+| categoryKeyword | string | 是 | 品类关键词 |
+
+## 执行流程
+1. 汇总所有输入数据,建立数据索引
+2. AI 按以下6章模板生成提案:
+
+### 第一章:品类认知
+- 市场规模与增长趋势
+- CR5/HHI市场集中度
+- 价格带分布与主力价格段
+- 品类生命周期阶段判断
+
+### 第二章:品牌定位
+- 品牌六维画像得分
+- 四象限定位图位置
+- 品牌优势与短板
+- 与品类标杆的差距分析
+
+### 第三章:竞品漏洞
+- 竞品差评痛点Top 10
+- 竞品未满足需求清单
+- 竞品定价策略弱点
+- BSR波动暴露的运营问题
+
+### 第四章:用户需求
+- 核心用户画像(3-5类)
+- 使用场景分布
+- 决策因素权重
+- 社媒热点话题和内容偏好
+
+### 第五章:产品优化方向
+- 功能改进建议(针对痛点)
+- 卖点提炼建议(针对亮点)
+- 定价策略建议
+- 包装/变体优化建议
+- 新品方向建议
+
+### 第六章:落地行动
+- Listing优化关键词清单
+- 广告投放关键词推荐
+- 社媒内容策略建议
+- 优先级和实施时间线
+
+3. **ROI估算与风险整合**(新增):
+   - 每条建议估算投入/收益/回本周期: Listing($0/即时)→PPC($30-50/日)→产品迭代(60-90天)
+   - 整合category-landscape和competitor-bsr-tracking的风险预警
+4. **30天行动时间线**(新增):
+   - 4周任务分解: W1(Listing优化) → W2(PPC启动) → W3(社媒内容) → W4(复盘调整)
+   - 里程碑: D7/D14/D21/D30 各节点目标
+5. 添加数据图表引用和关键数据支撑
+6. 输出完整 Markdown 格式提案
+
+## 调用的底层 Skill
+- 无直接API调用,纯AI综合生成
+- 输入依赖全部前置 Skill 的输出
+
+## 返回格式
+```json
+{
+  "proposal": {
+    "title": "COCORRINA 品牌 Reed Diffuser 品类 VOC产品优化提案",
+    "date": "2026-03-26",
+    "chapters": [
+      { "number": 1, "title": "品类认知", "content": "...", "keyMetrics": ["CR5=35.2%", "市场月销额$375万"] },
+      { "number": 2, "title": "品牌定位", "content": "...", "keyMetrics": ["综合得分75.2", "四象限:中价高质"] },
+      { "number": 3, "title": "竞品漏洞", "content": "...", "keyMetrics": ["Top痛点:香味持续短(32.5%)", "5个未满足需求"] },
+      { "number": 4, "title": "用户需求", "content": "...", "keyMetrics": ["5类核心用户", "Top场景:客厅日常(40%)"] },
+      { "number": 5, "title": "产品优化方向", "content": "...", "keyMetrics": ["8项功能建议", "3个新品方向"] },
+      { "number": 6, "title": "落地行动", "content": "...", "keyMetrics": ["15个优化关键词", "4阶段实施计划"] }
+    ],
+    "executiveSummary": "...",
+    "fullMarkdown": "# VOC产品优化提案\n## 执行摘要\n...\n## 第一章 品类认知\n..."
+  },
+  "dataReferences": {
+    "totalReviewsAnalyzed": 450,
+    "totalCompetitors": 5,
+    "totalSocialMediaPosts": 200,
+    "dataCompleteness": 92
+  },
+  "roiEstimates": [
+    { "action": "Listing优化", "investment": "$0", "expectedReturn": "转化率提升15-25%", "paybackPeriod": "即时" },
+    { "action": "PPC广告投放", "investment": "$30-50/日", "expectedReturn": "ACOS 20-30%", "paybackPeriod": "14-21天" },
+    { "action": "产品迭代", "investment": "$5000-10000", "expectedReturn": "评分提升+差评率降低", "paybackPeriod": "60-90天" }
+  ],
+  "riskAlerts": [
+    { "level": "medium", "source": "category-landscape", "title": "价格战风险" },
+    { "level": "low", "source": "competitor-bsr-tracking", "title": "竞品增长势头强劲" }
+  ],
+  "actionTimeline": {
+    "week1": { "focus": "Listing优化", "tasks": ["标题+bullet关键词优化", "主图升级"], "milestone": "D7: Listing优化完成" },
+    "week2": { "focus": "PPC启动", "tasks": ["核心词广告上线", "防御性广告开启"], "milestone": "D14: 广告数据初步验证" },
+    "week3": { "focus": "社媒内容", "tasks": ["博主合作种草", "内容发布"], "milestone": "D21: 社媒曝光启动" },
+    "week4": { "focus": "复盘调整", "tasks": ["数据复盘", "策略调整"], "milestone": "D30: 全面复盘报告" }
+  }
+}
+```
+
+## 依赖
+- 全部前置 Skill 的输出数据
+- AI 大模型生成能力
+
+## 对应工作坊环节
+Day2 下午 13:00-14:30「成果整合&提案撰写」— 输出《VOC产品优化/新品提案》

+ 235 - 0
synthesis/voc-proposal/api-config.json

@@ -0,0 +1,235 @@
+{
+  "name": "voc-proposal",
+  "displayName": "VOC产品优化提案生成",
+  "description": "整合所有VOC分析成果,AI生成结构化的6章节产品优化提案",
+  "category": "synthesis",
+  "version": "1.0.0",
+  "type": "analysis",
+  "parameters": {
+    "categoryLandscape": {
+      "type": "object",
+      "required": true,
+      "description": "synthesis/category-landscape 输出"
+    },
+    "brandProfile": {
+      "type": "object",
+      "required": true,
+      "description": "synthesis/brand-profile 输出"
+    },
+    "competitorData": {
+      "type": "object",
+      "required": true,
+      "description": "competitor-analysis 相关输出汇总"
+    },
+    "reviewAnalysis": {
+      "type": "object",
+      "required": true,
+      "description": "review-analysis 相关输出汇总"
+    },
+    "socialVocData": {
+      "type": "object",
+      "required": false,
+      "description": "social-voc 相关输出汇总"
+    },
+    "userPersona": {
+      "type": "object",
+      "required": true,
+      "description": "synthesis/user-persona 输出"
+    },
+    "brandName": {
+      "type": "string",
+      "required": true,
+      "description": "品牌名称"
+    },
+    "categoryKeyword": {
+      "type": "string",
+      "required": true,
+      "description": "品类关键词"
+    }
+  },
+  "pipeline": [
+    {
+      "step": 1,
+      "name": "构建数据索引",
+      "type": "compute",
+      "logic": "buildDataIndex(categoryLandscape, brandProfile, competitorData, reviewAnalysis, socialVocData, userPersona)",
+      "algorithm": {
+        "index": "将所有上游技能输出按章节主题分类索引",
+        "chapters": {
+          "ch1_market": "categoryLandscape → 市场总览/CR5/价格带/搜索趋势",
+          "ch2_competitor": "competitorData → 竞品发现/对比矩阵/定价分析/BSR追踪",
+          "ch3_voc": "reviewAnalysis → 情感分布/痛点TOP/亮点TOP/关键词云",
+          "ch4_social": "socialVocData → TikTok热度/IG策略/趋势话题",
+          "ch5_user": "userPersona → 用户画像/场景分布/决策因素",
+          "ch6_action": "综合所有数据 → 产品优化行动计划"
+        },
+        "completeness": "检查各数据源是否完整,缺失的标记为data_missing"
+      },
+      "output": "dataIndex"
+    },
+    {
+      "step": 2,
+      "name": "AI生成提案",
+      "type": "ai",
+      "logic": "generateProposal(dataIndex, { brandName, categoryKeyword, template: '6-chapter' })",
+      "aiConfig": {
+        "systemPrompt": "你是跨境电商VOC分析专家。请基于数据生成结构化的产品优化提案。只输出JSON。",
+        "userPromptTemplate": "品牌: ${brandName}\n品类: ${categoryKeyword}\n\n请生成6章节提案:\n1. 市场总览与机会 (${ch1_data})\n2. 竞争格局与定位 (${ch2_data})\n3. VOC洞察与产品优化 (${ch3_data})\n4. 社媒趋势与营销策略 (${ch4_data})\n5. 用户画像与场景策略 (${ch5_data})\n6. 行动计划与优先级 (${all_data})",
+        "outputFormat": "{\"chapters\":[{\"title\":\"市场总览与机会\",\"sections\":[{\"heading\":\"\",\"content\":\"\",\"dataRef\":\"\"}],\"keyFindings\":[\"\"],\"recommendations\":[\"\"]}]}",
+        "temperature": 0.3,
+        "maxTokens": 8000,
+        "promptPattern": "system约束JSON输出 + user按章节注入数据摘要 + outputFormat示例引导结构"
+      },
+      "output": "proposal"
+    },
+    {
+      "step": 3,
+      "name": "添加数据引用+生成Markdown",
+      "type": "compute",
+      "logic": "addDataReferences(proposal, dataIndex)",
+      "algorithm": {
+        "dataRef": "为每个章节的每个结论添加数据来源引用",
+        "markdown": "将JSON提案转化为完整Markdown文档,包含目录/执行摘要/6章节/附录",
+        "executiveSummary": "从各章keyFindings和recommendations中提取核心要点生成执行摘要",
+        "completenessReport": "标注数据完整度: 哪些章节有完整数据支撑,哪些基于AI推断"
+      },
+      "output": "finalProposal"
+    },
+    {
+      "step": 4,
+      "name": "ROI估算与风险整合",
+      "type": "compute",
+      "logic": "computeRoiAndRisks(proposal, dataIndex, categoryLandscape, competitorData)",
+      "algorithm": {
+        "roiEstimation": {
+          "perRecommendation": "为每条建议估算: 投入成本/预期收益/回本周期",
+          "listingOptimization": "$0成本, 预计提升转化率10-20%, 回本0天",
+          "ppcCampaign": "日预算$30-50, ACOS目标<30%, 14天见效",
+          "productIteration": "模具/包装改良成本估算, 60-90天回本",
+          "socialMarketing": "KOL合作费用估算, 30-45天见效"
+        },
+        "riskIntegration": {
+          "method": "从哄类格局/竞品分析中汇总风险预警",
+          "mitigation": "每个风险配套缓解策略"
+        }
+      },
+      "output": "roiAndRisks"
+    },
+    {
+      "step": 5,
+      "name": "30天行动时间线",
+      "type": "compute",
+      "logic": "build30DayTimeline(proposal, roiAndRisks, dataIndex)",
+      "algorithm": {
+        "weeklyBreakdown": {
+          "week1": ["Listing优化(标题/五点/ST植入核心词)", "差评快速响应机制启动", "广告活动搭建(Auto+手动精准)"],
+          "week2": ["A+页面优化", "广告Bid调优基于第一周数据", "社媒内容发布启动"],
+          "week3": ["主图/视频迭代优化", "广告否词清理+新词扩展", "促销活动启动(Coupon/Deal)"],
+          "week4": ["效果复盘+数据分析", "下月计划制定", "库存补货决策"]
+        },
+        "milestones": [
+          { "day": 7, "target": "Listing优化完成,广告开始积累数据" },
+          { "day": 14, "target": "广告ACOS降至目标值,有机流量开始提升" },
+          { "day": 21, "target": "转化率提升可见,社媒引流开始起效" },
+          { "day": 30, "target": "全面复盘,确认下一阶段重点" }
+        ]
+      },
+      "output": "actionTimeline"
+    }
+  ],
+  "response": {
+    "type": "object",
+    "properties": {
+      "proposal": {
+        "type": "object",
+        "description": "完整提案结构",
+        "properties": {
+          "title": { "type": "string" },
+          "date": { "type": "string" },
+          "executiveSummary": { "type": "string" },
+          "chapters": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "properties": {
+                "title": { "type": "string" },
+                "sections": { "type": "array" },
+                "keyFindings": { "type": "array", "items": { "type": "string" } },
+                "recommendations": { "type": "array", "items": { "type": "string" } }
+              }
+            }
+          },
+          "fullMarkdown": { "type": "string", "description": "完整Markdown文档" }
+        }
+      },
+      "dataReferences": {
+        "type": "object",
+        "description": "数据引用和完整度",
+        "properties": {
+          "completeness": { "type": "number", "description": "0-100数据完整度" },
+          "availableSources": { "type": "array", "items": { "type": "string" } },
+          "missingSources": { "type": "array", "items": { "type": "string" } }
+        }
+      },
+      "roiEstimation": {
+        "type": "array",
+        "description": "每条建议的ROI估算",
+        "items": {
+          "type": "object",
+          "properties": {
+            "recommendation": { "type": "string" },
+            "investmentCost": { "type": "string" },
+            "expectedReturn": { "type": "string" },
+            "paybackPeriod": { "type": "string" },
+            "priority": { "type": "string", "enum": ["high", "medium", "low"] }
+          }
+        }
+      },
+      "riskAlerts": {
+        "type": "array",
+        "description": "整合风险预警+缓解策略",
+        "items": {
+          "type": "object",
+          "properties": {
+            "title": { "type": "string" },
+            "level": { "type": "string", "enum": ["high", "medium", "low"] },
+            "description": { "type": "string" },
+            "mitigation": { "type": "string" }
+          }
+        }
+      },
+      "actionTimeline": {
+        "type": "object",
+        "description": "30天行动时间线",
+        "properties": {
+          "weeks": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "properties": {
+                "week": { "type": "integer" },
+                "tasks": { "type": "array", "items": { "type": "string" } }
+              }
+            }
+          },
+          "milestones": {
+            "type": "array",
+            "items": {
+              "type": "object",
+              "properties": {
+                "day": { "type": "integer" },
+                "target": { "type": "string" }
+              }
+            }
+          }
+        }
+      }
+    }
+  },
+  "timeout": 120000,
+  "retry": {
+    "maxAttempts": 2,
+    "delay": 3000,
+    "backoffMultiplier": 2
+  }
+}

+ 2 - 2
voc/asin-reverse-keywords/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -43,6 +43,6 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字
 - ASIN 参数必须大写

+ 6 - 5
voc/asin-reverse-keywords/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "asin_reverse_keywords",
+{
+  "name": "asin-reverse-keywords",
   "displayName": "ASIN 反查关键词",
   "description": "根据 ASIN 反向查询该产品关联的搜索关键词列表,包括搜索排名、搜索量等。用于竞品关键词策略分析、广告关键词挖掘。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/asin-sales-volume/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -44,6 +44,6 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字
 - ASIN 参数必须大写

+ 6 - 5
voc/asin-sales-volume/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "asin_sales_volume",
+{
+  "name": "asin-sales-volume",
   "displayName": "ASIN 销量查询",
   "description": "查询指定 ASIN 的销量数据,包括日销量、周销量、月销量趋势。用于市场规模估算、品类销售额计算。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/category-products/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -46,6 +46,6 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字
 - 关联技能: `category-tree`(先通过类目树获取 NodeId)

+ 6 - 5
voc/category-products/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "category_products",
+{
+  "name": "category-products",
   "displayName": "Amazon 类目产品查询",
   "description": "根据类目 ID 获取该类目下的产品列表。用于获取品类 Top 产品、分析品类竞争格局、统计品牌分布和中国卖家占比。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/category-tree/SKILL.md

@@ -13,7 +13,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -39,6 +39,6 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字
 - 关联技能: `category-products`(使用本接口返回的 NodeId 查询类目下产品)

+ 6 - 5
voc/category-tree/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "category_tree",
+{
+  "name": "category-tree",
   "displayName": "Amazon 类目树查询",
   "description": "获取 Amazon 类目层级树结构,用于定位目标品类的类目 ID,再通过 category_products 获取该类目下的产品列表。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/keyword-product-ranking/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -46,5 +46,5 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字

+ 6 - 5
voc/keyword-product-ranking/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "keyword_product_ranking",
+{
+  "name": "keyword-product-ranking",
   "displayName": "关键词产品排名查询",
   "description": "查询指定关键词下的产品排名列表,获取该关键词搜索结果中的产品排序。用于竞品在关键词下的位置分析、广告优化。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/keyword-search-trend/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -48,5 +48,5 @@ TrendData 数组中每个元素包含:
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字

+ 6 - 5
voc/keyword-search-trend/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "keyword_search_trend",
+{
+  "name": "keyword-search-trend",
   "displayName": "关键词搜索趋势查询",
   "description": "查询指定关键词的搜索结果趋势变化,包括搜索量随时间的变化。用于发现飙升关键词、季节性趋势分析。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/keyword-search/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -45,5 +45,5 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字

+ 6 - 5
voc/keyword-search/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "keyword_search",
+{
+  "name": "keyword-search",
   "displayName": "Amazon 关键词查询",
   "description": "查询 Amazon 关键词的搜索量、搜索趋势、竞争度等数据。用于广告关键词推荐、趋势雷达、飙升卖点词分析。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/product-detail-query/SKILL.md

@@ -17,7 +17,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -71,6 +71,6 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字: 1=amazon.com, 2=amazon.co.uk 等
 - ASIN 参数必须大写

+ 6 - 5
voc/product-detail-query/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "product_detail_query",
+{
+  "name": "product-detail-query",
   "displayName": "Amazon 产品详情查询",
   "description": "根据 ASIN 获取 Amazon 产品详情,包括标题、价格、评分、销量、BSR、品牌、类目、变体、趋势等完整信息。用于竞品分析、市场全景、定价策略。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/product-monitor/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -43,6 +43,6 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字
 - ASIN 参数必须大写

+ 6 - 5
voc/product-monitor/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "product_monitor",
+{
+  "name": "product-monitor",
   "displayName": "产品监控数据查询",
   "description": "获取产品的监控追踪数据,包括价格变化、排名变化、评分变化等历史数据。用于竞品动态追踪、价格监控、新品上架预警。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/product-reviews-query/SKILL.md

@@ -18,7 +18,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -72,6 +72,6 @@ Reviews 数组中每条评论包含:
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字
 - 建议搭配 AI 分析进行情感分类和痛点提取

+ 6 - 5
voc/product-reviews-query/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "product_reviews_query",
+{
+  "name": "product-reviews-query",
   "displayName": "Amazon 产品评论查询",
   "description": "根据 ASIN 抓取 Amazon 产品用户评论,支持按星级、日期、是否验证购买筛选。用于 VOC 用户洞察、痛点提取、喜爱点分析、使用场景挖掘。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/product-search/SKILL.md

@@ -15,7 +15,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -54,5 +54,5 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字

+ 6 - 5
voc/product-search/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "product_search",
+{
+  "name": "product-search",
   "displayName": "Amazon 关键词搜索产品",
   "description": "按关键词搜索 Amazon 产品列表,返回多个产品的标题、价格、评分、销量等信息。用于品类市场全景分析、Top100 产品列表获取。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {

+ 2 - 2
voc/similar-products/SKILL.md

@@ -14,7 +14,7 @@
 ## 接口调用方式
 
 - **请求方法**: POST
-- **接口地址**: `https://server-msq.fmode.cn/api/sorftime/forward`
+- **接口地址**: `https://server.fmode.cn/api/voc/forward`
 - **请求头**: `Content-Type: application/json`
 - **接口配置文件路径**: `./api-config.json`
 
@@ -43,7 +43,7 @@
 
 ## 依赖要求
 
-- 通过 `https://server-msq.fmode.cn/api/sorftime/forward` 统一转发,认证已在后端内置,前端无需传入 Token
+- 通过 `https://server.fmode.cn/api/voc/forward` 统一转发,认证已在后端内置,前端无需传入 Token
 - `domain` 参数必须是数字
 - ASIN 参数必须大写
 - 关联技能: `product-detail-query`

+ 6 - 5
voc/similar-products/api-config.json

@@ -1,14 +1,15 @@
-{
-  "name": "similar_products",
+{
+  "name": "similar-products",
   "displayName": "Amazon 相似产品查询",
   "description": "根据 ASIN 查询与该产品相似的产品列表,用于竞品发现、关联分析。",
   "category": "voc",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "endpoint": {
     "method": "POST",
-    "url": "https://server-msq.fmode.cn/api/sorftime/forward",
+    "url": "https://server.fmode.cn/api/voc/forward",
     "headers": {
-      "Content-Type": "application/json"
+      "Content-Type": "application/json",
+    "Authorization": "Bearer r:858b3ee92314d5447d1fc3cdc10462d7"
     }
   },
   "parameters": {