Agent Native

stockout-prevention

Monitors FBA inventory levels and sales velocity to identify stockout risks, then helps sellers prioritize restocking actions.

by Amazon (AWS)Official publisherNot reviewed

Identity proven by GitHub's verified organisation badge (aws, awslabs)

Agents
Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
License
Apache-2.0 (permissive)
Pin
bc33734pinned Oct 9, 2026
Context cost
about 1,900 tokenswhen the skill loads
GitHub stars
19on amzn/selling-partner-agentic-toolkit
Scripts
None found

What it does

“Monitors FBA inventory health, identifies stockout risks from sales velocity, and orchestrates prevention actions — primarily inbound-shipment gap analysis and restocking. Triggers on: inventory check, stockout risk, FBA stock levels, days of cover, days of supply, replenishment, "am I going to run out". Do NOT use for: catalog management, new product listings, advertising, or order fulfillment.”
The author's description, from SKILL.md

Generated summary from the skill's own text

Monitors FBA inventory levels and sales velocity to identify stockout risks, then helps sellers prioritize restocking actions. It calculates days of cover per SKU, checks inbound shipment timing, and drafts price changes only when the seller specifies a price and approves it.

When to use it

  • Seller asks about inventory health or running out of stock
  • Need to forecast stockout dates and gaps to inbound shipments
  • Prioritize which SKUs need urgent restocking attention
  • Check days of cover and replenishment timing

When not to

  • Managing product listings or catalog content
  • Planning advertising campaigns or promotions
  • Handling order fulfillment or customer returns

Install

These commands install from the publisher's repository and need no account.

skills CLI

npx skills add amzn/selling-partner-agentic-toolkit --skill stockout-prevention

Installs from the repository's default branch, which may have changed since the commit we checked.

GitHub CLI 2.90 or later

gh skill install amzn/selling-partner-agentic-toolkit stockout-prevention@bc33734e278560f33b04927cf5ec91ada2d35654

Installs the commit we checked (bc33734).

Copy by hand

Download the folder at bc33734 and put it in .claude/skills/stockout-prevention for Claude Code and in .agents/skills/stockout-prevention for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

Skill folder on GitHub at bc33734

Claude Code plugin

/plugin install amazon-selling-partner@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Claude Code plugin

/plugin install aws-agents@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Claude Code plugin

/plugin install aws-agents-for-devsecops@claude-plugins-official

The publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.

Copy for your agent

A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.

Prompt

Install the agent skill "stockout-prevention" by Amazon (AWS).

Source, pinned to commit bc33734e278560f33b04927cf5ec91ada2d35654:
https://github.com/amzn/selling-partner-agentic-toolkit/tree/bc33734e278560f33b04927cf5ec91ada2d35654/skills/stockout-prevention

1. Download that folder at exactly this commit. Do not use the default branch.
2. Copy every file unchanged, keeping the folder structure, into .claude/skills/stockout-prevention/ for Claude Code and .agents/skills/stockout-prevention/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist.
3. Do not edit the files, and do not run any script in the folder unless I ask you to.
4. When you are done, list the files you copied and where you put them.

Listing and checks: https://www.agentnative.dev/skills/amazon-aws/stockout-prevention

SKILL.md at the pin

---
name: stockout-prevention
description: >-
  Monitors FBA inventory health, identifies stockout risks from sales velocity,
  and orchestrates prevention actions — primarily inbound-shipment gap analysis and
  restocking. Triggers on: inventory check, stockout risk, FBA stock levels,
  days of cover, days of supply, replenishment, "am I going to run out". Do NOT use
  for: catalog management, new product listings, advertising, or order fulfillment.
version: 1.0.0
license: Apache-2.0
metadata:
  author: Amazon Selling Partner
  persona: Maya (non-technical FBA seller)
  pattern: Pipeline + Inversion
  tags: [sp-api, inventory, fba, stockout, pricing]
  platforms: [claude-desktop, aws-quick]
  apis: [fba-inventory, sales, fba-inbound, listings]
---

# Stockout Prevention Skill

## Description

Helps a Fulfilled-by-Amazon seller stay ahead of stockouts. It pulls current FBA
inventory, derives sales velocity, computes **days of cover** per SKU, checks
whether inbound shipments arrive in time, and proposes preventive actions. Write
actions (e.g. price changes) are **always drafted for the seller's approval** —
never executed silently.

## When to use this skill

Use when the seller asks anything about inventory health, running out of stock,
replenishment timing, or "what should I prioritize" for their FBA stock. Do not
use for listing content, advertising, or order management.

## Tools this skill orchestrates

All are SP-API MCP tools served via the Amazon Selling Partner Connector (the `amazon-selling-partner` MCP server):

