From shopify-commerce
Use Shopify GraphQL Admin API for server CRUD on products/orders and Storefront API for client queries on products/cart, with versioning, rate limits, bulk ops, pagination.
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/admin-graphql for Admin API schemahttps://shopify.dev/docs/api/storefront for Storefront API schemasite:shopify.dev graphql api versioning for current API versionsFull CRUD on all store resources:
https://{store}.myshopify.com/admin/api/{version}/graphql.jsonX-Shopify-Access-Token headerRead-heavy access for custom storefronts:
https://{store}.myshopify.com/api/{version}/graphql.jsonX-Shopify-Storefront-Access-Token headerQuarterly releases: YYYY-MM (January, April, July, October)
unstable version available for testing upcoming changesquery Products($first: Int!, $after: String) {
products(first: $first, after: $after) {
edges {
node {
id
title
handle
status
variants(first: 10) {
edges {
node {
id
title
price
sku
inventoryQuantity
}
}
}
metafields(first: 5) {
edges {
node {
namespace
key
value
type
}
}
}
}
}
pageInfo { hasNextPage endCursor }
}
}
mutation ProductCreate($input: ProductInput!) {
productCreate(input: $input) {
product {
id
title
}
userErrors {
field
message
}
}
}
For large data exports:
mutation {
bulkOperationRunQuery(
query: """
{
products {
edges {
node {
id
title
variants {
edges {
node { id sku price }
}
}
}
}
}
}
"""
) {
bulkOperation {
id
status
}
userErrors { field message }
}
}
Poll for completion, then download JSONL result file.
query Products($first: Int!) {
products(first: $first) {
edges {
node {
id
title
handle
priceRange {
minVariantPrice { amount currencyCode }
}
images(first: 1) {
edges {
node { url altText }
}
}
}
}
}
}
mutation CartCreate($input: CartInput!) {
cartCreate(input: $input) {
cart {
id
lines(first: 10) {
edges {
node {
id
quantity
merchandise {
... on ProductVariant {
id
title
price { amount currencyCode }
}
}
}
}
}
cost {
totalAmount { amount currencyCode }
}
checkoutUrl
}
userErrors { field message }
}
}
Each query has a calculated cost:
extensions.cost.throttleStatusretryAfterRelay-style cursor pagination:
first + after (from pageInfo.endCursor)last + before (from pageInfo.startCursor)pageInfo.hasNextPage / pageInfo.hasPreviousPageThe official ShopifyAPI package (GitHub: Shopify/shopify_python_api) provides a Python client:
pip install ShopifyAPIuserErrors in mutation responses — a 200 status does not mean successFetch the Shopify GraphQL API reference for the current schema, available queries/mutations, and latest API version before implementing.