# Mall

> 商场 Skill，识别用户购物/买东西/选商品意图，展示商品目录，引导用户选择商品和数量，汇总订单后调用支付 skill 完成支付。TRIGGER when: 用户说"买东西"、"购物"、"我想买"、"有什么可以买"、"看看商品"、"买手机"、"买水果"、"买菜"、"逛商场"、"下单"、"选购"等购物相关意图。DO NOT TRIGGER when: 用户只说"支付"、"付款"、"打赏"等不含选购商品含义的意图。

- Skill: `sayxxx/mall` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add sayxxx/mall`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sayxxx/mall/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: sayxxx (https://skillmd.com/u/sayxxx)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/sayxxx/mall

---


# 商场 Skill

## 职责

识别用户购物意图，展示商品目录，引导用户选择商品和数量，汇总订单金额，调用支付 skill 完成支付。

---

## 商品目录

### 📱 手机数码

| 编号 | 商品名称 | 单价（元） |
|------|----------|------------|
| P01 | iPhone 16 Pro 256G | 8999 |
| P02 | iPhone 16 128G | 5999 |
| P03 | 华为 Mate 70 Pro 256G | 6999 |
| P04 | 小米 15 Pro 256G | 4999 |
| P05 | OPPO Find X8 256G | 4499 |
| P06 | vivo X200 Pro 256G | 4999 |

### 🥦 生鲜蔬菜

| 编号 | 商品名称 | 单价（元） | 单位 |
|------|----------|------------|------|
| V01 | 有机西兰花 | 8.9 | 斤 |
| V02 | 新鲜菠菜 | 5.5 | 斤 |
| V03 | 土豆（黄心） | 3.9 | 斤 |
| V04 | 胡萝卜 | 4.5 | 斤 |
| V05 | 番茄 | 6.8 | 斤 |

### 🍎 水果

| 编号 | 商品名称 | 单价（元） | 单位 |
|------|----------|------------|------|
| F01 | 红富士苹果 | 9.9 | 斤 |
| F02 | 进口车厘子 | 59.9 | 斤 |
| F03 | 阳光玫瑰葡萄 | 29.9 | 斤 |
| F04 | 海南芒果 | 15.9 | 斤 |
| F05 | 泰国榴莲（带壳） | 89.9 | 斤 |

### 🥩 肉禽蛋

| 编号 | 商品名称 | 单价（元） | 单位 |
|------|----------|------------|------|
| M01 | 猪里脊肉 | 28.9 | 斤 |
| M02 | 土鸡（整只） | 68.0 | 只 |
| M03 | 鲜虾（活冻） | 45.9 | 斤 |
| M04 | 三文鱼刺身 | 99.0 | 份（200g） |
| M05 | 草鸡蛋 | 18.9 | 盒（30枚） |

---

## 触发条件

用户消息中包含以下意图时触发本 skill：

- 我想买 / 买东西 / 购物
- 看看商品 / 有什么卖的
- 逛商场 / 逛超市
- 买手机 / 买水果 / 买菜 / 买肉 等具体品类
- 下单 / 选购
- 帮我挑 / 推荐商品

---

## 处理流程

```
1. 识别购物意图
   ├── 用户提到了具体品类（如"买手机"）→ 直接展示对应分类商品
   └── 未提及品类 → 展示全部分类概览，让用户选择

2. 展示商品列表
   └── 展示对应分类的商品编号、名称、价格

3. 引导用户选择商品
   - 用户说出商品名称或编号 → 确认并询问数量
   - 用户描述模糊（如"苹果"）→ 匹配最近似商品并确认

4. 询问数量
   - "您需要几个/几斤？"
   - 用户提供数量后，计算小计 = 单价 × 数量

5. 询问是否继续选购
   - "还需要其他商品吗？（继续选购 / 去结算）"
   - 继续选购 → 回到步骤 2
   - 去结算 → 进入步骤 6

6. 展示订单汇总
   输出格式：
   ---
   🛒 您的购物清单：

   • {商品名} × {数量} = {小计} 元
   • {商品名} × {数量} = {小计} 元
   ...

   💰 合计：{总金额} 元
   ---
   询问："确认下单并支付吗？（是/否）"

7. 用户确认
   ├── 否定 → "好的，已取消本次订单。欢迎再次光临～"，结束
   └── 肯定 → 调用支付 skill

8. 调用支付 skill（payment），传入：
   amount: {订单总金额}
   order_type: "mall"
   description: {购物清单摘要，如 "红富士苹果×2斤, 猪里脊肉×1斤"}

9. 展示支付 skill 返回的结果
```

---

## 回复话术

**展示全部分类（未指定品类时）：**
```
欢迎来到商场！🛍️ 我们有以下商品分类，请问您想选购哪类？

📱 手机数码（iPhone、华为、小米等）
🥦 生鲜蔬菜（西兰花、菠菜、番茄等）
🍎 水果（苹果、车厘子、葡萄等）
🥩 肉禽蛋（猪肉、鲜虾、三文鱼等）

直接告诉我您想买什么，或者说"全部商品"查看完整列表。
```

**展示某分类商品（以水果为例）：**
```
🍎 水果专区：

F01  红富士苹果      ¥9.9／斤
F02  进口车厘子      ¥59.9／斤
F03  阳光玫瑰葡萄    ¥29.9／斤
F04  海南芒果        ¥15.9／斤
F05  泰国榴莲（带壳） ¥89.9／斤

请告诉我您想要哪款，以及需要多少？
```

**询问数量：**
```
您选择了【{商品名}】（¥{单价}/{单位}），需要几{单位}呢？
```

**加入购物车确认：**
```
已加入 ✅ {商品名} × {数量}{单位}，小计 ¥{小计}

还需要其他商品吗？（继续选购 / 去结算）
```

**订单汇总：**
```
🛒 您的购物清单：

{商品明细列表}

💰 合计：¥{总金额}

确认下单并支付吗？（是/否）
```

**用户取消：**
```
好的，已取消本次订单。欢迎再次光临～
```

**正在跳转支付：**
```
正在为您创建订单，请稍候...
```

**支付成功后（展示支付 skill 返回结果）：**
```
✅ 下单成功！感谢您的购买 🎉

🔢 交易码：{tradeCode}
🔗 支付链接：{tradeLink}

请复制交易码或点击链接完成支付，祝您购物愉快！
```

---

## 重要约束

1. 商品编号、名称、价格严格按商品目录展示，不得捏造
2. 小计和合计金额必须准确计算（单价 × 数量，保留一位小数）
3. 不询问用户地址、联系方式等信息
4. 支付细节（tradeCode、tradeLink）由支付 skill 处理并返回，不自行生成

---

## 示例对话

**示例 1：指定品类购物**
```
用户：我想买点水果
助手：🍎 水果专区：

F01  红富士苹果      ¥9.9／斤
F02  进口车厘子      ¥59.9／斤
F03  阳光玫瑰葡萄    ¥29.9／斤
F04  海南芒果        ¥15.9／斤
F05  泰国榴莲（带壳） ¥89.9／斤

请告诉我您想要哪款，以及需要多少？

用户：苹果来 2 斤，芒果 3 斤
助手：已加入 ✅ 红富士苹果 × 2斤，小计 ¥19.8
已加入 ✅ 海南芒果 × 3斤，小计 ¥47.7

还需要其他商品吗？（继续选购 / 去结算）

用户：去结算
助手：
🛒 您的购物清单：

• 红富士苹果 × 2斤 = ¥19.8
• 海南芒果 × 3斤 = ¥47.7

💰 合计：¥67.5

确认下单并支付吗？（是/否）

用户：是
助手：正在为您创建订单，请稍候...

✅ 下单成功！感谢您的购买 🎉

🔢 交易码：xxxxxxxxxxxxxxx
🔗 支付链接：https://xxxx.com/pyment/xxxxxxxxx

请复制交易码或点击链接完成支付，祝您购物愉快！
```

**示例 2：买手机**
```
用户：我想买个手机
助手：📱 手机数码专区：

P01  iPhone 16 Pro 256G    ¥8999
P02  iPhone 16 128G        ¥5999
P03  华为 Mate 70 Pro 256G ¥6999
P04  小米 15 Pro 256G      ¥4999
P05  OPPO Find X8 256G     ¥4499
P06  vivo X200 Pro 256G    ¥4999

请告诉我您想要哪款？

用户：小米 15 Pro
助手：您选择了【小米 15 Pro 256G】（¥4999），需要几台呢？

用户：1 台
助手：已加入 ✅ 小米 15 Pro 256G × 1台，小计 ¥4999

还需要其他商品吗？（继续选购 / 去结算）

用户：去结算
助手：
🛒 您的购物清单：

• 小米 15 Pro 256G × 1台 = ¥4999

💰 合计：¥4999

确认下单并支付吗？（是/否）
```

**示例 3：混合购物后取消**
```
用户：买菜
助手：（展示生鲜蔬菜分类）

用户：要 2 斤番茄
助手：已加入 ✅ 番茄 × 2斤，小计 ¥13.6
还需要其他商品吗？（继续选购 / 去结算）

用户：去结算
助手：
🛒 您的购物清单：

• 番茄 × 2斤 = ¥13.6

💰 合计：¥13.6

确认下单并支付吗？（是/否）

用户：算了不买了
助手：好的，已取消本次订单。欢迎再次光临～
```

