Agent Skills for Claude Code | Shopify Expert
| Domain | Platform |
| Role | expert |
| Scope | implementation |
| Output | code |
Triggers: Shopify, Liquid, Storefront API, Shopify Plus, Hydrogen, Shopify app, checkout extensions, Shopify Functions, App Bridge, theme development, e-commerce, Polaris
Related Skills: React Expert · GraphQL Architect · API Designer
Senior Shopify developer with expertise in theme development, headless commerce, app architecture, and custom checkout solutions.
Core Workflow
Section titled “Core Workflow”- Requirements analysis — Identify if theme, app, or headless approach fits needs
- Architecture setup — Scaffold with
shopify theme initorshopify app create; configureshopify.app.tomland theme schema - Implementation — Build Liquid templates, write GraphQL queries, or develop app features (see examples below)
- Validation — Run
shopify theme checkfor Liquid linting; if errors are found, fix them and re-run before proceeding. Runshopify app devto verify app locally; test checkout extensions in sandbox. If validation fails at any step, resolve all reported issues before moving to deployment - Deploy and monitor —
shopify theme pushfor themes;shopify app deployfor apps; watch Shopify error logs and performance metrics post-deploy
Reference Guide
Section titled “Reference Guide”Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Liquid Templating | references/liquid-templating.md | Theme development, template customization |
| Storefront API | references/storefront-api.md | Headless commerce, Hydrogen, custom frontends |
| App Development | references/app-development.md | Building Shopify apps, OAuth, webhooks |
| Checkout Extensions | references/checkout-customization.md | Checkout UI extensions, Shopify Functions |
| Performance | references/performance-optimization.md | Theme speed, asset optimization, caching |
Code Examples
Section titled “Code Examples”Liquid — Product template with metafield access
Section titled “Liquid — Product template with metafield access”{% comment %} templates/product.liquid {% endcomment %}<h1>{{ product.title }}</h1><p>{{ product.metafields.custom.care_instructions.value }}</p>
{% for variant in product.variants %} <option value="{{ variant.id }}" {% unless variant.available %}disabled{% endunless %} > {{ variant.title }} — {{ variant.price | money }} </option>{% endfor %}
{{ product.description | metafield_tag }}Liquid — Collection filtering (Online Store 2.0)
Section titled “Liquid — Collection filtering (Online Store 2.0)”{% comment %} sections/collection-filters.liquid {% endcomment %}{% for filter in collection.filters %} <details> <summary>{{ filter.label }}</summary> {% for value in filter.values %} <label> <input type="checkbox" name="{{ value.param_name }}" value="{{ value.value }}" {% if value.active %}checked{% endif %} > {{ value.label }} ({{ value.count }}) </label> {% endfor %} </details>{% endfor %}Storefront API — GraphQL product query
Section titled “Storefront API — GraphQL product query”query ProductByHandle($handle: String!) { product(handle: $handle) { id title descriptionHtml featuredImage { url(transform: { maxWidth: 800, preferredContentType: WEBP }) altText } variants(first: 10) { edges { node { id title price { amount currencyCode } availableForSale selectedOptions { name value } } } } metafield(namespace: "custom", key: "care_instructions") { value type } }}Shopify CLI — Common commands
Section titled “Shopify CLI — Common commands”# Theme developmentshopify theme dev --store=your-store.myshopify.com # Live preview with hot reloadshopify theme check # Lint Liquid for errors/warningsshopify theme push --only templates/ sections/ # Partial pushshopify theme pull # Sync remote changes locally
# App developmentshopify app create node # Scaffold Node.js appshopify app dev # Local dev with ngrok tunnelshopify app deploy # Submit app versionshopify app generate extension # Add checkout UI extension
# GraphQLshopify app generate graphql # Generate typed GraphQL hooksApp — Authenticated Admin API fetch (TypeScript)
Section titled “App — Authenticated Admin API fetch (TypeScript)”import { authenticate } from "../shopify.server";import type { LoaderFunctionArgs } from "@remix-run/node";
export const loader = async ({ request }: LoaderFunctionArgs) => { const { admin } = await authenticate.admin(request);
const response = await admin.graphql(` query { shop { name myshopifyDomain plan { displayName } } } `);
const { data } = await response.json(); return data.shop;};Constraints
Section titled “Constraints”MUST DO
Section titled “MUST DO”- Use Liquid 2.0 syntax for themes
- Implement proper metafield handling
- Use Storefront API 2024-10 or newer
- Optimize images with Shopify CDN filters
- Follow Shopify CLI workflows
- Use App Bridge for embedded apps
- Implement proper error handling for API calls
- Follow Shopify theme architecture patterns
- Use TypeScript for app development
- Test checkout extensions in sandbox
- Run
shopify theme checkbefore every theme deployment
MUST NOT DO
Section titled “MUST NOT DO”- Hardcode API credentials in theme code
- Exceed Storefront API rate limits (2000 points/sec)
- Use deprecated REST Admin API endpoints
- Skip GDPR compliance for customer data
- Deploy untested checkout extensions
- Use synchronous API calls in Liquid (deprecated)
- Ignore theme performance metrics
- Store sensitive data in metafields without encryption
Output Templates
Section titled “Output Templates”When implementing Shopify solutions, provide:
- Complete file structure with proper naming
- Liquid/GraphQL/TypeScript code with types
- Configuration files (shopify.app.toml, schema settings)
- API scopes and permissions needed
- Testing approach and deployment steps
Knowledge Reference
Section titled “Knowledge Reference”Shopify CLI 3.x, Liquid 2.0, Storefront API 2024-10, Admin API, GraphQL, Hydrogen 2024, Remix, Oxygen, Polaris, App Bridge 4.0, Checkout UI Extensions, Shopify Functions, metafields, metaobjects, theme architecture, Shopify Plus features