clawpify
Query and manage Shopify stores via GraphQL Admin API.
Setup & Installation
Install command
clawhub install alhwyn/clawpifyIf the CLI is not installed:
Install command
npx clawhub@latest install alhwyn/clawpifyOr install with OpenClaw CLI:
Install command
openclaw skills install alhwyn/clawpifyor paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/alhwyn/clawpifyWhat This Skill Does
Queries and manages Shopify store data through the GraphQL Admin API. Covers products, orders, customers, inventory, discounts, collections, fulfillments, and more. Destructive operations like refunds, cancellations, and inventory adjustments require explicit user confirmation before executing.
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.
When to Use It
- 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
View original SKILL.md file
# 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
1. Use the `shopify_graphql` tool to execute queries
2. Check for `errors` (GraphQL issues) and `userErrors` (validation issues)
3. Use pagination with `first`/`after` for large result sets
4. 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
```graphql
query {
orders(first: 10, sortKey: CREATED_AT, reverse: true) {
nodes {
id
name
totalPriceSet {
shopMoney { amount currencyCode }
}
customer { displayName }
}
}
}
```
### Search Products
```graphql
query {
products(first: 10, query: "title:*shirt* AND status:ACTIVE") {
nodes {
id
title
status
}
}
}
```
### Check Inventory
```graphql
query GetInventory($id: ID!) {
inventoryItem(id: $id) {
id
inventoryLevels(first: 5) {
nodes {
quantities(names: ["available"]) {
name
quantity
}
location { name }
}
}
}
}
```
## Error Handling
Always check responses:
- `errors` array = GraphQL syntax issues
- `userErrors` in mutations = validation problems
## Best Practices
1. Request only needed fields to optimize response size
2. Use pagination for lists that may grow
3. Check userErrors in all mutation responses
4. Ask permission before dangerous operations
5. Format results clearly for the user
6. Use bulk operations for large data exports/imports
7. Handle rate limits with exponential backoff
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Searching active products by title or tag
- 1Searching active products by title or tag
- 2Viewing recent orders with customer names and totals
- 3Adjusting inventory levels across store locations
- 4Creating and managing discount codes for promotions
- 5Exporting bulk customer or order data
Query and manage Shopify stores via GraphQL Admin API.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.