mcpbeat

Shopify Automation

claude-office-skills/shopify-automation

Shopify e-commerce automation - inventory management, order processing, customer workflows, and analytics

3k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
353
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/claude-office-skills/skills --skill shopify-automation

The instruction itself

18 sections, as written by the author

Shopify Automation

Comprehensive Shopify e-commerce automation covering inventory management, order processing, customer workflows, and analytics. Based on n8n's e-commerce workflow templates.

Overview

This skill covers:

  • Inventory management and alerts
  • Order processing automation
  • Customer lifecycle workflows
  • Multi-channel synchronization
  • Analytics and reporting

Inventory Management

Low Stock Alerts

workflow: "Inventory Alert System"
schedule: "Daily 9am"

steps:
  1. fetch_inventory:
      shopify:
        endpoint: products
        include: variants
        
  2. filter_low_stock:
      condition: inventory_quantity <= reorder_threshold
      default_threshold: 10
      
  3. categorize_urgency:
      critical: inventory_quantity <= 5
      warning: inventory_quantity <= 10
      
  4. generate_report:
      group_by: [category, urgency]
      
  5. notify:
      slack:
        channel: "#inventory-alerts"
        message: |
          ⚠️ *Low Stock Alert*
          
          🚨 *Critical (≤5 units):*
          {critical_items}
          
          ⚠️ *Warning (≤10 units):*
          {warning_items}
          
          [View in Shopify]({admin_link})
          
  6. create_purchase_orders:
      if: auto_reorder_enabled
      template: generate_po_for_each_supplier

Predictive Reordering

workflow: "Smart Inventory Reordering"

analysis:
  data_sources:
    - sales_history: last_90_days
    - seasonal_trends: year_over_year
    - current_velocity: last_14_days
    
  calculations:
    daily_sales_rate: avg(units_sold_per_day)
    days_of_stock: current_inventory / daily_sales_rate
    reorder_point: daily_sales_rate * lead_time * safety_factor
    
  safety_factor:
    high_velocity: 1.5
    normal: 1.3
    slow_moving: 1.1
    
actions:
  auto_reorder:
    condition: days_of_stock <= lead_time + buffer
    action: generate_purchase_order
    notify: purchasing_team

Order Processing

Order Fulfillment Workflow

workflow: "Order Processing Pipeline"
trigger: shopify_order_created

steps:
  1. validate_order:
      checks:
        - fraud_score: < threshold
        - inventory_available: true
        - payment_captured: true
        
  2. categorize_order:
      rules:
        - high_value: total > $500
        - international: country != home_country
        - expedited: shipping_method == "express"
        - subscription: has_subscription_items
        
  3. assign_fulfillment:
      routing:
        - if: international
          warehouse: international_hub
        - if: expedited
          priority: high
        - default:
          warehouse: nearest_to_customer
          
  4. create_shipping_label:
      carrier: based_on_service_level
      integrate: [shipstation, easypost, shippo]
      
  5. update_inventory:
      action: decrement_stock
      
  6. notify_customer:
      email: order_confirmation_template
      sms: if_opted_in
      
  7. update_systems:
      - accounting: create_invoice
      - crm: update_customer_record
      - analytics: log_order_data

Order Status Automation

order_status_notifications:
  confirmed:
    delay: immediate
    email: "Thank you for your order!"
    
  processing:
    delay: when_status_changes
    email: "We're preparing your order"
    
  shipped:
    delay: immediate
    email: |
      Your order is on the way!
      Tracking: {tracking_number}
      Carrier: {carrier}
      Estimated delivery: {eta}
    sms: "Your order shipped! Track: {tracking_url}"
    
  delivered:
    delay: 1_day_after_delivery
    email: "How was your order? Leave a review!"
    
  delayed:
    trigger: no_tracking_update_3_days
    action: proactive_customer_outreach

Customer Workflows

Post-Purchase Sequence

workflow: "Post-Purchase Engagement"

sequence:
  day_0:
    trigger: order_delivered
    action: 
      - email: delivery_confirmation
      - start_review_timer
      
  day_3:
    action:
      - email: review_request
        template: |
          Hi {first_name},
          
          How are you enjoying your {product_name}?
          
          We'd love to hear your thoughts!
          [Leave a Review]({review_link})
          
  day_7:
    condition: no_review_submitted
    action:
      - email: review_reminder
      - offer: 10%_off_next_order
      
  day_14:
    action:
      - email: related_products
        personalization: based_on_purchase
        
  day_30:
    condition: consumable_product
    action:
      - email: replenishment_reminder
        discount: returning_customer

Customer Segmentation

