OpenClaw · Skill
Queries And
A comprehensive skill for interacting with Shopify's GraphQL Admin API. This skill enables Claude to query and manage all aspects of Shopify store data.
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install alhwyn/clawpifyClawHub installer
npx clawhub@latest install alhwyn/clawpifyOpenClaw CLI
openclaw skills install alhwyn/clawpifyDirect OpenClaw install
openclaw install alhwyn/clawpifyWhat this skill does
A comprehensive skill for interacting with Shopify's GraphQL Admin API. This skill enables Claude to query and manage all aspects of Shopify store data.
Why it matters
GraphQL lets you request only the fields you need, so responses stay small and queries stay fast compared to REST endpoints that return fixed data shapes.
Typical use cases
- Searching active products by title or tag
- Viewing recent orders with customer names and totals
- Adjusting inventory levels across store locations
- Creating and managing discount codes for promotions
- Exporting bulk customer or order data
Source instructions
Shopify GraphQL Admin API
A comprehensive skill for interacting with Shopify's GraphQL Admin API. This skill enables Claude to query and manage all aspects of Shopify store data.
When to Use This Skill
Use this skill when the user asks about:
- Products (list, search, create, update, delete)
- Orders (view, cancel, fulfill)
- Customers (list, create, update)
- Inventory (check levels, adjust quantities)
- Discounts (create codes, manage promotions)
- Any other Shopify store operations
Critical Operations Requiring Permission
IMPORTANT: Before executing any of the following operations, you MUST ask for explicit user permission:
- Refunds: Create refunds (permanent financial transactions)
- Order Cancellations: Cancel orders (may trigger refunds)
- Gift Card Deactivation: Permanently disable gift cards
- Inventory Adjustments: Modify stock levels
- Product Deletions: Permanently remove products
- Discount Activations: Change pricing for customers
Always show what will be changed and wait for user confirmation.
How to Use
- Use the
shopify_graphqltool to execute queries - Check for
errors(GraphQL issues) anduserErrors(validation issues) - Use pagination with
first/afterfor large result sets - Format all IDs as:
gid://shopify/Resource/123
Available References
For detailed patterns and examples, refer to the reference documents:
- products.md - Products and variants management
- orders.md - Order operations
- customers.md - Customer management
- inventory.md - Inventory and locations
- discounts.md - Discount codes and promotions
- collections.md - Product collections
- fulfillments.md - Order fulfillment and shipping
- refunds.md - Process refunds
- draft-orders.md - Draft order creation
- gift-cards.md - Gift card management
- webhooks.md - Event subscriptions
- locations.md - Store locations
- marketing.md - Marketing activities
- markets.md - Multi-market setup
- menus.md - Navigation menus
- metafields.md - Custom data fields
- pages.md - Store pages
- blogs.md - Blog management
- files.md - File uploads
- shipping.md - Shipping configuration
- shop.md - Store information
- subscriptions.md - Subscription management
- translations.md - Content translations
- segments.md - Customer segments
- bulk-operations.md - Bulk data operations
Quick Examples
List Recent Orders
query {
orders(first: 10, sortKey: CREATED_AT, reverse: true) {
nodes {
id
name
totalPriceSet {
shopMoney { amount currencyCode }
}
customer { displayName }
}
}
}
Search Products
query {
products(first: 10, query: "title:*shirt* AND status:ACTIVE") {
nodes {
id
title
status
}
}
}
Check Inventory
query GetInventory($id: ID!) {
inventoryItem(id: $id) {
id
inventoryLevels(first: 5) {
nodes {
quantities(names: ["available"]) {
name
quantity
}
location { name }
}
}
}
}
Error Handling
Always check responses:
errorsarray = GraphQL syntax issuesuserErrorsin mutations = validation problems
Best Practices
- Request only needed fields to optimize response size
- Use pagination for lists that may grow
- Check userErrors in all mutation responses
- Ask permission before dangerous operations
- Format results clearly for the user
- Use bulk operations for large data exports/imports
- Handle rate limits with exponential backoff