From shopify-commerce
Writes Shopify Liquid templates with objects, tags, filters, globals, section schema, and OS 2.0 JSON templates for customizing Shopify themes.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin shopify-commerceThis skill is limited to using the following tools:
**Fetch live docs**:
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Fetch live docs:
https://shopify.dev/docs/api/liquid for Liquid referencesite:shopify.dev liquid objects for available objectssite:shopify.dev liquid filters for available filtersLiquid is Shopify's template language:
Access data with double curly braces:
{{ product.title }} — product name{{ product.price | money }} — formatted price{{ cart.item_count }} — number of items in cart| Object | Description |
|---|---|
product | Current product (on product pages) |
collection | Current collection |
cart | Shopping cart |
customer | Logged-in customer (nil if guest) |
shop | Store settings |
request | Current request (locale, page type) |
content_for_header | Required scripts/meta (must be in layout) |
content_for_layout | Template content (must be in layout) |
all_products | Access any product by handle |
collections | All collections |
linklists | Navigation menus |
pages | CMS pages |
settings | Theme settings |
Control flow and logic:
{% if product.available %}
<span>In stock</span>
{% elsif product.variants.size > 0 %}
<span>Limited</span>
{% else %}
<span>Sold out</span>
{% endif %}
{% unless customer %}
<a href="/account/login">Log in</a>
{% endunless %}
{% case product.type %}
{% when 'Shirt' %}
<p>Clothing</p>
{% when 'Mug' %}
<p>Accessories</p>
{% endcase %}
{% for product in collection.products %}
<h2>{{ product.title }}</h2>
{% endfor %}
{% for item in cart.items limit:5 offset:2 %}
{{ item.title }}
{% endfor %}
{% paginate collection.products by 12 %}
{% for product in collection.products %}
{{ product.title }}
{% endfor %}
{{ paginate | default_pagination }}
{% endpaginate %}
{% assign greeting = 'Hello' %}
{% capture full_greeting %}{{ greeting }}, {{ customer.first_name }}!{% endcapture %}
Transform output:
upcase, downcase, strip, truncate, replace, split, url_encodeplus, minus, times, divided_by, round, ceil, floormoney, money_with_currency, money_without_trailing_zerosdate: '%B %d, %Y'first, last, size, sort, map, where, join, uniqimg_tag, script_tag, stylesheet_tagasset_url, img_url, file_url, shopify_asset_urlimage_url, image_tag (modern replacements for img_url/img_tag)Sections define their own settings in a {% schema %} tag:
{% schema %}
{
"name": "Featured Product",
"settings": [
{
"type": "product",
"id": "product",
"label": "Product"
},
{
"type": "color",
"id": "background_color",
"label": "Background color",
"default": "#ffffff"
}
],
"blocks": [
{
"type": "text",
"name": "Text block",
"settings": [
{
"type": "richtext",
"id": "content",
"label": "Content"
}
]
}
],
"presets": [
{
"name": "Featured Product"
}
]
}
{% endschema %}
Templates are JSON files that reference sections:
{
"sections": {
"main": {
"type": "main-product",
"settings": {}
},
"recommendations": {
"type": "product-recommendations",
"settings": {
"heading": "You may also like"
}
}
},
"order": ["main", "recommendations"]
}
image_url and image_tag instead of deprecated img_url / img_tag{% comment %} for documentation, not HTML comments (which are sent to the browser){% render 'snippet-name' %}) for reusable code — {% include %} is deprecated{% render %} over {% include %} — render creates an isolated scope| escape filter to user-generated content to prevent XSSFetch the Shopify Liquid reference for exact object properties, available filters, and section schema options before implementing.