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

low-stock-alerts库存不足警报

Agent Skill

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

总安装

490

周安装

20

GitHub Stars

19

下载量

157
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill low-stock-alerts

简介

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

  • 适用于库存管理、电商运营和供应链预警等研究场景。
  • 通过关键词、任务或来源仓库进行信息筛选,需结合原始 README 确认具体用法。
  • 安装命令为 npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill low-stock-alerts。
  • 使用前建议确认权限范围、维护状态及是否触发联网或文件读写操作。

SKILL.md

Low Stock Alerts

Overview

Low stock alerts notify you when inventory drops below a threshold so you can reorder before running out. Every major platform has this built in — Shopify, WooCommerce, and BigCommerce all send email notifications when stock falls below a configured level. For more advanced needs like demand-based thresholds, supplier PO automation, or team notifications in Slack, dedicated apps add those capabilities without custom code.

When to Use This Skill

  • When products are unexpectedly running out of stock and missing sales
  • When the current inventory workflow relies on manual checks rather than automated alerts
  • When you want demand-based reorder points rather than fixed thresholds
  • When the store has supplier lead times that need to be factored into when to reorder

Core Instructions

Step 1: Determine platform and choose the right tool

PlatformBuilt-in AlertsRecommended Extension
ShopifyShopify sends an email notification when stock hits zero; very limited threshold controlStocky (free, by Shopify) for configurable thresholds and PO automation; Back in Stock for customer notifications
WooCommerceWooCommerce emails the store admin when stock drops below the configured low-stock thresholdATUM Inventory Management for per-product thresholds, supplier emails, and reorder suggestions
BigCommerceBuilt-in low stock notifications per product with configurable thresholdMulti-Location Inventory app for location-specific alerts
Custom / HeadlessBuild a background job that checks levels against reorder pointsRequired when platform has no native alerting or you need supplier email automation

Step 2: Platform-specific setup


Shopify

Built-in low stock notification:

Shopify sends an email to the store admin when inventory hits zero, but doesn't support configurable thresholds natively.

  1. Go to Settings → Notifications → Scroll to Staff order notifications
  2. Ensure the admin email is set — Shopify will notify this address when stock reaches 0

Setting per-variant thresholds with Stocky:

  1. Install Stocky from the Shopify App Store (free)
  2. Open Stocky and go to Products
  3. For each product, set the Reorder point (the stock level that triggers an alert)
  4. Set the Reorder quantity (how many units to order when the alert fires)
  5. Stocky will flag products below their reorder point in the dashboard and can generate draft purchase orders automatically

Customer "back in stock" notifications:

  • Install Back In Stock (paid) or Klaviyo from the App Store
  • These apps show a "Notify me when available" button on out-of-stock products
  • Automatically email opted-in customers when stock is replenished

WooCommerce

Configure global low-stock threshold:

  1. Go to WooCommerce → Settings → Products → Inventory
  2. Enter a value in Low stock threshold (e.g., 10)
  3. Enter your notification email in Notification recipient(s) — comma-separate multiple emails
  4. WooCommerce sends an email when any product drops to or below this threshold

Set per-product thresholds:

  1. Go to WooCommerce → Products → [Product] → Inventory tab
  2. Enable Manage stock?
  3. Enter a Low stock threshold specific to this product (overrides the global setting)

Advanced alerting with ATUM:

  1. Install ATUM Inventory Management for WooCommerce (free)
  2. ATUM's dashboard shows all products at or below their reorder point in one view
  3. Per-product reorder point configuration under ATUM → Product Settings
  4. ATUM can also email your supplier directly when a product needs reordering (paid feature)

Demand-based thresholds:

  • Install Inventory Planner (Shopify/WooCommerce) for sales velocity-based reorder suggestions
  • Inventory Planner analyzes your sales history and suggests reorder points based on lead time × daily velocity + safety stock

BigCommerce

Set per-product low stock threshold:

  1. Go to Products → [Product] → Inventory tab
  2. Set the Low stock level field
  3. BigCommerce sends an automatic email notification to the store admin when stock crosses this threshold

Configure who receives alerts:

  1. Go to Store Setup → Store Settings → Miscellaneous
  2. Set Low stock email address to your purchasing team's email

For location-specific alerts:

  • Install the Multi-Location Inventory app
  • Set thresholds per location — useful when you stock the same SKU at multiple warehouses

Custom / Headless

For custom platforms, implement a background job that checks inventory levels against configured reorder points:

// jobs/checkStockLevels.ts — run every 15-30 minutes via cron
export async function checkStockLevels() {
  const levels = await db.inventoryLevels.findMany({
    include: { reorderConfig: true, variant: { include: { product: true } }, location: true },
    where: { reorderConfig: { isNot: null } },
  });

  const newAlerts = [];

  for (const level of levels) {
    const config = level.reorderConfig!;
    const available = level.onHand - level.reserved;

    // Dynamic reorder point based on sales velocity and lead time
    let reorderPoint = config.reorderPoint;
    if (config.useDynamicReorderPoint) {
      const velocity = await calculateDailySalesVelocity(level.variantId, 30); // 30-day rolling average
      reorderPoint = Math.ceil(velocity * config.leadTimeDays * 1.2); // 20% safety stock buffer
    }

    const alertType = available === 0 ? 'out_of_stock' : available <= reorderPoint ? 'low_stock' : null;
    if (!alertType) continue;

    // Only create a new alert if the previous one is resolved
    const existingAlert = await db.stockAlerts.findFirst({
      where: { variantId: level.variantId, locationId: level.locationId, alertType, resolvedAt: null },
    });

    if (!existingAlert) {
      newAlerts.push({ level, config, available, reorderPoint, alertType });
      await db.stockAlerts.create({ data: {
        variantId: level.variantId, locationId: level.locationId,
        alertType, triggeredAt: new Date(), availableAtTrigger: available,
      }});
    }
  }

  if (newAlerts.length > 0) await sendAlertNotifications(newAlerts);
}

// Calculate daily sales velocity from order history
async function calculateDailySalesVelocity(variantId: string, windowDays: number) {
  const since = new Date(Date.now() - windowDays * 86400000);
  const result = await db.orderLineItems.aggregate({
    where: { variantId, order: { createdAt: { gte: since }, status: { in: ['completed', 'shipped'] } } },
    _sum: { quantity: true },
  });
  return (result._sum.quantity ?? 0) / windowDays;
}

// Send consolidated alerts — group by supplier to avoid email spam
async function sendAlertNotifications(alerts: Alert[]) {
  const bySupplier: Record<string, Alert[]> = {};
  for (const alert of alerts) {
    const key = alert.config.supplierId ?? 'merchant';
    if (!bySupplier[key]) bySupplier[key] = [];
    bySupplier[key].push(alert);
  }

  for (const [supplierId, supplierAlerts] of Object.entries(bySupplier)) {
    const to = supplierId === 'merchant' ? process.env.MERCHANT_ALERT_EMAIL : (await db.suppliers.findById(supplierId))?.email;
    if (!to) continue;
    await emailService.send({ to, template: 'low-stock-alert', data: { alerts: supplierAlerts } });
  }
}

Step 3: Calculate dynamic reorder points (optional)

Fixed thresholds (e.g., "alert at 10 units") are simple but can be wrong — a product that sells 50 units per day needs a much higher threshold than one that sells 2 per week.

Formula:

Reorder Point = (Daily Sales Velocity × Lead Time Days) × 1.2 (20% safety buffer)

Example: Product sells 5 units/day, supplier lead time is 7 days

  • Demand during lead time: 5 × 7 = 35 units
  • Reorder point with safety buffer: 35 × 1.2 = 42 units

For Shopify: Use Inventory Planner app — it computes velocity-based reorder points automatically from your sales history.

For WooCommerce: ATUM Inventory Management can be configured with supplier lead times and suggests reorder points based on sales velocity.


Step 4: Automate reorder notifications to suppliers

Once an alert fires, you want to notify your purchasing team or supplier automatically.

Shopify + Stocky: Stocky generates draft purchase orders when stock falls below the reorder point. Your team reviews and sends the PO to the supplier from within Stocky.

WooCommerce + ATUM (paid): ATUM can email the configured supplier directly when a product needs reordering, including the suggested quantity.

Email workflow (any platform): Set the low-stock notification email directly to your supplier's ordering inbox — include the SKU, product name, and suggested reorder quantity in the notification template.

Best Practices

  • Set reorder points based on lead time and sales velocity — a fixed threshold of 10 units may be fine for slow movers but dangerously low for fast sellers; use the formula above as a starting point
  • De-duplicate alerts — platforms and custom solutions should only send one alert per SKU per incident, not an alert on every inventory decrement; resolve old alerts when stock is replenished
  • Consolidate supplier emails — one email with 5 low-stock SKUs from the same supplier is far less noisy than 5 separate emails
  • Set thresholds at the variant level, not just the product level — a shirt with 3 remaining in XL and 50 in M should alert only for XL
  • Review and update thresholds seasonally — a product that sells 2/day normally may sell 20/day during peak season; adjust thresholds before high-demand periods

Common Pitfalls

ProblemSolution
Alert fires repeatedly for the same SKUEnsure the platform only sends one alert per incident until stock is replenished; Shopify and WooCommerce do this correctly by default; custom builds need a resolvedAt guard
Dynamic reorder point too high during off-seasonUse a rolling 30-day window for velocity calculations; consider separate seasonal configurations for products with strong seasonality
Supplier emails go to spamUse an authenticated sending domain (SPF, DKIM, DMARC) for your alert emails; transactional email providers (SendGrid, Postmark) improve deliverability
Alert threshold too low — too many false alarmsStart with a threshold at 2× your typical order quantity from the supplier, then tune based on how often you're actually running out before the reorder arrives

Related Skills

  • @inventory-tracking
  • @multi-warehouse
  • @catalog-import-export

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

35.71%
按下载量换算56

Claude

30.52%
按下载量换算48

Cursor

18.11%
按下载量换算28

Gemini CLI

10.04%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

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

安装前确认

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

来源信息

继续浏览同类 Skills