Last updated

Skill: Find Incomplete Products

Scans the Norce product catalogue for products that are missing required data — no primary category, active but not published, missing required parametric values, or no images. Returns a deduplicated, prioritised list showing which products have the most gaps, so you know where to focus enrichment work.

When given a category scope, the skill automatically expands to include all subcategories and only counts primary category assignments. Required parametrics are discovered dynamically from the category configuration — no hardcoded IDs needed.

This is the complement to Check Product Readiness: that skill checks a specific list of SKUs in depth; this skill finds the SKUs that need attention across your whole catalogue or a specific category.

Required MCP server: Product MCP

Who it is for: PIM managers running data quality sweeps, pre-launch validation, or ongoing catalogue maintenance.


The skill

---
name: find-incomplete-products
description: Scans the Norce product catalogue for products missing required data — primary category, publication flags, required parametrics, or images. Expands category scope to include all subcategories and discovers required parametrics dynamically from category configuration.
---

You are scanning the Norce product catalogue for incomplete products.

Application ID: Use the application ID from your session instructions. If no
application ID is available, ask the user which storefront to scan before
proceeding.
Scope: $ARGUMENTS

Publication flag configuration — choose one option and remove the other:

Option A — Flag group (recommended): the skill looks up all flags in the group
at runtime. Add new markets by adding their published flag to this group in
Norce Admin — no skill update needed.
  Publication flag group ID: [PUBLISHED_FLAG_GROUP_ID]

Option B — Explicit flag IDs: list each published flag directly.
  Publication flag IDs:
  - [PUBLISHED_FLAG_ID_1]
  - [PUBLISHED_FLAG_ID_2]

**Step 0 — Resolve scope, publication flags, and required parametrics**

Before running any checks, complete the following:

1. **Resolve publication flags.**
   - If a flag group ID is configured (Option A), call norce_product_list_flags
     and collect all active flag IDs that belong to that group. Use this list
     for Check 2.
   - If explicit flag IDs are configured (Option B), use those directly.

2. **Resolve the category scope.**
   - If no scope is provided, the scan covers the full active catalogue. Skip
     to Step 1.
   - If a category name or ID is provided, call norce_product_list_categories
     to find that category and all its subcategories. Collect every category ID
     in the subtree. All checks below (except Check 1) will be scoped to
     products whose **primary category** is one of these IDs.

3. **Discover required parametrics.**
   For each in-scope category, call norce_product_get_category to retrieve its
   parametric assignments. Collect all parametrics where IsRequired is true,
   including any that are globally required across all categories. Deduplicate
   by parametric ID. This list drives Check 3 — no hardcoded IDs are needed.
   If no required parametrics are found, note this and skip Check 3.

Run the following checks using norce_product_lookup_products. For each check,
retrieve the PartNo, product name, and primary category of matching products.
Run all checks in parallel before compiling the report.

**Check 1 — Missing primary category**
Use filter: Product/PrimaryCategory eq null
This check always runs against the full catalogue — products with no primary
category cannot be scoped by category.

**Check 2 — Active but not published**
Find active products that have none of the configured publication flags active.
Build the filter dynamically from the publication flag IDs above:
Product/IsActive eq true and not Product/Flags/any(f: f/IsActive eq true and
(f/FlagId eq [ID_1] or f/FlagId eq [ID_2] or ...))
Apply the category scope: primary category must be in the resolved category set.

**Check 3 — Missing required parametrics**
For each required parametric discovered in Step 0, find in-scope products where
that parametric has no value assigned. Run one lookup per parametric.

**Check 4 — No active images**
Use filter: not Product/Files/any(f: f/IsActive eq true)
Apply the category scope.

After all checks are complete, compile a single deduplicated report. Each
product should appear only once, with all its issues listed together.

---
**Incomplete products — summary**
- Scope: [full catalogue / category name including N subcategories]
- Required parametrics checked: [list names, or "none found for this scope"]
- Products with at least one issue: [N]
- Missing primary category: [N] (full catalogue)
- Active but not published: [N]
- Missing required parametrics: [N per parametric name]
- No images: [N]

**Product list** (sorted by number of issues, most gaps first)

| PartNo | Name | Primary Category | Issues |
|---|---|---|---|
| ... | ... | ... | ... |

**Recommended focus**
Identify the most common issue type and suggest what to fix first to unblock
the most products.
---

If the results are very large (more than 50 products with issues), summarise
by category and ask whether the user wants to drill into a specific category
or issue type before listing individual products.

How to install

Save this skill using the filename find-incomplete-products and follow the installation instructions for your client.

ClientWhat to do
Claude DesktopCreate SKILL.md inside a find-incomplete-products/ folder, zip it, upload via Settings → Skills
Claude CodeSave as .claude/commands/find-incomplete-products.md, invoke with /find-incomplete-products or /find-incomplete-products Connectors
VS Code / CursorCopy the skill content, replace $ARGUMENTS with a category name/ID or remove the Scope line for a full scan, paste into chat

What to customise

Only two things need to be configured before this skill is ready to run.

PlaceholderReplace with
[PUBLISHED_FLAG_GROUP_ID](Option A — recommended) The ID of the flag group that contains all your published flags. Use norce_product_list_flags to find the group. New markets just need their flag added to this group in Norce Admin — no skill update required.
[PUBLISHED_FLAG_ID_1], [PUBLISHED_FLAG_ID_2](Option B) Individual flag IDs if your published flags are not in a shared group. Add one line per flag.

Remove whichever option you are not using.

Required parametrics are discovered automatically from the category configuration — no hardcoded IDs needed. The skill calls norce_product_get_category on the in-scope categories and uses whatever parametrics are marked IsRequired = true.

Remove checks that do not apply. If your environment does not require images on all products, remove Check 4. The skill works with any subset of checks.


Example usage

/find-incomplete-products

"Find all products that are active but not published."

"Scan the Lighting category for missing data and tell me what needs to be fixed before we can launch."

"Run a data quality sweep across the full catalogue and group the results by category so I can see where the gaps are concentrated."