Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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"
.claude/skills/dokhacgiakhoa-shopify-development/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -4% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -47% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -17% | 0% |
Use this skill when the user asks about:
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
Install CLI:
bashnpm install -g @shopify/cli@latest
Create and run app:
bashshopify app init # Create new app shopify app dev # Start dev server with tunnel shopify app deploy # Build and upload to Shopify
Generate extension:
bashshopify 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:
bashshopify 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
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 accessread_orders, write_orders - Order managementread_customers, write_customers - Customer dataread_inventory, write_inventory - Stock levelsread_fulfillments, write_fulfillments - Order fulfillment| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 14,116 | 10,672 | -24% | 1 | 1 | 0% | 1,630 | 1,690 | +4% | 0 | 0 | — |
case-02 | fail→fail | 18,010 | 12,077 | -33% | 1 | 1 | 0% | 2,322 | 2,007 | -14% | 0 | 0 | — |
case-03 | fail→pass | 15,558 | 11,955 | -23% | 1 | 1 | 0% | 1,987 | 1,903 | -4% | 0 | 0 | — |
case-04 | fail→pass | 20,213 | 11,857 | -41% | 1 | 1 | 0% | 2,512 | 2,935 | +17% | 0 | 0 | — |
case-05 | pass→pass | 14,847 | 20,172 | +36% | 1 | 1 | 0% | 2,376 | 3,525 | +48% | 0 | 0 | — |
case-06 | pass→pass | 8,371 | 6,384 | -24% | 1 | 1 | 0% | 570 | 850 | +49% | 0 | 0 | — |
case-07 | pass→pass | 11,122 | 7,121 | -36% | 1 | 1 | 0% | 961 | 977 | +2% | 0 | 0 | — |
case-08 | fail→pass | 11,990 | 3,017 | -75% | 1 | 1 | 0% | 2,027 | 1,084 | -47% | 0 | 0 | — |
case-09 | fail→pass | 7,531 | 7,459 | -1% | 1 | 1 | 0% | 1,265 | 1,055 | -17% | 0 | 0 | — |
case-10 | pass→pass | 12,854 | 5,715 | -56% | 1 | 1 | 0% | 1,296 | 1,730 | +33% | 0 | 0 | — |
case-11 | pass→pass | 10,645 | 6,568 | -38% | 1 | 1 | 0% | 1,104 | 921 | -17% | 0 | 0 | — |
case-12 | fail→fail | 12,216 | 14,496 | +19% | 1 | 1 | 0% | 2,221 | 2,424 | +9% | 0 | 0 | — |
case-13 | fail→pass | 6,215 | 9,697 | +56% | 1 | 1 | 0% | 1,132 | 1,503 | +33% | 0 | 0 | — |
case-14 | fail→pass | 15,314 | 11,207 | -27% | 1 | 1 | 0% | 1,983 | 1,824 | -8% | 0 | 0 | — |
case-15 | pass→pass | 11,774 | 9,354 | -21% | 1 | 1 | 0% | 1,895 | 2,248 | +19% | 0 | 0 | — |
case-16 | pass→pass | 11,214 | 15,063 | +34% | 1 | 1 | 0% | 1,758 | 2,571 | +46% | 0 | 0 | — |
case-17 | pass→pass | 6,245 | 7,414 | +19% | 1 | 1 | 0% | 1,001 | 1,012 | +1% | 0 | 0 | — |
case-18 | pass→pass | 18,506 | 14,789 | -20% | 1 | 1 | 0% | 2,256 | 2,470 | +9% | 0 | 0 | — |
case-19 | pass→pass | 13,728 | 7,869 | -43% | 1 | 1 | 0% | 1,341 | 1,145 | -15% | 0 | 0 | — |
case-20 | pass→pass | 22,647 | 19,593 | -13% | 1 | 1 | 0% | 3,185 | 3,332 | +5% | 0 | 0 | — |
case-21 | pass→pass | 16,000 | 14,677 | -8% | 1 | 1 | 0% | 2,052 | 2,337 | +14% | 0 | 0 | — |
case-22 | pass→pass | 16,536 | 9,537 | -42% | 1 | 1 | 0% | 1,954 | 2,175 | +11% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.