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

product-bundles-kitsproduct bundles kits 搜索

Agent Skill

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

总安装

475

周安装

20

GitHub Stars

19

下载量

166
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill product-bundles-kits

简介

用于查找、检索和筛选产品套装与组合销售策略。

  • 适合在交叉销售、客单价提升或库存清理场景中调用。
  • 通过 GitHub 安装,支持 Codex、Claude、Cursor 和 Gemini CLI 等宿主环境。
  • 使用时需结合用户画像与购买历史进行个性化推荐。
  • 安装前建议确认权限范围,防止误改价格或促销配置。

SKILL.md

Product Bundles & Kits

Overview

Product bundles let you sell multiple products together — optionally at a discount — as a single purchasable unit. This increases average order value and is one of the most effective upsell mechanisms in e-commerce. Dedicated bundle apps handle the inventory tracking, pricing, and display logic that platforms don't support natively. Only build a custom bundle system if your kit configuration requirements (dynamic assembly, real-time pricing, component substitution) exceed what apps offer.

When to Use This Skill

  • When implementing a "Frequently Bought Together" or "Complete the Look" feature
  • When selling product kits (e.g., a camera body + lens + bag as a bundle)
  • When offering a discount for purchasing a set of products together
  • When building a custom kit builder where shoppers assemble their own set from options

Core Instructions

Step 1: Determine platform and choose the right tool

PlatformRecommended ToolWhy
ShopifyBundler — Product Bundles or Bundle BuilderBundler is the most popular; handles fixed bundles, mix-and-match, and inventory deduction per component
WooCommerceWooCommerce Product Bundles (WooCommerce extension)Official WooCommerce extension; supports fixed and configurable bundles, per-component pricing, and inventory
BigCommerceProduct Bundler app or native "Frequently Bought Together"BigCommerce App Marketplace has several bundle apps; native "Frequently Bought Together" for simple cross-sells
Custom / HeadlessBuild bundle data model with component inventory deductionRequired when bundle logic (real-time pricing, dynamic component substitution) exceeds app capabilities

Step 2: Platform-specific setup


Shopify

Option A: Bundler — Product Bundles (recommended)

  1. Install Bundler — Product Bundles from the Shopify App Store
  2. Go to Bundler → Bundles → Create bundle
  3. Select bundle type:

- Fixed bundle: a predefined set of products (e.g., "Skincare Starter Kit") - Mix & Match: shopper picks X items from a collection - Build a Box: shopper fills a box with any combination

  1. Add component products and set quantities
  2. Set pricing:

- Percentage discount (e.g., 15% off the combined price) - Fixed bundle price (e.g., $49.99 regardless of component prices) - Sum of parts (no discount — just convenience bundling)

  1. Bundler handles inventory: when a bundle is purchased, it decrements each component's stock automatically

For "Frequently Bought Together":

  • Install Frequently Bought Together by Code Black Belt (App Store)
  • The app analyzes your order history and automatically suggests products to bundle on the PDP
  • Works out of the box with no manual configuration

Important for Shopify Plus:

  • For bundles that must appear as a single line item in the cart (for loyalty points, discount exclusions, etc.), consider Shopify Bundles (native, available in admin under Products → Bundles)
  • Shopify's native Bundles product type creates a parent SKU that the buyer purchases, with automatic inventory deduction of components

WooCommerce

WooCommerce Product Bundles (official extension):

  1. Install WooCommerce Product Bundles from WooCommerce.com
  2. Create a new product: Products → Add Product → Product type: Bundle
  3. Go to the Bundled Products tab
  4. Add each component:

- Search and select the product - Set the default quantity and whether it's optional (for configurable bundles) - Enable Ship separately if components ship from different locations

  1. Set bundle pricing under the General tab:

- Per-item pricing: bundle price = sum of component prices (with optional discount) - Static bundle pricing: enter a fixed price for the bundle

  1. Inventory: enable Manage stock? if you want to cap how many bundles can be sold (based on component availability)

For "Frequently Bought Together":

  • Install WooCommerce Frequently Bought Together (free or paid versions available)
  • Or use YITH WooCommerce Frequently Bought Together

BigCommerce

Bundle apps from the App Marketplace:

  1. Search for "Bundle" in the Apps section of your BigCommerce admin
  2. Bold Bundles is widely used — install and configure bundle products linking to existing SKUs
  3. Set discount rules (percent off, fixed price, BOGO)
  4. Bold Bundles handles inventory decrement for each component automatically

Native cross-sell / "Frequently Bought Together":

  1. Go to Products → [Product] → Related Products tab
  2. Add related products — these appear as suggestions on the PDP
  3. No automatic discount, but customers can add individual items

Custom / Headless

For headless storefronts, build a bundle model where components are stored as separate cart line items (simplifies inventory, tax, and fulfillment):

// lib/bundles.ts

interface BundleComponent { variantId: string; quantity: number; unitPrice: number; }
interface BundlePricing { componentSum: number; bundlePrice: number; savings: number; savingsPct: number; }

