Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
40rty-ai avatar

Shopify Admin Cogs Completeness Audit

  • 2 installs
  • 173 repo stars
  • Updated June 26, 2026
  • 40rty-ai/shopify-admin-skills

shopify-admin-cogs-completeness-audit is a Claude Code skill that finds Shopify products and variants missing inventoryItem.unitCost so margin and inventory-valuation reports stay accurate.

About

This skill scans every product variant in a Shopify catalog and flags those whose inventoryItem.unitCost is missing or zero. Missing cost data silently corrupts margin, pricing, and inventory-valuation reports, so merchants run it to find gaps before those reports mislead. It is read-only and exports a CSV of affected variants grouped by vendor.

  • Scans every variant for a missing or zero inventoryItem.unitCost
  • Surfaces the catalog value at risk so margin reports stay accurate
  • Read-only; exports a CSV of variants missing cost, ranked by vendor

Shopify Admin Cogs Completeness Audit by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #1,839 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 1, 2026 (Skillselion catalog sync)
At a glance

shopify-admin-cogs-completeness-audit capabilities & compatibility

Free skill; requires an authenticated Shopify store session with read_products and read_inventory scopes.

Capabilities
cost data audit · margin integrity check · catalog audit · csv export
Works with
stripe
Use cases
data analysis
Pricing
Bring your own API key
From the docs

What shopify-admin-cogs-completeness-audit says it does

Read-only: identifies products and variants that are missing inventoryItem.unitCost so margin and inventory valuation reports stay accurate.
SKILL.md
a single missing cost silently corrupts every downstream calculation. Read-only — no mutations.
SKILL.md
npx skills add https://github.com/40rty-ai/shopify-admin-skills --skill shopify-admin-cogs-completeness-audit

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
repo stars173
Last updatedJune 26, 2026
Repository40rty-ai/shopify-admin-skills

What it does

Audit a Shopify catalog for variants missing unit cost so margin and inventory-valuation reports stay accurate.

Who is it for?

Merchants who want to guarantee every variant has a unit cost before trusting margin or profit reports.

Skip if: Setting or fixing the missing costs; it only reports gaps and leaves remediation to a separate workflow.

When should I use this skill?

You suspect margin or inventory-valuation reports are wrong because some variants are missing cost data.

What you get

A CSV lists each variant missing or with zero unit cost, plus the catalog value at risk by vendor.

  • CSV cogs_audit_<date>.csv listing variants missing unit cost
  • count and percent of catalog affected
  • catalog value at risk

By the numbers

  • queries variants 250 per request
  • batches inventoryItem lookups <=100 per request
  • default only_stocked true (inventoryQuantity > 0)

Files

SKILL.mdMarkdownGitHub ↗

Purpose

Scans every variant in the catalog and surfaces those whose inventoryItem.unitCost is missing or zero. Cost of goods sold (COGS) is the foundation for margin reporting, profit-based pricing decisions, and inventory valuation — a single missing cost silently corrupts every downstream calculation. Read-only — no mutations.

Prerequisites

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

Parameters

ParameterTypeRequiredDefaultDescription
storestringyesStore domain (e.g., mystore.myshopify.com)
status_filterstringnoACTIVEVariant product status to audit: ACTIVE, DRAFT, ARCHIVED, or ALL
vendor_filterstringnoOptional vendor to scope the audit
include_zero_costboolnotrueTreat unitCost = 0 as missing (recommended; zero cost is rarely intentional)
only_stockedboolnotrueLimit to variants with inventoryQuantity > 0
formatstringnohumanOutput format: human or json

Safety

ℹ️ Read-only skill — no mutations are executed. Safe to run at any time. The skill flags missing data; remediation should happen through a follow-up workflow that you control.

Workflow Steps

1. OPERATION: productVariants — query Inputs: first: 250, query: <built from status_filter and vendor_filter>, select sku, price, inventoryQuantity, inventoryItem { id }, product { title, vendor, status, productType }, pagination cursor Expected output: All matching variants; paginate until hasNextPage: false