segmentation:
  vip:
    criteria:
      - total_spent: >= $1000
      - orders: >= 5
    actions:
      - tag: "VIP"
      - add_to_list: "VIP Customers"
      - priority_support: true
      - early_access: new_products
      
  at_risk:
    criteria:
      - last_order: > 90_days
      - previous_orders: >= 2
    actions:
      - tag: "Win-Back"
      - email_sequence: reactivation
      - offer: special_discount
      
  new_customers:
    criteria:
      - orders: 1
      - days_since_first_order: <= 30
    actions:
      - email_sequence: onboarding
      - recommend: best_sellers
      
  wholesale:
    criteria:
      - average_order_value: >= $500
      - orders: >= 3
    actions:
      - tag: "B2B Potential"
      - notify: sales_team

Multi-Channel Sync

Inventory Sync

multi_channel_inventory:
  platforms:
    - shopify: primary
    - amazon: secondary
    - ebay: secondary
    - walmart: secondary
    
  sync_rules:
    frequency: real_time
    buffer_stock: 5_units  # Safety buffer
    
    allocation:
      shopify: 100%  # Full inventory
      amazon: available - buffer
      ebay: available - buffer
      walmart: available - buffer
      
  actions:
    on_sale:
      - update_all_channels: immediately
      - if_stockout: pause_listings
      
    on_restock:
      - update_all_channels: immediately
      - reactivate_listings: if_paused

Price Sync

price_synchronization:
  base_price: shopify
  
  channel_adjustments:
    amazon:
      markup: +15%  # Account for fees
      
    ebay:
      markup: +10%
      
    wholesale:
      discount: -30%
      
  automation:
    - on_price_change: sync_all_channels
    - competitor_monitoring: optional
    - dynamic_pricing: based_on_demand

Analytics & Reporting

Daily Sales Report

workflow: "Daily Sales Report"
schedule: "8am daily"

metrics:
  revenue:
    - total_sales
    - average_order_value
    - comparison_vs_yesterday
    - comparison_vs_same_day_last_week
    
  orders:
    - order_count
    - units_sold
    - new_vs_returning_customers
    
  products:
    - top_sellers
    - low_performers
    - out_of_stock_items
    
  channels:
    - by_source: [direct, google, facebook, email]
    - conversion_rates
    
output:
  format: |
    📊 *Daily Sales Report - {date}*
    
    💰 *Revenue*
    Today: ${total_sales} ({change_vs_yesterday})
    AOV: ${aov}
    
    📦 *Orders*
    Count: {order_count}
    New customers: {new_customers}
    
    🏆 *Top Products*
    1. {product_1} - {units_1} units
    2. {product_2} - {units_2} units
    3. {product_3} - {units_3} units
    
    ⚠️ *Attention*
    - {low_stock_count} products low stock
    - {abandoned_carts} abandoned carts (${value})
    
  destinations:
    - slack: "#daily-sales"
    - email: leadership_team
    - google_sheets: sales_tracker

Abandoned Cart Recovery

workflow: "Cart Recovery"

trigger: cart_abandoned
wait: 1_hour

sequence:
  email_1:
    delay: 1_hour
    subject: "Forgot something? 🛒"
    content: |
      Hi {first_name},
      
      You left these items in your cart:
      {cart_items}
      
      [Complete Your Order]({checkout_link})
      
  email_2:
    delay: 24_hours
    condition: cart_not_recovered
    subject: "Your cart is waiting"
    offer: free_shipping
    
  email_3:
    delay: 72_hours
    condition: cart_not_recovered
    subject: "Last chance - 10% off your cart"
    offer: 10_percent_discount
    expiry: 24_hours

tracking:
  metrics:
    - recovery_rate
    - revenue_recovered
    - best_performing_offer

Output Example

Request: "Set up Shopify inventory alerts"

Output:

# Shopify Inventory Alert System

## Workflow Configuration

name: "Low Stock Monitor"

schedule: "Daily 9am + On inventory change"


## Alert Rules

| Urgency | Threshold | Action |
|---------|-----------|--------|
| 🚨 Critical | ≤ 5 units | Immediate Slack + Email |
| ⚠️ Warning | ≤ 10 units | Daily digest |
| 📋 Monitor | ≤ 20 units | Weekly report |

## Sample Alert

🚨 CRITICAL STOCK ALERT

Product: Blue Widget (SKU: BW-001)

Current Stock: 3 units

Daily Sales Avg: 5 units

Days of Stock: 0.6 days

⚠️ WARNING STOCK (5 items)

• Red Widget - 8 units (1.6 days)

• Green Widget - 9 units (3 days)

...

📊 Recommended Actions:

  • Reorder Blue Widget immediately
  • Review Red Widget demand
  • Contact supplier for Green Widget ETA

[View Inventory Dashboard]

[Generate Purchase Orders]


## n8n Implementation

nodes:

  • Schedule Trigger (Daily 9am)
  • Shopify - Get Products
  • Filter - Low Stock Items
  • IF - Check Urgency Level
  • Slack - Send Alert
  • Google Sheets - Log Data

Ready to implement?

*Shopify Automation Skill - Part of Claude Office Skills*

How to use it

Copy the folder

Take claude-office-skills/shopify-automation from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.