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

volume-pricing批量定价

Agent Skill

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

总安装

504

周安装

21

GitHub Stars

19

下载量

168
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill volume-pricing

简介

用于查找、检索和筛选相关信息。volume-pricing 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据关键词快速定位候选结果。
  • 通过 GitHub 安装,支持 Codex、Claude 等宿主环境。
  • 建议确认权限范围和维护状态后再使用。
  • 可能触发联网或文件读写操作,需注意安全边界。

SKILL.md

Volume Pricing

Overview

Volume pricing — also called quantity breaks or tiered pricing — automatically reduces the unit price as order quantities increase. It is a core feature for B2B and wholesale channels, and an effective average-order-value driver for consumer stores ("Add 3 more for 10% off"). Most platforms do not include volume pricing natively; you need an app or plugin. This skill walks through setup on each platform and covers custom implementation for headless storefronts.

When to Use This Skill

  • When selling to B2B buyers who expect per-unit price reductions for large orders
  • When running a wholesale channel alongside a retail channel with separate pricing
  • When you want to increase average order value by showing customers how much they save by buying more
  • When managing multiple customer groups (retail, wholesale, distributor) with distinct price lists
  • When building a configure-price-quote (CPQ) flow for custom bulk orders

Core Instructions

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

PlatformRecommended ToolWhy
ShopifyWholesale Club or Quantity Breaks & Discounts by FORSBERGWholesale Club adds a full B2B channel with customer-group pricing; Quantity Breaks handles tiered pricing for B2C with a pricing table on product pages
Shopify PlusShopify B2B (built in)Shopify Plus includes native B2B features including company accounts, price lists, and quantity minimums
WooCommerceWooCommerce Dynamic Pricing extension ($99/year) or YITH WooCommerce Dynamic Pricing & Discounts ($70/year)Both plugins support quantity-based tiers, customer-role-specific pricing, and product-page pricing tables
BigCommercePrice Lists (native, Plus plan and above)BigCommerce's Price Lists feature is designed for B2B volume pricing — assign price lists to customer groups
Custom / HeadlessBuild tier resolution logic calling your platform's pricing APIFull control over tier definitions and cart recalculation

Step 2: Set up volume pricing on your platform


Shopify (non-Plus)

Option A: Quantity Breaks & Discounts app (B2C-focused)

  1. Install Quantity Breaks & Discounts (by FORSBERG+two) from the Shopify App Store (free tier; paid plans ~$10/month)
  2. In the app, go to Discount Groups → Create
  3. Choose which products or collections to apply the tiers to
  4. Add quantity tiers:

- Tier 1: Quantity 1+, 0% off (regular price) - Tier 2: Quantity 5+, 10% off - Tier 3: Quantity 10+, 20% off - Tier 4: Quantity 25+, 30% off

  1. The app automatically shows a pricing table on product pages and applies the correct discount when the customer updates their cart quantity

Option B: Wholesale Club (B2B-focused)

  1. Install Wholesale Club from the Shopify App Store (~$30/month)
  2. Create a wholesale customer group (the app creates a tag-based system)
  3. Set wholesale prices: fixed prices or percentage discounts per product or collection
  4. Tag wholesale customers with the wholesale tag to give them access
  5. Wholesale customers see the tiered prices on product pages and at checkout

Shopify Plus — Native B2B

Shopify Plus includes a native B2B channel that replaces the need for a wholesale app:

  1. Go to Sales channels → B2B
  2. Create a Company for each B2B client
  3. Under the company, create a Location and assign a Price list
  4. In the price list, set prices per product (fixed prices or percentage adjustments)
  5. Set Payment terms (net 30, net 60, etc.) and Order minimums
  6. Company contacts log in through your store's B2B portal and see their assigned prices automatically

WooCommerce

Using WooCommerce Dynamic Pricing:

  1. Install WooCommerce Dynamic Pricing from WooCommerce.com or YITH WooCommerce Dynamic Pricing & Discounts
  2. Go to WooCommerce → Dynamic Pricing → Add Rule
  3. Set:

- Rule type: Product Pricing or Category Pricing - Apply to: specific products, categories, or all products - Pricing type: percentage discount or fixed price override

  1. Add quantity tiers: Minimum Qty Maximum Qty Discount 1 4 0% 5 9 10% 10 24 20% 25 — 30%
  2. Optionally restrict by User role for B2B/wholesale-only tiers
  3. The plugin automatically recalculates prices when cart quantities change

Displaying a pricing table on product pages: Both Dynamic Pricing plugins include a pricing table widget that shows quantity break tiers directly on the product page. Configure its appearance in the plugin settings.


BigCommerce

BigCommerce's Price Lists feature handles volume pricing natively on Plus and above plans.

Setting up a price list with quantity tiers:

  1. Go to Products → Price Lists → Create Price List
  2. Name the list (e.g., "Wholesale 2026") and assign it to a Customer Group
  3. Add products and set prices:

