Skip to main content
skill CX Codex

shopify · mindrally — Claude Code skill: what it does, how to install

Development guidelines for Shopify themes, covering Liquid templates, Online Store 2.0 architecture, and cart operations.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Mindrally/skills --skill shopify -a claude-code
Open on GitHub

What shopify does

The skill instructs the agent on building Shopify themes according to Online Store 2.0 standards. It enforces {% render %} snippets. Deprecated {% include %} tags are dropped, while {% cache %} blocks handle heavy operations. For modular sections, the assistant writes valid {% schema %} blocks and template JSON files.

Client-side scripts use ES6+ syntax. Cart submissions run through the Fetch API via /cart/add.js. Dynamic updates rely on the Section Rendering API. Styles prioritize mobile layouts and custom CSS properties.

All guidelines target standard themes built around sections/ and snippets/. If your project runs a headless storefront, this skill will not fit your stack.

What it helps with

  • build an Online Store 2.0 section with settings schema and presets
  • replace deprecated {% include %} tags with {% render %}
  • dispatch cart requests using Fetch API and /cart/add.js
  • optimize responsive imagery with image_tag filters

Example prompts for the agent

  • Create a featured-collection.liquid section with a schema for selecting a collection
  • Write a JavaScript helper that adds variants to /cart/add.js using fetch
  • Render a product card snippet with lazy loading image tags

How to install shopify

1Skills CLI (Vercel)

npx skills add Mindrally/skills --skill shopify -a claude-code

2Manually: put the files in place

~/.claude/skills/shopify/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/shopify/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about shopify

How do I install shopify in Claude Code?

Run npx skills add Mindrally/skills --skill shopify -a claude-code in your terminal.

What does the shopify skill do?

It equips coding assistants with standards for Online Store 2.0 theme creation, Liquid optimization, and storefront performance.

What conventions does it set for Liquid templates?

It mandates {% render %} snippets over deprecated {% include %} tags and applies {% cache %} blocks on intensive operations.

Source text

SKILL.md · Apache-2.0
---
name: shopify
description: Expert Shopify theme development guidelines for Liquid, Online Store 2.0, CSS, JavaScript, and UX best practices
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Shopify Theme Development

You are an expert in Shopify theme development, Liquid templating, Online Store 2.0, and e-commerce best practices.

## Core Principles

- Write clean, maintainable Liquid code
- Follow Online Store 2.0 architecture patterns
- Optimize for performance and Core Web Vitals
- Ensure accessibility compliance
- Implement responsive, mobile-first designs

## Liquid Templating

### Best Practices

- Use meaningful variable names
- Leverage Liquid filters effectively
- Minimize logic in templates; use snippets for reusable code
- Cache expensive operations with `{% cache %}` blocks
- Use `{% render %}` instead of deprecated `{% include %}`

### Common Patterns

```liquid
{% comment %} Product card snippet {% endcomment %}
{% render 'product-card', product: product, show_vendor: true %}

{% comment %} Conditional rendering {% endcomment %}
{% if product.available %}
  <button type="submit">Add to Cart</button>
{% else %}
  <button disabled>Sold Out</button>
{% endif %}

{% comment %} Loop with forloop object {% endcomment %}
{% for product in collection.products limit: 12 %}
  {% render 'product-card', product: product %}
{% endfor %}
```

## Online Store 2.0

### Section Architecture

- Create modular, reusable sections
- Define section schemas with appropriate settings
- Use blocks for repeatable content within sections
- Implement section groups for template flexibility

### Section Schema

```liquid
{% schema %}
{
  "name": "Featured Collection",
  "settings": [
    {
      "type": "collection",
      "id": "collection",
      "label": "Collection"
    },
    {
      "type": "range",
      "id": "products_to_show",
      "min": 2,
      "max": 12,
      "step": 2,
      "default": 4,
      "label": "Products to show"
    }
  ],
  "presets": [
    {
      "name": "Featured Collection"
    }
  ]
}
{% endschema %}
```

### JSON Templates

- Use JSON templates for flexible page layouts
- Define template sections in JSON format
- Allow merchants to customize through theme editor

## JavaScript Best Practices

### Theme JavaScript

- Use modern ES6+ syntax
- Implement proper event delegation
- Lazy load non-critical scripts
- Use Shopify's Section Rendering API for dynamic updates

### Cart Functionality

```javascript
// Add to cart with Fetch API
async function addToCart(variantId, quantity = 1) {
  const response = await fetch('/cart/add.js', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      id: variantId,
      quantity: quantity,
    }),
  });
  return response.json();
}
```

## CSS and Styling

- Use CSS custom properties for theming
- Implement mobile-first responsive design
- Leverage CSS Grid and Flexbox for layouts
- Minimize render-blocking CSS
- Use logical properties for internationalization

## Performance Optimization

- Optimize images with Shopify's image CDN
- Implement lazy loading for images and sections
- Minimize Liquid loops and complex calculations
- Use `preload` for critical assets
- Monitor Core Web Vitals (LCP, FID, CLS)

### Image Optimization

```liquid
{{ product.featured_image | image_url: width: 800 | image_tag:
  loading: 'lazy',
  widths: '200, 400, 600, 800',
  sizes: '(max-width: 600px) 100vw, 50vw'
}}
```

## Accessibility

- Use semantic HTML elements
- Implement proper ARIA attributes
- Ensure keyboard navigation
- Maintain color contrast ratios
- Test with screen readers

## Theme Settings

- Organize settings logically in settings_schema.json
- Provide sensible defaults
- Use appropriate setting types
- Include helpful info text for merchants

## Metafields

- Use metafields for custom product data
- Access metafields efficiently in templates
- Define metafield definitions in theme

## Testing

- Test across browsers and devices
- Validate Liquid syntax
- Check accessibility compliance
- Monitor performance metrics
- Test checkout flow thoroughly

## File Structure

```
theme/
├── assets/
├── config/
│   ├── settings_data.json
│   └── settings_schema.json
├── layout/
│   └── theme.liquid
├── locales/
├── sections/
├── snippets/
└── templates/
    ├── customers/
    └── *.json
```

© Mindrally · Apache-2.0 · Mindrally/skills

Similar skills

Everything for Frontend and UI →

shopify by other authors comes first.

From the same set236

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor