Home

/

Claude Skills

/

Out of Stock

Out of Stock

by

  • INVENTORY
  • STOCK-OUTS
  • PAID
  • ECOMMERCE
Works with the AI tools you already use
+19 agents

Stock-out handling for ecommerce teams: set product visibility and the ship-date you promise, then pull paid spend and lifecycle sends off the SKU before they keep selling it.

A stock-out is rarely handled in one place. Merchandising hides the product, or does not. Paid keeps running the ad because nobody told the buyer. Lifecycle sends the campaign that was scheduled last week. Customer service finds out from the tickets. Each of those gaps costs money in a different currency: wasted spend, a ship date nobody can honor, and a refund queue. This skill watches inventory against incoming purchase orders, decides the visibility state and the ship-date promise per SKU, and queues the downstream actions so paid spend stops and lifecycle sends are suppressed on the same day the stock runs out.

What It Does

  • Watches stock on hand against open purchase orders and their expected dates.
  • Decides the product state: available, low stock, backorder, or hidden.
  • Sets a ship-date promise the incoming purchase order can actually support.
  • Queues a pause on paid campaigns and ad sets pointing at the SKU.
  • Queues suppression for lifecycle sends that feature the product.
  • Sizes the revenue at risk so a backorder decision has a number behind it.

Use Cases

  • Stop paying for clicks to a product page that cannot be bought.
  • Keep a scheduled campaign from featuring a SKU that sold out yesterday.
  • Promise a ship date the incoming purchase order actually supports.
  • Decide backorder against hide with the revenue at risk in front of you.

Example Session

What is out of stock right now, and what needs to happen on each one today?

Four SKUs need action today. Two of them are still being advertised.

  • SKU | On hand | PO due | Daily demand | Ad spend live | Action
  • Linen shirt, M | 0 | Oct 14 | 11 | $140/day | Backorder, ship Oct 17
  • Trail sock, 3-pack | 0 | None | 26 | $85/day | Hide, pause ads
  • Canvas tote | 8 | Oct 9 | 14 | $0 | Low stock badge
  • Wool beanie | 0 | Nov 22 | 4 | $0 | Hide, suppress in Friday send

The sock is the urgent one: no purchase order exists, it sells 26 a day, and it is still taking $85 of spend into a page that cannot convert. Hide it and pause the ads now. The linen shirt can stay live on backorder because the purchase order lands in ten days, which supports an Oct 17 promise with three days of slack. The beanie is in Friday's campaign and needs pulling before the send builds.

Why This Beats Prompting It Yourself

A Stock Report vs A Coordinated Response: The Hidden Risk

A generic prompt tells you what is out of stock. That is the part everyone already knows by lunchtime. What it cannot do is check whether paid is still spending on the SKU, whether Friday's campaign features it, or whether the incoming purchase order supports the ship date the product page is currently promising. The list arrives without any of the four actions that actually stop the bleeding.

When You Still Need The Downstream Actions

A stock-out costs money in four places at once, so the response has to reach all four. This skill states 26 units of daily demand, no purchase order, and $85 a day of live spend, then queues the hide, the ad pause and the lifecycle suppression together. The ship-date promise is derived from the purchase order rather than from optimism, which is what keeps the refund queue from inheriting the problem.

Known Limitations

Ship-date promises are only as reliable as the expected dates on your purchase orders, so a supplier that habitually slips will produce promises that slip with it. Ad pause and lifecycle suppression are queued as actions for the relevant tools rather than executed, because pausing the wrong campaign is more expensive than pausing one late. Multi-location inventory needs location data connected, otherwise the skill works on a single pooled figure and says so.

Install It

  • Download the ZIP.
    It is free and there is no account to create.
  • Unzip it into your agent's skills folder.
    Claude Code reads ~/.claude/skills/, which is hidden by default: the command in the folder block opens it. Other agents scan their own directory, so drop the same folder there instead.
  • Ask your agent to use it.
    Restart the agent if it was already running, then it picks the skill up with no config.

skills folder

Copy

~/.claude/skills/out-of-stock/
  SKILL.md
  references/state-rules.md
  queue/
  # queued downstream actions, one file per run

# macOS: create the folder and open it in Finder
mkdir -p ~/.claude/skills && open ~/.claude/skills

# Windows: paste in the Explorer address bar
%USERPROFILE%\.claude\skills\

Frequently asked questions

How is this different from a low stock alert?

An alert tells you the number reached zero. This decides the product state, derives a ship-date promise from the incoming purchase order, and queues the paid pause and the lifecycle suppression that go with it. The alert is the beginning of the work, not the answer.

Which agents does the skill run in?

Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision.

What does it need connected to work?

Inventory on hand, open purchase orders with expected dates, and read access to the ad accounts and lifecycle tool so it can see what is live. Without purchase order dates it still sets visibility but will not issue a ship-date promise, which is the correct behavior rather than a limitation to work around.

Does it pause my ads automatically?

It queues the pause with the campaigns and ad sets named. A human applies it. Pausing the wrong campaign costs more than pausing the right one an hour late, and the queue is written so the action takes seconds to review.

How does it decide between backorder and hiding the product?

By whether an incoming purchase order supports a promise a customer would accept, and by the revenue at risk either way. A ten day gap with stock inbound is usually a backorder. No purchase order and a fast seller is a hide, because the refunds cost more than the orders.

What is included with the skill?

The skill itself, the product state rules, the ship-date logic, and the downstream action queue format. It is free and security scanned. We re-publish the ZIP when the state rules change, so download it again if your product states stop matching what you expect.

An out-of-stock SKU keeps spending your budget.

Polar joins live inventory to paid and lifecycle activity in one semantic layer, so visibility, ship-date and spend are pulled back together.

Book a demo

Popular in E-commerce

<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How is this different from a low stock alert?","acceptedAnswer":{"@type":"Answer","text":"An alert tells you the number reached zero. This decides the product state, derives a ship-date promise from the incoming purchase order, and queues the paid pause and the lifecycle suppression that go with it. The alert is the beginning of the work, not the answer."}},{"@type":"Question","name":"Which agents does the skill run in?","acceptedAnswer":{"@type":"Answer","text":"Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision."}},{"@type":"Question","name":"What does it need connected to work?","acceptedAnswer":{"@type":"Answer","text":"Inventory on hand, open purchase orders with expected dates, and read access to the ad accounts and lifecycle tool so it can see what is live. Without purchase order dates it still sets visibility but will not issue a ship-date promise, which is the correct behavior rather than a limitation to work around."}},{"@type":"Question","name":"Does it pause my ads automatically?","acceptedAnswer":{"@type":"Answer","text":"It queues the pause with the campaigns and ad sets named. A human applies it. Pausing the wrong campaign costs more than pausing the right one an hour late, and the queue is written so the action takes seconds to review."}},{"@type":"Question","name":"How does it decide between backorder and hiding the product?","acceptedAnswer":{"@type":"Answer","text":"By whether an incoming purchase order supports a promise a customer would accept, and by the revenue at risk either way. A ten day gap with stock inbound is usually a backorder. No purchase order and a fast seller is a hide, because the refunds cost more than the orders."}},{"@type":"Question","name":"What is included with the skill?","acceptedAnswer":{"@type":"Answer","text":"The skill itself, the product state rules, the ship-date logic, and the downstream action queue format. It is free and security scanned. We re-publish the ZIP when the state rules change, so download it again if your product states stop matching what you expect."}}]}</script>