- For each product, you can set a base price override - For quantity breaks, use the Bulk Pricing section on each product

  1. Go to a product → Pricing tab → Bulk Pricing:

- Add tiers: e.g., 5+ units = $X per unit, 10+ units = $Y per unit - Set whether the bulk price applies to all customers or a specific price list

  1. Assign the price list to a customer group under Customers → Customer Groups

Custom / Headless

For headless storefronts, implement tier resolution in your pricing service:

interface PriceTier {
  minQuantity: number;
  maxQuantity?: number;       // undefined = no upper limit
  type: 'fixed' | 'percentage_off';
  value: number;              // cents if fixed; percentage (0-100) if percentage_off
  customerGroup?: string;     // null = all customers
}

async function resolveUnitPrice(
  productId: string,
  quantity: number,
  customerGroup: string | null,
  basePrice: number   // cents
): Promise<{ unitPriceCents: number; savingsPct: number }> {
  // 1. Check for customer-group-specific price list (highest priority)
  if (customerGroup) {
    const priceListItem = await db.priceLists
      .findActive({ product_id: productId, customer_group: customerGroup, min_quantity: { lte: quantity } })
      .orderBy('min_quantity', 'desc')
      .first();
    if (priceListItem) {
      const savingsPct = Math.round((1 - priceListItem.price / basePrice) * 100);
      return { unitPriceCents: priceListItem.price, savingsPct };
    }
  }

  // 2. Find the best matching general volume tier
  const tiers = await db.priceTiers.find({
    product_id: productId,
    customer_group: customerGroup ?? null,
  });

  const applicable = tiers.filter(t =>
    quantity >= t.minQuantity && (t.maxQuantity === undefined || quantity <= t.maxQuantity)
  ).sort((a, b) => b.minQuantity - a.minQuantity); // highest-qualifying tier first

  const tier = applicable[0];
  if (!tier) return { unitPriceCents: basePrice, savingsPct: 0 };

  const unitPriceCents = tier.type === 'fixed'
    ? tier.value
    : Math.round(basePrice * (1 - tier.value / 100));
  const savingsPct = Math.round((1 - unitPriceCents / basePrice) * 100);

  return { unitPriceCents, savingsPct };
}

Recalculate on every cart quantity change:

async function updateCartLinePricing(cartId: string, lineId: string, newQuantity: number) {
  const line = await db.cartLines.findById(lineId);
  const { unitPriceCents } = await resolveUnitPrice(
    line.productId, newQuantity, line.customerGroup, line.basePriceCents
  );
  await db.cartLines.update(lineId, {
    quantity: newQuantity,
    unitPriceCents,
    lineTotalCents: unitPriceCents * newQuantity,
  });
}

Show a pricing table on product pages:

Query the tier breakpoints and display the table:

async function getPricingTable(productId: string, customerGroup: string | null, basePrice: number) {
  const breakpoints = [1, 5, 10, 25, 50, 100];
  const rows = await Promise.all(breakpoints.map(async qty => {
    const { unitPriceCents, savingsPct } = await resolveUnitPrice(productId, qty, customerGroup, basePrice);
    return { quantity: qty, unitPriceCents, savingsPct };
  }));
  // Only show rows where the price actually changes
  return rows.filter((row, i) => i === 0 || row.unitPriceCents !== rows[i - 1].unitPriceCents);
}

Best Practices

  • Show the pricing table on the product page — displaying upcoming tiers ("Add 3 more to get 10% off") is a proven AOV driver; do not hide this information
  • Recalculate prices when cart quantity changes — ensure the unit price updates live in the cart, not just at checkout
  • Keep price lists separate from tier logic — B2B price list overrides should take precedence over volume tier discounts; resolve them in a clear priority order
  • Set minimum order quantities for wholesale tiers — if a wholesale price list requires a minimum order, enforce this at checkout, not just in the UI
  • Validate minimum quantities on checkout — some B2B configurations require minimum quantities; enforce server-side to prevent orders that bypass the UI
  • Display savings prominently — "You're saving $18.00 (30%)" is more compelling than showing only the discounted price

Common Pitfalls

ProblemSolution
Cart quantity changes but price doesn't updateRecalculate all line item prices on every cart quantity change in real-time, not just at checkout
B2B buyer sees retail prices in order confirmation emailPass customerGroup to all price resolution calls, including order confirmation email rendering
A customer in two groups gets inconsistent pricesResolve by explicit priority: price list > product tier > category tier > base price
Pricing table shows stale tiers after an updateClear your pricing cache when tiers are modified; invalidate by product or tier version
Tiered prices not shown on search results pagesProduct cards on search/collection pages should also resolve prices server-side for logged-in B2B customers

Related Skills

  • @b2b-commerce
  • @price-rules-engine
  • @discount-engine
  • @coupon-management
  • @multi-channel-selling

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

32.92%
按下载量换算55

Claude

33.02%
按下载量换算55

Cursor

16.84%
按下载量换算28

Gemini CLI

9.79%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills