shopify-admin-agentic-…
Edit the theme's robots.txt.liquid to explicitly allow AI crawlers (GPTBot, ClaudeBot,…
Read-only: forecasts demand per SKU using sales velocity and seasonality, then calculates reorder points and suggested purchase order quantities.
$ npx -y skills add 40rty-ai/shopify-admin-skills --skill shopify-admin-demand-forecast-reorder --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/shopify-admin-demand-forecast-reorderContext preview
The summary Claude sees to decide when to auto-load this skill.
Read-only: forecasts demand per SKU using sales velocity and seasonality, then calculates reorder points and suggested purchase order quantities.
name: shopify-admin-demand-forecast-reorder role: merchandising description: "Read-only: forecasts demand per SKU using sales velocity and seasonality, then calculates reorder points and suggested purchase order quantities." toolkit: shopify-admin, shopify-admin-execution api_version: "2025-01" graphql_operations: - orders:query - productVariants:query - inventoryItems:query - inventoryLevels:query status: stable compatibility: Claude Code, Cursor, Codex, Gemini CLI
Forecasts future demand for each SKU based on historical sales velocity, trend analysis, and optional seasonality adjustments. Calculates reorder points (when to order) and suggested reorder quantities (how much to order) factoring in vendor lead times and safety stock. Read-only — no mutations.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | store | string | yes | — | Store domain | | days_back | integer | no | 90 | Historical sales window for velocity calculation | | forecast_days | integer | no | 30 | Days into the future to forecast demand | | lead_time_days | integer | no | 14 | Default vendor lead time in days | | safety_stock_days | integer | no | 7 | Extra days of safety stock buffer | | vendor_filter | string | no | — | Scope to specific vendor | | only_low_stock | boolean | no | false | Only show items projected to stock out within forecast window | | format | string | no | human | Output format: `human` or `json` |
> ℹ️ Read-only skill — no mutations are executed. Safe to run at any time.
1. **OPERATION:** `orders` — query **Inputs:** `query: "created_at:>='<NOW - days_back days>'"`, `first: 250`, select `createdAt`, `lineItems { variant { id }, quantity }`, pagination cursor **Expected output:** All orders with line items for sales velocity calculation
2. Calculate per-variant sales velocity:
3. **OPERATION:** `productVariants` — query **Inputs:** All variant IDs with sales history, `first: 250`, pagination cursor **Expected output:** Variant details (SKU, title, product title, vendor)
4. **OPERATION:** `inventoryLevels` — query **Inputs:** Inventory item IDs for stocked variants **Expected output:** Current available quantities per location
5. Calculate reorder metrics:
6. Sort by urgency: items closest to stockout first
# orders:query — validated against api_version 2025-01
query SalesHistory($query: String!, $after: String) {
orders(first: 250, after: $after, query: $query) {
edges {
node {
createdAt
lineItems(first: 50) {
edges {
node {
quantity
variant { id }
}
}
}
}
}
pageInfo { hasNextPage endCursor }
}
}# productVariants:query — validated against api_version 2025-01
query VariantInfo($ids: [ID!]!) {
nodes(ids: $ids) {
... on ProductVariant {
id
sku
title
product { id title vendor }
inventoryQuantity
inventoryItem { id }
}
}
}# inventoryItems:query — validated against api_version 2025-01
query InventoryItemDetails($ids: [ID!]!) {
nodes(ids: $ids) {
... on InventoryItem {
id
unitCost { amount currencyCode }
tracked
inventoryLevels(first: 10) {
edges {
node {
quantities(names: ["available"]) {
name
quantity
}
location { id name }
}
}
}
}
}
}# inventoryLevels:query — validated against api_version 2025-01
query LocationInventory($locationId: ID!, $after: String) {
location(id: $locationId) {
inventoryLevels(first: 250, after: $after) {
edges {
node {
quantities(names: ["available"]) { name quantity }
item { id variant { id sku product { title } } }
}
}
pageInfo { hasNextPage endCursor }
}
}
}**Claude MUST emit the following output at each stage. This is mandatory.**
**On start**, emit:
╔══════════════════════════════════════════════╗ ║ SKILL: Demand Forecast & Reorder Planner ║ ║ 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):
══════════════════════════════════════════════
DEMAND FORECAST & REORDER PLAN (<days_back>d history → <forecast_days>d forecast)
SKUs analyzed: <n>
Avg daily velocity: <n> units/day
─────────────────────────────
⚠️ URGENT (stockout <7 days):
"<product>" SKU:<sku> Stock:<n> Days left:<n> ORDER BY: <date>
Reorder qty: <n> units Est. cost: $<n>
⏰ PLAN AHEAD (stockout 7-30 days):
"<product>" SKU:<sku> Stock:<n> Days left:<n> ORDER BY: <date>
✅ HEALTHY (>30 days stock):
<n> SKUs with adequate stock
OutCommunity-maintained AI agent skills for operating Shopify stores — workflows, optimization, reports and more
Edit the theme's robots.txt.liquid to explicitly allow AI crawlers (GPTBot, ClaudeBot,…
Rewrite thin product descriptions into structured, fact-rich copy (materials, fit, use-cases,…
Generate and set descriptive alt text on product images so AI agents (which can't 'see'…
Generate and publish an /llms.txt guide (brand summary, flagship products, key policies,…
Define and populate agentic-commerce metafields (material, attributes, key features, specs,…
Inject an Organization JSON-LD block (name, logo, sameAs social links, contactPoint) into the…