Shopify Theme Pro
by @avmw2025
Shopify Theme Development Pro - Complete theme development, deployment, and design system management for OpenClaw agents. Use when building Shopify themes, w...
clawhub install shopify-theme-proπ About This Skill
name: shopify-theme-pro description: Shopify Theme Development Pro - Complete theme development, deployment, and design system management for OpenClaw agents. Use when building Shopify themes, writing Liquid templates, pushing theme changes, deploying to stores, or managing design systems. Triggers on Shopify theme, Liquid templating, theme development, theme deployment, push theme, Shopify design system, Online Store 2.0, theme sections.
Shopify Theme Development Pro
End-to-end Shopify theme development, deployment, and design system management. Covers Liquid templating, Online Store 2.0 architecture, performance optimization, deployment workflows, and CSS design systems.
When to Use
Apply this skill when:
Quick Start
Local Development
Start a local dev server with hot reload:
shopify theme dev --store=your-store.myshopify.com
Visit http://localhost:9292 to preview changes in real-time.
Deploy to Store
Push local changes to a theme:
shopify theme push --theme
See references/deployment.md for the full pre-flight checklist and deployment workflow.
Create New Section
Generate a section scaffold:
mkdir -p sections
touch sections/my-section.liquid
See references/liquid-patterns.md for common section patterns and schemas.
Core Concepts
Theme Architecture
Directory Structure:
theme/
βββ assets/ # CSS, JavaScript, images
βββ config/ # Theme settings (settings_schema.json, settings_data.json)
βββ layout/ # Template wrappers (theme.liquid required)
βββ sections/ # Reusable, customizable content modules
βββ snippets/ # Reusable code fragments
βββ templates/ # Page-type templates (JSON or Liquid)
βββ locales/ # Translation files (en.default.json, etc.)
Key Principles:
Online Store 2.0 Architecture
β DO:
β DON'T:
JSON Template Example:
{
"sections": {
"header": {
"type": "header"
},
"main": {
"type": "main-product"
}
},
"order": ["header", "main"]
}
Liquid Templating Essentials
Basic Syntax:
{%- # Output variables -%}
{{ product.title }}
{{ product.price | money }}{%- # Control flow -%}
{% if product.available %}
{% else %}
Sold Out
{% endif %}
{%- # Loops -%}
{% for variant in product.variants limit: 10 %}
{{ variant.title }}: {{ variant.price | money }}
{% endfor %}
{%- # Filter chaining (processes left to right) -%}
{{ product.description | strip_html | truncate: 150 | upcase }}
Performance Tips:
{%- -%} to strip whitespace and reduce HTML size{% for item in array limit: 10 %})liquid tag for nested logic blocksSee references/liquid-patterns.md for advanced patterns.
Development Workflow
1. Setup
Initialize a new theme from a template:
shopify theme init
Or clone an existing theme:
shopify theme pull --theme
2. Local Development
Run the dev server:
shopify theme dev --store=your-store.myshopify.com
Changes auto-sync to the dev theme and reload the browser.
3. Quality Checks
Run Theme Check linter:
shopify theme check
Fix any errors or warnings before deploying.
4. Deployment
See the full deployment workflow in references/deployment.md. Key steps:
shopify theme push --theme
IMPORTANT: Never push to live theme without --allow-live flag and explicit confirmation.
5. Publish
Promote a theme to live:
shopify theme publish --theme
Performance Optimization
See references/performance.md for detailed optimization strategies.
Quick Wins:
loading="lazy")srcset)preload, dns-prefetch)Avoid:
Accessibility Standards
Build accessibility from the ground up:
Example:
Design System Management
See references/design-system.md for building and maintaining a CSS design system.
Key Components:
Approach:
assets/variables.css or config/settings_schema.jsonreferences/design-system.mdMerchant Customization
Enable merchants to customize themes without code:
Theme Settings (config/settings_schema.json):
{
"name": "Colors",
"settings": [
{
"type": "color",
"id": "color_primary",
"label": "Primary Color",
"default": "#000000"
},
{
"type": "font_picker",
"id": "font_heading",
"label": "Heading Font",
"default": "helvetica_n4"
}
]
}
Section Settings:
{% schema %}
{
"name": "Featured Collection",
"settings": [
{
"type": "collection",
"id": "collection",
"label": "Collection"
},
{
"type": "range",
"id": "products_to_show",
"min": 2,
"max": 12,
"step": 1,
"default": 4,
"label": "Products to show"
}
],
"blocks": [
{
"type": "heading",
"name": "Heading",
"settings": [
{
"type": "text",
"id": "heading",
"label": "Heading"
}
]
}
],
"presets": [
{
"name": "Featured Collection"
}
]
}
{% endschema %}
Shopify CLI Reference
Development:
shopify theme init β Create new theme from templateshopify theme dev β Local dev server with hot reloadshopify theme list β List all themes on the storeshopify theme open β Open theme in Shopify adminDeployment:
shopify theme push β Push local changes to storeshopify theme pull β Pull remote changes to localshopify theme publish β Set theme as liveshopify theme share β Generate shareable preview linkshopify theme package β Create distributable ZIPQuality:
shopify theme check β Run lintershopify theme check --auto-correct β Auto-fix issuesFlags:
--store β Target store--theme β Target specific theme--allow-live β Allow pushing to live theme (requires confirmation)--only β Push specific files only--ignore β Skip specific files--nodelete β Don't delete remote files missing locallyAjax API for Interactivity
Common use cases:
Example (Add to Cart):
fetch(${window.Shopify.routes.root}cart/add.js, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
id: variantId,
quantity: 1
})
})
.then(response => response.json())
.then(item => {
console.log('Added to cart:', item);
// Update cart UI
})
.catch(error => console.error('Error:', error));
Get Cart Contents:
fetch(${window.Shopify.routes.root}cart.js)
.then(response => response.json())
.then(cart => console.log('Cart:', cart));
See Shopify Ajax API docs for all endpoints and response schemas.
Code Quality Standards
β DO:
β DON'T:
Testing Checklist
Before deploying to production:
shopify theme check with no critical errorsCommon Patterns
See references/liquid-patterns.md for detailed examples:
Resources
Navigation
references/liquid-patterns.md β Common Liquid patterns and section schemasreferences/design-system.md β CSS design system guidelinesreferences/deployment.md β Full deployment workflow and pre-flight checklistreferences/performance.md β Performance optimization strategiesVersion: 1.0 (Combined from shopify-theme-dev + shopify-theme-push) Last Updated: 2026-03-13
β‘ When to Use
π‘ Examples
Local Development
Start a local dev server with hot reload:
shopify theme dev --store=your-store.myshopify.com
Visit http://localhost:9292 to preview changes in real-time.
Deploy to Store
Push local changes to a theme:
shopify theme push --theme
See references/deployment.md for the full pre-flight checklist and deployment workflow.
Create New Section
Generate a section scaffold:
mkdir -p sections
touch sections/my-section.liquid
See references/liquid-patterns.md for common section patterns and schemas.