shopify-admin-duplicate-sku-barcode-detector

SkillCommerce & finance

Read-only: finds duplicate SKUs or barcodes across all product variants.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the shopify-admin-duplicate-sku-barcode-detector skill

What this skill tells your AI

The instructions your AI receives, as published by 40rty-ai/shopify-admin-skills in skills/merchandising/shopify-admin-duplicate-sku-barcode-detector/SKILL.md and read by ahel’s review.

Purpose

Scans all product variants and identifies duplicate SKUs or barcodes — two or more variants sharing the same identifier. Duplicate SKUs cause inventory sync failures, incorrect order routing, and accounting mismatches. Read-only — no mutations.

Prerequisites

  • Authenticated Shopify CLI session: shopify store auth --store <domain> --scopes read_products
  • API scopes: read_products

Parameters

ParameterTypeRequiredDefaultDescription
storestringyesStore domain (e.g., mystore.myshopify.com)
check_skusboolnotrueCheck for duplicate SKUs
check_barcodesboolnotrueCheck for duplicate barcodes
include_blankboolnofalseFlag variants with blank/null SKU
formatstringnohumanOutput format: human or json

Safety

ℹ️ Read-only skill — no mutations are executed. Safe to run at any time.

Workflow Steps

  1. OPERATION: productVariants — query Inputs: first: 250, select sku, barcode, product { title }, pagination cursor Expected output: All variants with SKU and barcode values; paginate until hasNextPage: false

  2. Build in-memory map of sku → [variants] and barcode → [variants]

  3. Report all keys with more than one variant (duplicates)

  4. If include_blank: additionally flag variants where sku is null or empty string

GraphQL Operations

# productVariants:query — validated against api_version 2025-01
query VariantIdentifiers($after: String) {
  productVariants(first: 250, after: $after) {
    edges {
      node {
        id
        sku
        barcode
        title
        product {
          id
          title
          handle
          status
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Session Tracking

Claude MUST emit the following output at each stage. This is mandatory.

On start, emit:

╔══════════════════════════════════════════════╗
║  SKILL: Duplicate SKU/Barcode Detector       ║
║  Store: <store domain>                       ║
║  Started: <YYYY-MM-DD HH:MM UTC>             ║
╚══════════════════════════════════════════════╝

After each step, emit:

[N/TOTAL] <QUERY|MUTATION>  <OperationName>
          → Params: <brief summary of key inputs>
          → Result: <count or outcome>

On completion, emit:

For format: human (default):

══════════════════════════════════════════════
DUPLICATE SKU / BARCODE REPORT
  Variants scanned:      <n>
  Duplicate SKUs found:  <n> groups
  Duplicate barcodes:    <n> groups
  Blank SKUs:            <n>

  Duplicate SKU groups:
    SKU "ABC-123"  — used by 2 variants:
      Product A / Blue / L
      Product B / Navy / XL
  Output: duplicates_<date>.csv
══════════════════════════════════════════════

For format: json, emit:

{
  "skill": "duplicate-sku-barcode-detector",
  "store": "<domain>",
  "variants_scanned": 0,
  "duplicate_sku_groups": 0,
  "duplicate_barcode_groups": 0,
  "blank_skus": 0,
  "output_file": "duplicates_<date>.csv"
}

Output Format

CSV file duplicates_<YYYY-MM-DD>.csv with columns: issue_type, duplicate_value, variant_id, product_title, variant_title, sku, barcode

Error Handling

ErrorCauseRecovery
THROTTLEDAPI rate limit exceededWait 2 seconds, retry up to 3 times
No duplicates foundClean catalogExit with ✅ no issues found

Best Practices

  • Run this skill after every bulk product import — imports are the most common source of duplicate SKUs.
  • A shared SKU across products is only valid if you intentionally use the same SKU for reprints or variants — most cases are data errors.
  • Blank SKUs are not duplicates but can cause problems with 3PLs and fulfillment systems that require a SKU for every variant — use include_blank: true to surface them.
  • After identifying duplicates, use the Shopify Admin UI or the productVariantsBulkUpdate mutation to correct SKU values.

Signals

GitHub stars
187
Forks
18
Last commit
Aug 2026

ahel review

  • S4info
    community integration — published by 40rty-ai, not shopify

Automated review, not a security audit. Ruleset v1.

Advanced
Catalog kind
skill
Gateway key
shopify-admin-duplicate-sku-barcode-detector
Source
github.com/40rty-ai/shopify-admin-skills