Agent Skills: Shopify Load & Scale

|

UncategorizedID: jeremylongshore/claude-code-plugins-plus-skills/shopify-load-scale

Install this agent skill to your local

pnpm dlx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/HEAD/plugins/saas-packs/shopify-pack/skills/shopify-load-scale

Skill Files

Browse the full folder contents for shopify-load-scale.

Download Skill

Loading file tree…

plugins/saas-packs/shopify-pack/skills/shopify-load-scale/SKILL.md

Skill Metadata

Name
shopify-load-scale
Description
'Load test Shopify integrations respecting API rate limits, plan capacity

Shopify Load & Scale

Overview

Load test Shopify app integrations while respecting API rate limits. Plan capacity for high-traffic events like Black Friday / Cyber Monday (BFCM).

Prerequisites

  • k6 load testing tool installed (brew install k6)
  • Test store with API access (never load test production)
  • Understanding of Shopify rate limits per plan

Instructions

Step 1: Understand Capacity Constraints

Your app's throughput is bounded by Shopify's rate limits, not your infrastructure:

| Plan | GraphQL Points | Restore Rate | Max Sustained QPS | Burst Capacity | |------|---------------|-------------|-------------------|----------------| | Standard | 1,000 | 50/sec | ~10 queries/sec | 1,000 points burst | | Shopify Plus | 2,000 | 100/sec | ~20 queries/sec | 2,000 points burst |

A typical product query costs 10-50 points. At 50 points/query, Standard supports ~1 query/second sustained.

Step 2: k6 Load Test Script

k6 script with Shopify-specific custom metrics (throttle tracking, query cost trends, error rates) and automatic request pacing.

See k6 Load Test Script for the complete test script.

Step 3: Run Load Test

# Against a test store — NEVER production
k6 run \
  --env SHOPIFY_STORE=dev-store.myshopify.com \
  --env SHOPIFY_ACCESS_TOKEN=shpat_test_token \
  shopify-load-test.js

# Output results to InfluxDB for Grafana dashboards
k6 run --out influxdb=http://localhost:8086/k6 shopify-load-test.js

Step 4: BFCM / Flash Sale Preparation

Pre-BFCM preparation including cache pre-warming, Storefront API offloading, bulk inventory sync, and Kubernetes HPA configuration for webhook processing.

See BFCM Preparation for application-level and infrastructure scaling patterns.

Output

  • Load test script calibrated to Shopify rate limits
  • Performance baseline documented
  • BFCM preparation checklist completed
  • Infrastructure scaling configured for webhook volume

Error Handling

| Issue | Cause | Solution | |-------|-------|----------| | k6 shows high error rate | Hitting rate limits | Reduce VUs, increase sleep between requests | | All requests THROTTLED | Exceeding 50 points/sec | Space queries further apart | | Webhooks backing up | Slow processing | Respond 200 immediately, queue processing | | Cache stampede on sale start | All caches expire at once | Stagger cache TTLs, pre-warm |

Examples

Quick Capacity Estimate

# How many queries can you sustain?
# Standard plan: 50 points/sec restore
# Your query costs: check with debug header

curl -sf "https://$STORE/admin/api/${SHOPIFY_API_VERSION:-2025-04}/graphql.json" \
  -H "X-Shopify-Access-Token: $TOKEN" \
  -H "Content-Type: application/json" \
  -H "Shopify-GraphQL-Cost-Debug: 1" \
  -d '{"query": "{ products(first: 10) { edges { node { id title } } } }"}' \
  | jq '"Query cost: \(.extensions.cost.actualQueryCost) points. Max sustained: \(50 / .extensions.cost.actualQueryCost) queries/sec"'

Resources