// Calculate bundle price dynamically from current component prices
export async function calculateBundlePrice(bundle: Bundle, selectedVariants: BundleComponent[]): Promise<BundlePricing> {
  const componentSum = selectedVariants.reduce((total, c) => total + c.unitPrice * c.quantity, 0);

  let bundlePrice: number;
  switch (bundle.pricingType) {
    case 'fixed': bundlePrice = bundle.pricingValue; break;
    case 'discount_pct': bundlePrice = +(componentSum * (1 - bundle.pricingValue / 100)).toFixed(2); break;
    case 'discount_abs': bundlePrice = Math.max(0, +(componentSum - bundle.pricingValue).toFixed(2)); break;
    default: bundlePrice = componentSum;
  }

  const savings = +(componentSum - bundlePrice).toFixed(2);
  return { componentSum, bundlePrice, savings, savingsPct: componentSum > 0 ? Math.round((savings / componentSum) * 100) : 0 };
}

// Check availability for all bundle components atomically
export async function checkBundleAvailability(selectedVariants: BundleComponent[]) {
  const unavailable = [];
  for (const { variantId, quantity } of selectedVariants) {
    const level = await db.inventoryLevels.findFirst({ where: { variantId } });
    const available = (level?.onHand ?? 0) - (level?.reserved ?? 0);
    if (available < quantity) {
      unavailable.push({ variantId, requested: quantity, available: Math.max(0, available) });
    }
  }
  return { available: unavailable.length === 0, unavailable };
}

// Add bundle to cart as separate line items (grouped by bundle ID for UI display)
export async function addBundleToCart(cartId: string, bundleId: string, selectedVariants: BundleComponent[]) {
  const bundle = await db.productBundles.findUnique({ where: { id: bundleId } });
  const pricing = await calculateBundlePrice(bundle, selectedVariants);

  const { available, unavailable } = await checkBundleAvailability(selectedVariants);
  if (!available) throw new Error(`Bundle not available: ${unavailable.map(u => u.variantId).join(', ')}`);

  // Create a bundle group record to keep line items visually associated
  const bundleGroup = await db.cartBundleGroups.create({
    data: { cartId, bundleId, bundlePrice: pricing.bundlePrice, bundleSavings: pricing.savings },
  });

  // Pro-rate the discount across components proportionally to their share of the total
  const lineItems = selectedVariants.map(({ variantId, quantity, unitPrice }) => {
    const itemSubtotal = unitPrice * quantity;
    const discountShare = pricing.savings * (itemSubtotal / pricing.componentSum);
    const discountedUnitPrice = +(unitPrice - discountShare / quantity).toFixed(4);
    return { cartId, variantId, quantity, bundleGroupId: bundleGroup.id, unitPrice: discountedUnitPrice };
  });

  await db.cartItems.createMany({ data: lineItems });
  return bundleGroup;
}

Step 3: Configure bundle display on product pages

Bundle display checklist:

  • Show "Value: $149 | Bundle price: $119 — Save $30 (20% off)" to make the discount tangible
  • Show which items are included with product images and names
  • Show availability: if any component is out of stock, show which item and suggest a substitute
  • On the cart page, group bundle line items under a visual header with the bundle name and total savings badge

For Shopify/Bundler: The app generates a bundle product page automatically — customize the template in Bundler → Customize

For WooCommerce Product Bundles: The plugin renders a bundle-specific product page layout; style it using the built-in CSS settings or child theme overrides


Step 4: Verify inventory deduction is working

After setting up bundles, test that inventory deducts correctly for each component:

  1. Place a test order for a bundle
  2. Check inventory levels for each component product — each should have decremented by the bundle component quantity
  3. Test the edge case: a bundle where one component has exactly 1 unit remaining; ordering 2 bundles should fail on the second

Best Practices

  • Use apps instead of building from scratch — Bundler for Shopify and WooCommerce Product Bundles handle edge cases (split fulfillment, partial availability, refunds) that take weeks to build correctly
  • Always validate bundle availability server-side — check that all components have sufficient stock atomically before adding to cart; a bundle is only purchasable if every component is in stock
  • Recalculate bundle pricing at checkout — never trust client-submitted bundle prices; recalculate from current component prices at order time
  • Show per-item and bundle prices together — the discount is only meaningful when customers can see what they're saving against
  • Keep bundles to 2–5 components — larger bundles confuse shoppers and are harder to merchandise clearly

Common Pitfalls

ProblemSolution
Bundle discount applied incorrectly at checkoutUse the app's built-in discount logic; don't layer additional discount codes on top of bundle discounts without testing the interaction
One bundle component goes out of stock mid-cartRe-check availability at checkout; display which specific component is unavailable so the customer can adjust
Bundle pricing stale when component prices changeRecalculate bundle price on each cart refresh and at checkout, not just at add-to-cart time
Fulfillment system confused by bundle line itemsFor headless builds, ensure each line item has a standard variant_id and quantity; use bundle_group_id only for UI grouping
Inventory not decremented for all bundle componentsAfter setup, always test with a real order and verify each component SKU decremented by the correct quantity

Related Skills

  • @variant-matrix
  • @inventory-tracking
  • @product-content-enrichment

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

32.86%
按下载量换算55

Claude

30.12%
按下载量换算50

Cursor

20.39%
按下载量换算34

Gemini CLI

10.05%
按下载量换算17

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

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

安装前确认

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

来源信息

继续浏览同类 Skills