diff --git a/.agents/skills/shopify-development/README.md b/.agents/skills/shopify-development/README.md
new file mode 100644
index 000000000..998f63cbc
--- /dev/null
+++ b/.agents/skills/shopify-development/README.md
@@ -0,0 +1,60 @@
+# Shopify Development Skill
+
+Comprehensive skill for building on Shopify platform: apps, extensions, themes, and API integrations.
+
+## Features
+
+- **App Development** - OAuth authentication, GraphQL Admin API, webhooks, billing integration
+- **UI Extensions** - Checkout, Admin, POS customizations with Polaris components
+- **Theme Development** - Liquid templating, sections, snippets
+- **Shopify Functions** - Custom discounts, payment, delivery rules
+
+## Structure
+
+```
+shopify-development/
+├── SKILL.md # Main skill file (AI-optimized)
+├── README.md # This file
+├── references/
+│ ├── app-development.md # OAuth, API, webhooks, billing
+│ ├── extensions.md # UI extensions, Functions
+│ └── themes.md # Liquid, theme architecture
+└── scripts/
+ ├── shopify_init.py # Interactive project scaffolding
+ ├── shopify_graphql.py # GraphQL utilities & templates
+ └── tests/ # Unit tests
+```
+
+## Validated GraphQL
+
+All GraphQL queries and mutations in this skill have been validated against Shopify Admin API 2026-01 schema using the official Shopify MCP.
+
+## Quick Start
+
+```bash
+# Install Shopify CLI
+npm install -g @shopify/cli@latest
+
+# Create new app
+shopify app init
+
+# Start development
+shopify app dev
+```
+
+## Usage Triggers
+
+This skill activates when the user mentions:
+
+- "shopify app", "shopify extension", "shopify theme"
+- "checkout extension", "admin extension", "POS extension"
+- "liquid template", "polaris", "shopify graphql"
+- "shopify webhook", "shopify billing", "metafields"
+
+## API Version
+
+Current: **2026-01** (Quarterly releases with 12-month support)
+
+## License
+
+MIT
diff --git a/.agents/skills/shopify-development/SKILL.md b/.agents/skills/shopify-development/SKILL.md
new file mode 100644
index 000000000..349e3d983
--- /dev/null
+++ b/.agents/skills/shopify-development/SKILL.md
@@ -0,0 +1,368 @@
+---
+name: shopify-development
+description: |
+ Build Shopify apps, extensions, themes using GraphQL Admin API, Shopify CLI, Polaris UI, and Liquid.
+ TRIGGER: "shopify", "shopify app", "checkout extension", "admin extension", "POS extension",
+ "shopify theme", "liquid template", "polaris", "shopify graphql", "shopify webhook",
+ "shopify billing", "app subscription", "metafields", "shopify functions"
+metadata:
+ author: display studio
+---
+
+# Shopify Development Skill
+
+Use this skill when the user asks about:
+
+- Building Shopify apps or extensions
+- Creating checkout/admin/POS UI customizations
+- Developing themes with Liquid templating
+- Integrating with Shopify GraphQL or REST APIs
+- Implementing webhooks or billing
+- Working with metafields or Shopify Functions
+
+---
+
+## ROUTING: What to Build
+
+**IF user wants to integrate external services OR build merchant tools OR charge for features:**
+→ Build an **App** (see `references/app-development.md`)
+
+**IF user wants to customize checkout OR add admin UI OR create POS actions OR implement discount rules:**
+→ Build an **Extension** (see `references/extensions.md`)
+
+**IF user wants to customize storefront design OR modify product/collection pages:**
+→ Build a **Theme** (see `references/themes.md`)
+
+**IF user needs both backend logic AND storefront UI:**
+→ Build **App + Theme Extension** combination
+
+---
+
+## Shopify CLI Commands
+
+Install CLI:
+
+```bash
+npm install -g @shopify/cli@latest
+```
+
+Create and run app:
+
+```bash
+shopify app init # Create new app
+shopify app dev # Start dev server with tunnel
+shopify app deploy # Build and upload to Shopify
+```
+
+Generate extension:
+
+```bash
+shopify app generate extension --type checkout_ui_extension
+shopify app generate extension --type admin_action
+shopify app generate extension --type admin_block
+shopify app generate extension --type pos_ui_extension
+shopify app generate extension --type function
+```
+
+Theme development:
+
+```bash
+shopify theme init # Create new theme
+shopify theme dev # Start local preview at localhost:9292
+shopify theme pull --live # Pull live theme
+shopify theme push --development # Push to dev theme
+```
+
+---
+
+## Access Scopes
+
+Configure in `shopify.app.toml`:
+
+```toml
+[access_scopes]
+scopes = "read_products,write_products,read_orders,write_orders,read_customers"
+```
+
+Common scopes:
+
+- `read_products`, `write_products` - Product catalog access
+- `read_orders`, `write_orders` - Order management
+- `read_customers`, `write_customers` - Customer data
+- `read_inventory`, `write_inventory` - Stock levels
+- `read_fulfillments`, `write_fulfillments` - Order fulfillment
+
+---
+
+## GraphQL Patterns (Validated against API 2026-01)
+
+### Query Products
+
+```graphql
+query GetProducts($first: Int!, $query: String) {
+ products(first: $first, query: $query) {
+ edges {
+ node {
+ id
+ title
+ handle
+ status
+ variants(first: 5) {
+ edges {
+ node {
+ id
+ price
+ inventoryQuantity
+ }
+ }
+ }
+ }
+ }
+ pageInfo {
+ hasNextPage
+ endCursor
+ }
+ }
+}
+```
+
+### Query Orders
+
+```graphql
+query GetOrders($first: Int!) {
+ orders(first: $first) {
+ edges {
+ node {
+ id
+ name
+ createdAt
+ displayFinancialStatus
+ totalPriceSet {
+ shopMoney {
+ amount
+ currencyCode
+ }
+ }
+ }
+ }
+ }
+}
+```
+
+### Set Metafields
+
+```graphql
+mutation SetMetafields($metafields: [MetafieldsSetInput!]!) {
+ metafieldsSet(metafields: $metafields) {
+ metafields {
+ id
+ namespace
+ key
+ value
+ }
+ userErrors {
+ field
+ message
+ }
+ }
+}
+```
+
+Variables example:
+
+```json
+{
+ "metafields": [
+ {
+ "ownerId": "gid://shopify/Product/123",
+ "namespace": "custom",
+ "key": "care_instructions",
+ "value": "Handle with care",
+ "type": "single_line_text_field"
+ }
+ ]
+}
+```
+
+---
+
+## Checkout Extension Example
+
+```tsx
+import {
+ reactExtension,
+ BlockStack,
+ TextField,
+ Checkbox,
+ useApplyAttributeChange,
+} from "@shopify/ui-extensions-react/checkout";
+
+export default reactExtension("purchase.checkout.block.render", () => (
+
Sold Out
+{% endif %} + +{% for product in collection.products %} + {{ product.title }} +{% endfor %} + +{% case product.type %} + {% when 'Clothing' %} + Apparel + {% when 'Shoes' %} + Footwear + {% else %} + Other +{% endcase %} +``` + +**Filters (Transform):** +```liquid +{{ product.title | upcase }} +{{ product.price | money }} +{{ product.description | strip_html | truncate: 100 }} +{{ product.image | img_url: 'medium' }} +{{ 'now' | date: '%B %d, %Y' }} +``` + +### Common Objects + +**Product:** +```liquid +{{ product.id }} +{{ product.title }} +{{ product.handle }} +{{ product.description }} +{{ product.price }} +{{ product.compare_at_price }} +{{ product.available }} +{{ product.type }} +{{ product.vendor }} +{{ product.tags }} +{{ product.images }} +{{ product.variants }} +{{ product.featured_image }} +{{ product.url }} +``` + +**Collection:** +```liquid +{{ collection.title }} +{{ collection.handle }} +{{ collection.description }} +{{ collection.products }} +{{ collection.products_count }} +{{ collection.image }} +{{ collection.url }} +``` + +**Cart:** +```liquid +{{ cart.item_count }} +{{ cart.total_price }} +{{ cart.items }} +{{ cart.note }} +{{ cart.attributes }} +``` + +**Customer:** +```liquid +{{ customer.email }} +{{ customer.first_name }} +{{ customer.last_name }} +{{ customer.orders_count }} +{{ customer.total_spent }} +{{ customer.addresses }} +{{ customer.default_address }} +``` + +**Shop:** +```liquid +{{ shop.name }} +{{ shop.email }} +{{ shop.domain }} +{{ shop.currency }} +{{ shop.money_format }} +{{ shop.enabled_payment_types }} +``` + +### Common Filters + +**String:** +- `upcase`, `downcase`, `capitalize` +- `strip_html`, `strip_newlines` +- `truncate: 100`, `truncatewords: 20` +- `replace: 'old', 'new'` + +**Number:** +- `money` - Format currency +- `round`, `ceil`, `floor` +- `times`, `divided_by`, `plus`, `minus` + +**Array:** +- `join: ', '` +- `first`, `last` +- `size` +- `map: 'property'` +- `where: 'property', 'value'` + +**URL:** +- `img_url: 'size'` - Image URL +- `url_for_type`, `url_for_vendor` +- `link_to`, `link_to_type` + +**Date:** +- `date: '%B %d, %Y'` + +## Theme Architecture + +### Directory Structure + +``` +theme/ +├── assets/ # CSS, JS, images +├── config/ # Theme settings +│ ├── settings_schema.json +│ └── settings_data.json +├── layout/ # Base templates +│ └── theme.liquid +├── locales/ # Translations +│ └── en.default.json +├── sections/ # Reusable blocks +│ ├── header.liquid +│ ├── footer.liquid +│ └── product-grid.liquid +├── snippets/ # Small components +│ ├── product-card.liquid +│ └── icon.liquid +└── templates/ # Page templates + ├── index.json + ├── product.json + ├── collection.json + └── cart.liquid +``` + +### Layout + +Base template wrapping all pages (`layout/theme.liquid`): + +```liquid + + + + + +{{ product.price | money }}
+ + {% form 'product', product %} + + + + {% endform %} +Hard to read
+ + +Easy to read
+Also fine
+``` + +Verify contrast ratios when defining custom `@theme` colors. Prefer OKLCH for predictable perceptual lightness. + +## Reduced Motion + +```html + +