360 Secure SkillHub
360 安全技能中心

Promotion Engine

核心功能:依托知识库促销信息与会员配置,可查询活动、核算实付、验证折扣适用性、判断叠加规则、提供最优购买策略,且全程展示计算步骤增强用户信任。典型使用场景:用户询问当前活动、商品是否打折、多件实付金额、最优购买方案、折扣能否叠加等。输入为促销相关中英问题,输出为结构化结果,可处理过期活动、未知会员等级等边缘情况。

fangwei-frank
fangwei-frank
热度 37.34
最近更新 2026-05-11 17:35:23
分类:营销依赖:代码执行应用场景:购物 / 市场分析 / 数据处理 / CRM

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add promotion-engine
Metadata
name
promotion-engine
description
Retail promotion calculator and discount lookup for digital employees. Computes final prices after applying discounts, bundles, thresholds, and membership tiers. Answers questions about current promotions and calculates how much a customer saves. Use when someone asks about: 优惠, 活动, 折扣, 满减, 打折, 赠品, 积分抵扣, 会员价, 怎么算, 最便宜怎么买, current promotions, any discounts, how much off, coupon, promo code, bundle deal, buy one get one.
metadata
{"openclaw":{"emoji":"🏷️"}}

Promotion Engine

Overview

This skill looks up active promotions and calculates final prices. It always shows its work (calculation steps) so customers trust the answer.

Depends on: promotions[] in knowledge base + membership{} config.


Query Types

Query Example Action
"What promotions are active?" "现在有什么活动?" List all active promos
"How much will I pay?" "买两件怎么算?" Calculate total
"Is this on sale?" "这款打折吗?" Check promo applicability
"How do I get the best deal?" "怎么买最划算?" Optimize purchase strategy
"Can I stack promos?" "会员折扣和满减可以一起用吗?" Check stackability

Calculation Steps

Always show calculation steps. Customers distrust "magic numbers."

Step 1: Identify applicable promotions

For each item in the cart/query:

  1. Check promotions[] for active promos (not expired)
  2. Filter by applicable_to scope (does this product qualify?)
  3. Check excluded list (is this product excluded?)
  4. Check membership tier for additional discounts

Step 2: Apply promotion rules

Use scripts/calculate_promotion.py for accurate computation.

Promotion types:

Type Rule format Example
threshold 满X减Y 满300减50
discount X折 or X% off 8折, 20% off
bundle 买X件享Y价 买2件第2件半价
gift 满X赠品 满200赠小样
member_price 会员专属价 VIP价¥199

Step 3: Handle stacking

Check stackable field on each promotion.

  • stackable: true → can combine with others
  • stackable: false → use highest-value single promo
  • When in doubt: use the rule that benefits the customer more

Step 4: Present result

Show original price → applicable promos → final price → total savings.


Answer Format

Single item query

这款连衣裙 原价:¥399
✨ 夏日大促:满300减50
会员折扣:9折(VIP专享)

最终价格:¥309(节省¥90)

Cart calculation

您的购物清单:
  白色连衣裙 ×1   ¥399
  条纹衬衫   ×1   ¥259
  小计:¥658

✨ 满300减50 → -¥50
✨ 满600再减80 → -¥80(两件合计超过600!)

最终合计:¥528(节省¥130 🎉)

No active promotions

目前[产品/全场]暂无特别优惠活动。
当前售价:¥[price]

Edge Cases

Conflicting promos: Always apply the rule that benefits the customer most. State which was applied.

Expired promo mentioned by customer: "这个活动已于[date]结束了,目前[有/没有]新的优惠。"

Promo not in KB but customer claims it exists: "我目前没有查到这个活动的信息,建议向店员确认一下,以免信息有误。"

Membership tier unknown: "您的会员等级我暂时查不到,建议核实后,会员专属折扣会自动应用。"


Script

Use scripts/calculate_promotion.py for accurate numeric calculation. Reference: promo-rules-guide.md — detailed rule parsing.