Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

price-rules-engine价格规则引擎

Agent Skill

price-rules-engine 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

447

周安装

19

GitHub Stars

19

下载量

157
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:price-rules-engine(价格规则引擎)
来源仓库:https://github.com/finsilabs/awesome-ecommerce-skills
仓库路径:skills/price-rules-engine
安装命令:
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill price-rules-engine
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill price-rules-engine

简介

用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。

  • 支持基于关键词、任务场景或来源线索进行信息筛选,适用于研究类工作流程。
  • 通过 GitHub 仓库安装,需确认权限范围和命令执行能力后再使用。
  • 建议结合原始 README 和安装命令核验具体功能与限制条件。
  • 注意维护状态及是否触发联网、文件读写等操作。

SKILL.md

Price Rules Engine

Overview

A price rules engine lets you define multiple concurrent promotions — site-wide sales, coupon codes, loyalty discounts — and apply them to a cart in a predictable, controlled order. The key concerns are: which rules apply to which products, which rules can stack with others, and what happens when multiple rules target the same item. Every major platform has some form of this built in; the gap is usually in advanced stacking control and customer-segment targeting.

When to Use This Skill

  • When you have multiple concurrent promotions (site-wide sale + coupon + loyalty discount) and need deterministic stacking behavior
  • When marketing needs to create complex promotions (e.g., "20% off all shoes except Nike, for Gold loyalty members") without engineering involvement
  • When migrating from hardcoded promotional logic scattered across the codebase to a data-driven rule system
  • When building a promotion scheduler that activates and deactivates rules at configured times
  • When you need an audit log that shows exactly which rules were applied and why for customer service queries

Core Instructions

Step 1: Determine the merchant's platform and choose the right tool

PlatformBuilt-in CapabilityWhen to Extend
ShopifyDiscounts admin handles basic stacking via "Combinations" settingsUse Bold Discounts or Shopify Scripts (Plus) for advanced rule stacking, customer-segment targeting, and conditional logic
WooCommerceCoupons core + Dynamic Pricing plugin for conditional rulesFor complex priority ordering and segment targeting: YITH WooCommerce Dynamic Pricing & Discounts provides the most control
BigCommercePromotions engine supports multiple concurrent promotions with priority ordering and stacking rulesBigCommerce's built-in system handles most scenarios natively
Custom / HeadlessMust buildRequired when none of the above fits your use case

Step 2: Configure price rules with stacking on your platform


Shopify

Shopify manages discount stacking through the Combinations setting on each discount.

Setting up stacking rules:

  1. Go to Discounts → create or edit a discount
  2. Scroll to the Combinations section
  3. Toggle which types this discount can combine with:

- Product discounts — can this stack with other product-level discounts? - Order discounts — can this stack with order-level discounts? - Shipping discounts — can this stack with free-shipping discounts?

  1. For automatic discounts, the highest-value automatic discount takes precedence by default; use Combinations to allow stacking

Customer-segment targeting:

  1. Under Customer eligibility, choose Specific customer segments
  2. Select segments created in Customers → Segments (e.g., "VIP customers", "First-time buyers")

Priority and exclusions:

  • Set Start and end dates to control which rules are active
  • Under Products, set which products or collections the discount applies to
  • Add exclusions: "Exclude sale items" or specify products that are excluded

Shopify Plus — Shopify Scripts: For rules that cannot be expressed through the Discounts UI (e.g., tiered stacking where the second discount only applies if the cart is above a threshold):

  1. Go to Apps → Script Editor (Scripts is a separate Shopify Plus feature)
  2. Create a Line Item Script or Shipping Script
  3. Scripts run at checkout and can apply complex conditional discounts; they take precedence over other discounts

Bold Discounts (App Store, ~$20/month): A visual rule builder for Shopify that supports:

  • Stack / don't stack per promotion
  • Priority ordering between promotions
  • Complex conditions (customer tags, collection membership, quantity thresholds)

WooCommerce

WooCommerce coupons support basic single-rule discounts. For a full price rules engine with priority ordering and stacking control, use the Dynamic Pricing plugin.

Installing and configuring YITH WooCommerce Dynamic Pricing & Discounts:

  1. Install the plugin from YITH.com (~$70/year)
  2. Go to YITH → Dynamic Pricing → Pricing Rules
  3. Create a rule and configure:

- Type: cart, product, or category pricing - Discount: percentage or fixed amount - Conditions: cart subtotal, quantity, customer role, date range - Products/categories: which items the rule applies to; set exclusions - Priority: lower number = higher priority (applied first) - Stacking: "Stop other rules" to prevent lower-priority rules from stacking

Customer segment targeting in WooCommerce:

  1. Use WooCommerce Customer Roles (available via plugins like User Role Editor or WooCommerce B2B):

- Assign customers to roles like "wholesale", "vip", "trade"

  1. In Dynamic Pricing rules, restrict each rule to specific customer roles
  2. Customers in that role see the discounted price; others see the regular price

Example: VIP-only 20% off apparel, excludes clearance:

  1. Create a rule: Type = Category pricing, Category = Apparel
  2. Discount = 20% off
  3. Customer Role = VIP
  4. Excluded products: [list of clearance product IDs]
  5. Priority = 10