| Step | Tool | Purpose |
|------|------|---------|
| Inventory | `fbaInventory_getInventorySummaries` | Current fulfillable units per SKU |
| Velocity | `sales_getOrderMetrics` | Units sold over a window (per SKU when possible) |
| Inbound | `fbaInbound_listInboundPlans` | In-transit shipments + ETAs |
| Action | `listings_patchListingsItem` | Draft a price change (VALIDATION_PREVIEW first) |

> Every call needs `entityId` (the seller's merchant id) and `marketplaceIds`
> (e.g. `ATVPDKIKX0DER` for US). If you don't know the entityId, ask the seller once
> and reuse it for the session.

## Workflow (Pipeline + Inversion — ask before acting)

### Step 1 — Assess inventory
Call `fbaInventory_getInventorySummaries` (granularityType `Marketplace`).
Record `sellerSku`, `productName`, and `fulfillableQuantity` for each SKU.

### Step 2 — Measure velocity
For each SKU with meaningful stock, call `sales_getOrderMetrics` over the **last 30
days** (`granularity: Total`, pass the `sku`). Compute:

```
avg_daily_units = unitCount / 30
days_of_cover   = fulfillableQuantity / avg_daily_units
```

### Step 3 — Classify risk
- **CRITICAL** — days_of_cover < 7
- **WARNING** — 7 ≤ days_of_cover < 21
- **HEALTHY** — days_of_cover ≥ 21 (do **not** flag these; say they look fine)

> **Reconciling with Amazon's canonical rule.** Amazon's own analysis rule is *days of
> supply < 14 → at risk*. These bands are intentionally more conservative: 7–14 is the
> canonical at-risk range, and 14–21 is an *early-warning* buffer this skill adds so a
> fast-moving SKU is caught before it crosses 14. For a SKU in the 14–21 range, say it is
> **approaching** risk — not yet at-risk by Amazon's rule — rather than implying it already
> breached the threshold.

Present a short table: SKU · fulfillable · ~daily sales · days of cover · status.

### Step 3b — Visualize the risk (render a chart artifact)
After the table, **create a visual artifact** so the seller can see the risk at a glance.
Render an HTML/JS artifact (a single self-contained file) with a **days-of-cover bar chart**:
- one bar per SKU, height = days of cover;
- color each bar by status — **red = CRITICAL (<7)**, **amber = WARNING (7–21)**, **green = HEALTHY (≥21)**;
- draw a dashed threshold line at 7 and 21 days; label each bar with the SKU and its day count.
Keep it clean and legible (large fonts, title "Days of Cover by SKU"). Use inline SVG or a
lightweight chart approach — no external network calls.

### Step 4 — Check the inbound pipeline (only for flagged SKUs)
Call `fbaInbound_listInboundPlans`. For each flagged SKU, find any in-transit
shipment containing it and read its `estimatedDeliveryWindow`. Compute the **gap**:

```
stockout_date    = today + days_of_cover
shipment_arrives = estimatedDeliveryWindow.start
gap_days         = shipment_arrives - stockout_date   (positive = will stock out first)
```

Call this out explicitly: "You'll run out ~N days **before** the next shipment lands."

### Step 4b — Visualize the gap (render a timeline artifact)
For the most critical SKU, **create a second visual artifact**: a horizontal **timeline**
showing **today**, the **projected stockout date**, and the **shipment arrival window** —
with the at-risk gap between stockout and arrival shaded red and labeled
"~N days out of stock". Title it "Stockout vs. Inbound Shipment". Self-contained, no network calls.

### Step 5 — Recommend options (for CRITICAL SKUs with a gap)
Offer concrete choices, each with its trade-off. Lead with the actions Amazon's own
inventory guidance points to. **Do not raise pricing as an option at all** — this skill
gives no pricing advice in either direction (see Step 6 if the seller names a price).
- **A. Get more units in, sooner** — expedite an existing inbound shipment or create a new
  one so stock lands before the run-out date (this is where the
  [fba-inbound-management](../fba-inbound-management/SKILL.md) skill takes over). This is the
  primary lever.
- **B. Accept the stockout and plan the recovery** — note the cost (lost sales, BSR/rank
  recovery, and that running very lean can trigger the **low-inventory-level fee**), and line
  up the restock so it doesn't repeat.

Then **ask the seller what else they'd like to explore** rather than steering them:
> "Would you like to look at anything else — for example some quick market research on
> demand, competing offers, or seasonality for this SKU — before deciding?"
If they'd like it, offer **market research** (demand, seasonality, competing offers) using
the analytics and catalog data available, so any decision is informed. Report what the data
shows; do not translate it into a pricing recommendation.

**If the seller raises price themselves**, do not advise for or against it and do not
discuss trade-offs. If they name a **specific price**, go to Step 6 and draft exactly that.
If they ask whether they should change price, say pricing is their decision and this skill
doesn't advise on it, then return to the restock options above.

### Step 6 — Draft actions (DO NOT EXECUTE without approval)
Only if the seller has named a specific price, call `listings_patchListingsItem` with
**`mode: VALIDATION_PREVIEW`** so nothing changes yet. Show them, as a numbered list:
- exact SKU, current → the price **they specified**

Draft only. Add no commentary on whether the price is advisable, no projected effect, and
no revert date — if the seller wants a revert, they will say so.

Then **WAIT** for the seller to type "approve" (or adjust). Never re-run the patch
in live mode unless they explicitly approve.

### Step 7 — Summarize
Recap what was found, what (if anything) was drafted, and the single most important
next action. Keep it short and seller-friendly.

## Guardrails
- **Give no pricing guidance, in either direction.** Never suggest raising or lowering a
  price, never present a price change as an option, and never comment on whether a price the
  seller names is wise, safe, or advisable. Coming from Amazon, pricing advice carries
  implications this skill must not create. Lead with getting units in sooner. If the seller
  names a specific price, draft exactly that, mechanically, per
  [price-change-guardrails.md](references/price-change-guardrails.md); if they ask for advice,
  say pricing is their decision and this skill doesn't advise on it.
- Read-only by default. The only write tool is `listings_patchListingsItem`, and it
  is run in `VALIDATION_PREVIEW` until the seller approves.
- Never invent inventory or sales numbers — only report what the tools return.
- If a healthy SKU comes back, say so plainly; do not manufacture risk.

## References
- [reports-vs-ordermetrics.md](references/reports-vs-ordermetrics.md) — why we use
  `sales_getOrderMetrics` (sync) instead of the async Reports API.
- [price-change-guardrails.md](references/price-change-guardrails.md) — the preview +
  approval mechanics for a seller-specified price write. No pricing guidance.

From amzn/selling-partner-agentic-toolkit at bc33734, shown as plain text under its license: Apache-2.0 (permissive). The license text is in skills/stockout-prevention/SKILL.md.

View SKILL.md on GitHub at bc33734

Files

4 files, 16 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.

Skill folder on GitHub at bc33734

More from Amazon (AWS)

  • agent-advisor

    Guides startups through a phased decision process to choose an AWS runtime for AI agents (AgentCore, ECS, EKS, Lambda, or Lambda MicroVMs), plan migrations of…

    Contains scripts

    Claude Code · about 4.6K tokens · pinned 6 days ago

  • agents-build

    This skill extends an AgentCore agent project with capabilities like memory, app integration, VPC networking, multi-agent orchestration, browser automation…

    Contains scripts

    Claude Code · about 2K tokens · pinned 6 days ago

  • amazon-bedrock

    Builds generative AI applications on Amazon Bedrock, covering model invocation, Knowledge Bases for RAG, Bedrock Agents, Guardrails for content safety, and…

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 8.3K tokens · pinned 6 days ago

  • amazon-eventbridge-event-bus

    Enables building event-driven applications on AWS EventBridge custom event buses with publish/subscribe routing, event retention, filtering, transformation…

    Claude Code, Codex, Cursor +3 · about 8.4K tokens · pinned 6 days ago

  • amazon-neptune

    Provides guidance on Amazon Neptune Database and Neptune Analytics for graph workloads including fraud detection, agentic memory, recommendations, and…

    Contains scripts

    Claude Code, Codex, Cursor +3 · about 4.5K tokens · pinned 6 days ago

  • architect-for-startups

    Provides stage-appropriate AWS architecture guidance for startups from pre-revenue through Series B+, considering runway, team size, and AWS credits.

    Claude Code, Codex, Cursor +4 · about 3.4K tokens · pinned 6 days ago

  • accelo-automation

    This skill enables agents to automate Accelo project management tasks by discovering and executing operations through Composio's Accelo toolkit via Rube MCP.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 6 days ago

  • acculynx-automation

    This skill automates Acculynx operations by discovering and executing available tools through the Rube MCP server.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 6 days ago

  • active-campaign-automation

    This skill automates ActiveCampaign tasks by discovering and executing tools through Rube MCP and Composio's ActiveCampaign toolkit.

    by ComposioOfficial publisher

    Agents not labelled yet · about 710 tokens · pinned 6 days ago

  • adrapid-automation

    This skill enables agents to automate Adrapid tasks through Composio's toolkit via Rube MCP.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 6 days ago

  • aeroleads-automation

    This skill automates Aeroleads tasks by connecting to the Aeroleads toolkit via Composio's Rube MCP server.

    by ComposioOfficial publisher

    Agents not labelled yet · about 700 tokens · pinned 6 days ago

  • affinity-automation

    This skill automates Affinity CRM operations by executing tools through Rube MCP and Composio's Affinity toolkit.

    by ComposioOfficial publisher

    Agents not labelled yet · about 690 tokens · pinned 6 days ago

The skills listed here are third-party software, collected from public GitHub repositories as a catalog of recent skills and provided as is. Agent Native does not write or control them and is not responsible for any harm, loss or damage caused by installing or using them. Labels and checks describe what we saw at one commit and are not a guarantee. Read a skill's files before you run it. Terms of use