
Shopify Admin Low Inventory Restock
- 7 installs
- 173 repo stars
- Updated June 26, 2026
- 40rty-ai/shopify-admin-skills
shopify-admin-low-inventory-restock is a Claude Code skill that finds tracked Shopify variants at or below a stock threshold and exports a vendor-grouped restock list.
About
This Claude Code skill queries all tracked Shopify variants at or below a configurable stock threshold and exports a restock list grouped by vendor. Procurement teams use it to generate an actionable reorder list from live inventory counts without manual exports from the Shopify admin. Results can be scoped to a single location and sorted by vendor name.
- Queries tracked variants at or below a stock threshold and exports a restock CSV grouped by vendor
- Pulls live inventory counts directly from the Shopify Admin API for an actionable reorder list
- Configurable threshold, per-location filter, and zero-stock inclusion
Shopify Admin Low Inventory Restock by the numbers
- 7 all-time installs (skills.sh)
- Ranked #1,587 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
shopify-admin-low-inventory-restock capabilities & compatibility
Free; needs read_products and read_inventory scopes on a Shopify CLI session.
- Capabilities
- low stock report · restock list · vendor grouping
- Use cases
- data analysis
- Pricing
- Free
What shopify-admin-low-inventory-restock says it does
Queries all tracked product variants at or below a configurable stock threshold and exports a restock CSV grouped by vendor.
gives procurement teams an immediately actionable reorder list without manual exports from the Shopify admin inventory view.
npx skills add https://github.com/40rty-ai/shopify-admin-skills --skill shopify-admin-low-inventory-restockAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 7 |
|---|---|
| repo stars | ★ 173 |
| Last updated | June 26, 2026 |
| Repository | 40rty-ai/shopify-admin-skills ↗ |
What it does
Export a vendor-grouped restock list of Shopify variants below a stock threshold.
Who is it for?
Building a procurement reorder list from live Shopify inventory, grouped by vendor.
Skip if: Changing inventory or placing purchase orders; it only reads and exports.
When should I use this skill?
You need to know which SKUs are running low and should be reordered.
What you get
A restock CSV of low-stock variants grouped by vendor, ready for procurement.
- Restock CSV of low-stock variants grouped by vendor
By the numbers
- Default threshold of 10 units
- Single-query workflow (productVariants with inventory_quantity filter)
Files
Purpose
Queries all tracked product variants at or below a configurable stock threshold and exports a restock CSV grouped by vendor. By pulling live inventory counts directly from the Shopify Admin API and sorting results by vendor name, this skill gives procurement teams an immediately actionable reorder list without manual exports from the Shopify admin inventory view.
Prerequisites
- Authenticated Shopify CLI session:
shopify auth login --store <domain> - API scopes:
read_products,read_inventory
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| store | string | yes | — | Store domain (e.g., mystore.myshopify.com) |
| format | string | no | human | Output format: human or json |
| dry_run | bool | no | false | Preview operations without executing mutations |
| threshold | integer | no | 10 | Variants at or below this quantity are included |
| location_id | string | no | — | GID of a specific location to filter by (optional; if omitted, uses inventoryQuantity across all locations) |
| include_zero_stock | bool | no | true | Include variants with 0 quantity |
Workflow Steps
1. OPERATION: productVariants — query Inputs: first: 250, query: "inventory_quantity:<= <threshold>", pagination cursor Expected output: List of variant objects with inventoryQuantity, product title, vendor, SKU; paginate until hasNextPage: false
GraphQL Operations
# productVariants:query — validated against api_version 2025-01
query LowInventoryVariants($first: Int!, $after: String, $query: String) {
productVariants(first: $first, after: $after, query: $query) {
edges {
node {
id
title
sku
inventoryQuantity
product {
id
title
vendor
}
inventoryItem {
id
tracked
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}Session Tracking
Claude MUST emit the following output at each stage. This is mandatory.
On start, emit:
╔══════════════════════════════════════════════╗
║ SKILL: low-inventory-restock ║
║ Store: <store domain> ║
║ Started: <YYYY-MM-DD HH:MM UTC> ║
╚══════════════════════════════════════════════╝After each step, emit:
[N/TOTAL] <QUERY|MUTATION> <OperationName>
→ Params: <brief summary of key inputs>
→ Result: <count or outcome>On completion, emit:
For format: human (default):
══════════════════════════════════════════════
OUTCOME SUMMARY
Variants below threshold: <n>
Unique products: <n>
Vendors: <n>
Errors: 0
Output: restock_list_<date>.csv
══════════════════════════════════════════════For format: json, emit:
{
"skill": "low-inventory-restock",
"store": "<domain>",
"started_at": "<ISO8601>",
"completed_at": "<ISO8601>",
"dry_run": false,
"steps": [
{ "step": 1, "operation": "LowInventoryVariants", "type": "query", "params_summary": "threshold <= 10, all locations", "result_summary": "<n> variants", "skipped": false }
],
"outcome": {
"variants_below_threshold": 0,
"unique_products": 0,
"vendors": 0,
"errors": 0,
"output_file": "restock_list_<date>.csv"
}
}Output Format
CSV file restock_list_<YYYY-MM-DD>.csv grouped by vendor, sorted by vendor name then product title. Columns: vendor, product_title, variant_title, sku, current_stock.
Error Handling
| Error | Cause | Recovery |
|---|---|---|
| No variants returned | All variants are above threshold or inventory not tracked | Lower threshold or verify inventoryItem.tracked: true |
location_id not found | Invalid location GID | Retrieve valid location IDs via Shopify admin |
| Rate limit (429) | Too many paginated requests | Reduce first to 100 and retry |
Best Practices
1. Run without location_id first to get store-wide low stock; then filter by location if you operate multiple warehouses. 2. Only variants with inventoryItem.tracked: true have meaningful stock counts — untracked variants always appear as 0. 3. The restock CSV is sorted by vendor — share the vendor-grouped output directly with your procurement team without reformatting. 4. Set include_zero_stock: false to skip variants already on back-order to focus on nearly-depleted items. 5. Schedule this skill to run weekly via cron and pipe the CSV to your purchasing workflow.
Related skills
FAQ
How is the low-stock threshold set?
Via the threshold parameter (default 10); variants at or below that quantity are included.
Can it scope to one location?
Yes. Pass a location_id GID to filter; if omitted it uses inventoryQuantity across all locations.