BigCommerce

BigCommerce's Promotions engine natively supports priority ordering and stacking control.

  1. Go to Marketing → Promotions → Create Promotion
  2. Under Conditions:

- Set cart value, quantity, or product conditions - Under Customer groups: restrict to specific groups (wholesale, VIP, etc.)

  1. Under Actions: set the discount type and amount
  2. Set Shipping conditions if applicable
  3. Under Rules:

- Can be combined with other promotions: yes/no - Priority: lower number runs first

  1. Set Active date range

BigCommerce evaluates promotions in priority order and respects the "can be combined" setting. Multiple non-combinable promotions will apply only the best-value one for the customer.


Custom / Headless

For custom storefronts, implement a rule evaluator that processes rules in priority order, enforces stacking constraints, and applies rules to eligible cart lines:

interface PriceRule {
  id: string;
  name: string;
  type: 'percentage_off' | 'fixed_off' | 'free_shipping' | 'buy_x_get_y';
  value: number;            // percentage or cents
  priority: number;         // higher = applied first
  isStackable: boolean;
  couponCode?: string;      // null = automatic (no code required)
  minCartCents?: number;
  customerSegments?: string[];
  applicableProducts?: string[];
  applicableCategories?: string[];
  excludedProducts?: string[];
  startsAt: Date;
  endsAt?: Date;
}

interface CartContext {
  lines: { lineId: string; productId: string; categoryIds: string[]; quantity: number; currentPriceCents: number }[];
  subtotalCents: number;
  customerSegments: string[];
  appliedCouponCode?: string;
}

function evaluateRules(cart: CartContext, rules: PriceRule[]): { ruleId: string; discountCents: number }[] {
  const now = new Date();
  const active = rules.filter(r =>
    r.startsAt <= now && (!r.endsAt || r.endsAt > now)
  ).sort((a, b) => b.priority - a.priority); // highest priority first

  const applications: { ruleId: string; discountCents: number }[] = [];
  let nonStackableApplied = false;

  for (const rule of active) {
    if (!rule.isStackable && nonStackableApplied) continue;

    // Coupon-linked rules require the code to be applied
    if (rule.couponCode && rule.couponCode !== cart.appliedCouponCode) continue;

    // Cart minimum check
    if (rule.minCartCents && cart.subtotalCents < rule.minCartCents) continue;

    // Customer segment check
    if (rule.customerSegments?.length && !rule.customerSegments.some(s => cart.customerSegments.includes(s))) continue;

    // Find eligible lines
    const eligibleLines = cart.lines.filter(line => {
      if (rule.excludedProducts?.includes(line.productId)) return false;
      if (rule.applicableProducts?.length) return rule.applicableProducts.includes(line.productId);
      if (rule.applicableCategories?.length) return rule.applicableCategories.some(c => line.categoryIds.includes(c));
      return true; // no scope restriction = all products
    });
    if (eligibleLines.length === 0) continue;

    let discountCents = 0;
    if (rule.type === 'percentage_off') {
      discountCents = Math.round(
        eligibleLines.reduce((s, l) => s + l.currentPriceCents * l.quantity, 0) * rule.value / 100
      );
    } else if (rule.type === 'fixed_off') {
      discountCents = Math.min(rule.value, cart.subtotalCents);
    }

    if (discountCents > 0) {
      applications.push({ ruleId: rule.id, discountCents });
      if (!rule.isStackable) nonStackableApplied = true;
    }
  }

  return applications;
}

Persist rule applications with every order so you can answer customer service questions ("which discount applied?") and track promotion ROI.

Best Practices

  • Higher priority = evaluated first — use an explicit priority integer so marketing can control evaluation order without code changes
  • Separate stackable from exclusive rules — once a non-stackable rule applies, skip all subsequent non-stackable rules; stackable rules always apply on top
  • Test rules in "dry run" mode before activating — review the discount calculation on a sample cart before the promotion goes live
  • Use exclusion lists generously — always allow marketing to specify excluded products/categories; unexpected application to premium or already-reduced items creates margin problems
  • Version rules rather than editing live rules — deactivate old rules and create new versions; this preserves historical calculation for past orders
  • Log which rules were applied to each order — store rule IDs and discount amounts on the order for customer service and ROI analysis

Common Pitfalls

ProblemSolution
Two non-stackable rules both applySort by priority, apply the highest-priority non-stackable first, then skip all other non-stackable rules
A rule applies to an excluded productAlways check exclusions before inclusions; exclusion takes precedence in all cases
Total discount causes order to go negativeCap total discount at cart subtotal; no order total should go below zero
Marketing edits a live rule mid-campaignTreat active rules as immutable — create a new rule and deactivate the old one; never edit live rules
Rule activates/deactivates a few seconds off scheduleSet start/end times conservatively (a few minutes before/after intended time) and verify in staging; for critical timing, use Launchpad (Shopify Plus) or a scheduled job

Related Skills

  • @coupon-management
  • @discount-engine
  • @dynamic-pricing
  • @ab-testing-pricing
  • @volume-pricing

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

39.21%
按下载量换算62

Claude

27.22%
按下载量换算43

Cursor

17.19%
按下载量换算27

Gemini CLI

8.54%
按下载量换算13

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills