
Shopify Admin Product Image Audit
- 7 installs
- 173 repo stars
- Updated June 26, 2026
- 40rty-ai/shopify-admin-skills
shopify-admin-product-image-audit is a Claude Code skill that flags products and variants with missing images or fewer than a minimum number of images.
About
This skill scans Shopify products and their variants for missing or insufficient images, flagging products with zero images, below a minimum count, and variants with no assigned image. Merchandisers run it after bulk product imports to catch upload failures and to find products that cannot be sold on channels requiring images. It is read-only and produces a dated CSV.
- Flags products with zero images or below a minimum image count
- Optionally flags variants with no assigned image
- Read-only; outputs a dated image-audit CSV
Shopify Admin Product Image Audit by the numbers
- 7 all-time installs (skills.sh)
- Ranked #1,587 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
shopify-admin-product-image-audit capabilities & compatibility
Free skill; requires an authenticated Shopify store session with read_products scope.
- Capabilities
- image audit · catalog audit · product image check
- Works with
- github
- Use cases
- data analysis
- Runs
- Runs locally
- Pricing
- Bring your own API key
- Requires keys
- SHOPIFYSTOREADMINAUTHVIASHOPIFYCLI
What shopify-admin-product-image-audit says it does
Scans all active products and their variants for missing or insufficient images. Flags products with zero images, variants with no assigned image, and products below a minimum image count threshold.
Products with zero images cannot be sold on most sales channels (Google Shopping, Meta, etc.) — prioritize these as urgent.
npx skills add https://github.com/40rty-ai/shopify-admin-skills --skill shopify-admin-product-image-auditAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 7 |
|---|---|
| repo stars | ★ 173 |
| Last updated | June 26, 2026 |
| Repository | 40rty-ai/shopify-admin-skills ↗ |
What it does
Audit Shopify products and variants for missing or insufficient images.
Who is it for?
Merchandisers catching image gaps after bulk imports or before selling on image-required channels.
Skip if: Uploading or fixing images; it only reads and reports the gaps.
When should I use this skill?
You need to find Shopify products or variants missing images, e.g. after a bulk import.
What you get
A dated CSV lists every product and variant missing images or below the minimum image count.
- CSV image_audit_<date>.csv with product_id, image_count, issue, variant_id, variant_has_image columns
By the numbers
- 8-column output CSV
- default min_images of 1
Files
Purpose
Scans all active products and their variants for missing or insufficient images. Flags products with zero images, variants with no assigned image, and products below a minimum image count threshold. Read-only — no mutations.
Prerequisites
- Authenticated Shopify CLI session:
shopify store auth --store <domain> --scopes read_products - API scopes:
read_products
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| store | string | yes | — | Store domain (e.g., mystore.myshopify.com) |
| min_images | integer | no | 1 | Flag products with fewer than this many images |
| check_variants | bool | no | true | Also flag variants with no assigned image |
| status_filter | string | no | active | Product status to scan: active, draft, or all |
| format | string | no | human | Output format: human or json |
Safety
ℹ️ Read-only skill — no mutations are executed. Safe to run at any time.
Workflow Steps
1. OPERATION: products — query Inputs: query: "status:<status_filter>", first: 250, select images, variants { image }, pagination cursor Expected output: Products with image counts and variant image assignments; paginate until hasNextPage: false
2. Flag products: images.count < min_images OR images.count == 0
3. If check_variants: flag variants where image is null
GraphQL Operations
# products:query — validated against api_version 2025-01
query ProductImageAudit($query: String!, $after: String) {
products(first: 250, after: $after, query: $query) {
edges {
node {
id
title
handle
status
images(first: 10) {
edges {
node {
id
url
altText
}
}
}
variants(first: 50) {
edges {
node {
id
title
sku
image {
id
url
}
}
}
}
}
}
pageInfo {
hasNextPage
endCursor
}
}
}Session Tracking
Claude MUST emit the following output at each stage. This is mandatory.
On start, emit:
╔══════════════════════════════════════════════╗
║ SKILL: Product Image Audit ║
║ 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):
══════════════════════════════════════════════
PRODUCT IMAGE AUDIT
Products scanned: <n>
Missing all images: <n>
Below min (<min_images>): <n>
Variants missing image: <n>
Products needing images:
"<title>" — 0 images
"<title>" — 1 image (below min <n>)
Output: image_audit_<date>.csv
══════════════════════════════════════════════For format: json, emit:
{
"skill": "product-image-audit",
"store": "<domain>",
"min_images": 1,
"products_scanned": 0,
"missing_all_images": 0,
"below_minimum": 0,
"variants_missing_image": 0,
"output_file": "image_audit_<date>.csv"
}Output Format
CSV file image_audit_<YYYY-MM-DD>.csv with columns: product_id, product_title, handle, image_count, issue, variant_id, variant_sku, variant_has_image
Error Handling
| Error | Cause | Recovery |
|---|---|---|
THROTTLED | API rate limit exceeded | Wait 2 seconds, retry up to 3 times |
| No products match filter | Empty catalog or wrong status filter | Exit with 0 results |
Best Practices
- Products with zero images cannot be sold on most sales channels (Google Shopping, Meta, etc.) — prioritize these as urgent.
- For apparel or products with color/size variants, set
min_images: 3to ensure at least one front, back, and lifestyle shot per product. - Run after bulk product imports to catch images that failed to upload in the import batch.
- Pair with
product-data-completeness-scorefor a single comprehensive catalog quality report.
Related skills
FAQ
Does it check variant images?
Yes, with check_variants: true (the default) it flags variants where the image is null.
Why prioritize zero-image products?
Products with zero images cannot be sold on most sales channels (Google Shopping, Meta, etc.), so those are urgent.