2. OPERATION: inventoryItems — query Inputs: Batched inventoryItemIds (≤100 per request) Expected output: unitCost { amount, currencyCode }, tracked

3. Filter to variants where unitCost == null or unitCost.amount == 0 (when include_zero_cost: true). Compute potential margin gap as price - 0 = price for the missing-cost variants — this is the fictional margin downstream reports will show.

4. Summarize: count missing, % of catalog, total stock-value impact (sum of inventoryQuantity * price across missing rows since you cannot value them on cost).

GraphQL Operations

# productVariants:query — validated against api_version 2025-01
query VariantsForCogsAudit($query: String, $after: String) {
  productVariants(first: 250, after: $after, query: $query) {
    edges {
      node {
        id
        sku
        title
        price
        inventoryQuantity
        product {
          id
          title
          vendor
          status
          productType
        }
        inventoryItem {
          id
        }
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}
# inventoryItems:query — validated against api_version 2025-01
query InventoryItemCosts($ids: [ID!]!) {
  nodes(ids: $ids) {
    ... on InventoryItem {
      id
      tracked
      sku
      unitCost {
        amount
        currencyCode
      }
    }
  }
}

Session Tracking

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

On start, emit:

╔══════════════════════════════════════════════╗
║  SKILL: COGS Completeness 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):

══════════════════════════════════════════════
COGS COMPLETENESS AUDIT
  Variants audited:        <n>
  Missing unit cost:       <n>  (<pct>%)
  Stocked + missing cost:  <n>
  Catalog value at risk:   $<amount> (priced, not costed)

  Top vendors by missing variants:
    <vendor>  Missing: <n>  Stocked: <n>
  Output: cogs_audit_<date>.csv
══════════════════════════════════════════════

For format: json, emit:

{
  "skill": "cogs-completeness-audit",
  "store": "<domain>",
  "variants_audited": 0,
  "missing_cost": 0,
  "missing_cost_pct": 0,
  "stocked_missing": 0,
  "value_at_risk": 0,
  "currency": "USD",
  "output_file": "cogs_audit_<date>.csv"
}

Output Format

CSV file cogs_audit_<YYYY-MM-DD>.csv with columns: variant_id, inventory_item_id, sku, product_title, vendor, product_status, price, unit_cost, inventory_quantity, value_at_price, currency

Error Handling

ErrorCauseRecovery
THROTTLEDAPI rate limit exceededWait 2 seconds, retry up to 3 times
inventoryItem is nullVariant has no inventory item (rare)Skip, note in error count
unitCost.currencyCode differs from store currencyMulti-currency cost captureTreat as present; do not flag, surface currency mismatch separately
All variants have costsHealthy catalogExit with summary: 0 missing, 100% complete

Best Practices

  • Run monthly; whenever new vendors or product lines are onboarded, run on day one of activation to catch missing costs before margin reports are trusted.
  • Filter by vendor_filter to assign remediation work to the buyer responsible for that vendor's data.
  • Pair with inventory-valuation-report — that report will silently treat missing-cost SKUs as worthless inventory unless this audit is clean.
  • Treat unitCost = 0 as missing by default. Genuine zero-cost SKUs (free samples, GWP) are rare; tag those with a zero-cost-intentional product tag and exclude them from the audit via vendor_filter or downstream filtering.
  • Use the CSV as a worklist: hand it to the merchandising team for cost capture, then re-run weekly until the missing count is zero.

Related skills

FAQ

Does it fill in the missing costs?

No. It is read-only and only flags variants with missing or zero unit cost; remediation happens through a follow-up workflow you control.

Does it treat a zero cost as missing?

Yes, by default (include_zero_cost:true), because a zero unit cost is rarely intentional.

Automation & Workflowsecommercefinance

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.