Skill: sayxxx/mall (version 1.0.0)

--- name: mall description: 商场 Skill，识别用户购物/买东西/选商品意图，展示商品目录，引导用户选择商品和数量，汇总订单后调用支付 skill 完成支付。TRIGGER when: 用户说"买东西"、"购物"、"我想买"、"有什么可以买"、"看看商品"、"买手机"、"买水果"、"买菜"、"逛商场"、"下单"、"选购"等购物相关意图。DO NOT TRIGGER when: 用户只说"支付"、"付款"、"打赏"等不含选购商品含义的意图。 --- # 商场 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 确认下单并支付吗？（是/否） 用户：是 助手：正在为您创建订单，请稍候... ✅ 下单成功！感谢您的购买 🎉 🔢 交易码：62254562871846512 🔗 支付链接：https://pay-h5.flysay.com/pyment/62254562871846512 请复制交易码或点击链接完成支付，祝您购物愉快！ ``` **示例 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 确认下单并支付吗？（是/否） 用户：算了不买了 助手：好的，已取消本次订单。欢迎再次光临～ ```


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal:  | SkillSpector: clean (LOW)