Skill: Investigate Price
Given a SKU PartNo, compares the lowest raw price from the storefront's active public price lists with the storefront preview price, then explains any discrepancy in plain language — identifying whether the problem is in the imported data, a price list rule, VAT configuration, rounding, or propagation lag.
Required MCP servers: Pricing MCP and Config MCP.
Who it is for: Pricing managers investigating a reported price problem, or verifying that an import landed correctly.
The skill
---
name: investigate-price
description: Compares the lowest raw price from the storefront's active public price lists with the storefront preview for a Norce SKU. Explains any discrepancy — identifying whether the problem is in the data, business logic, VAT, rounding, or propagation lag.
---
You are investigating a potential price problem for a Norce SKU.
Application ID: Use the application ID from your session instructions. If no
application ID is available, ask the user which storefront to investigate before
proceeding.
SKU to investigate: $ARGUMENTS
If no SKU is provided, ask the user for the PartNo before proceeding.
**Step 0 — Resolve application context**
Run the following two lookups in parallel before checking prices:
1. **Primary currency** — call norce_config_get_application_overview for the
application ID. Retrieve the primary currency for this application. Use this
currency for all price calls below.
2. **Public price lists** — call norce_pricing_list_price_lists filtered to this
application. Collect the codes of all active, public price lists assigned to
the application. These are the price lists a storefront customer is exposed to.
**Step 1 — Gather prices**
Run the following two calls in parallel:
1. **Raw stored prices** — call norce_pricing_get_sku_prices for this PartNo,
filtered to the public price lists identified in Step 0. Retrieve all active
prices across those lists. Identify the lowest active price and which price
list it comes from.
2. **Storefront preview** — call norce_pricing_preview_prices for this PartNo
with the application ID and primary currency from Step 0. Retrieve the
calculated price shown to a customer, including VAT breakdown and any rule
adjustments.
**Step 2 — Diagnose**
Compare the lowest raw price from the public price lists with the storefront
preview price and produce a diagnosis:
---
**Price investigation — [PartNo]**
Application: [storefront name]
Currency: [currency code — from application config]
Investigated: [timestamp]
**Raw price (public price lists)**
- Lowest active price (ex. VAT): [amount] [currency]
- Price list: [code and name]
- Other active public prices: [list any additional public price list prices]
- Last updated: [date]
**Storefront preview price**
- Price shown to customer (inc. VAT): [amount] [currency]
- Price ex. VAT: [amount] [currency]
- VAT rate applied: [%]
- Price list rule adjustment: [description or "None"]
- Rounding applied: [yes/no, rounding rule name]
**Diagnosis**
Are the prices consistent? State clearly whether the price looks correct or
whether a discrepancy exists.
If a discrepancy exists, identify which of the following is the most likely
cause and explain it:
- **Data problem** — the wrong price is stored (e.g. import error, wrong
price list code)
- **Price list rule** — a rule is applying an unintended discount or markup
- **VAT misconfiguration** — the VAT rate applied does not match what is
expected for this product or sales area
- **Rounding** — rounding rules are producing an unexpected result
- **Propagation lag** — the import completed recently and the storefront
preview may not yet reflect the new price (wait and check again)
- **Wrong application** — the storefront is using a different price list than
expected for this application
**Recommended action**
State clearly what needs to be investigated or fixed, and which team or
system owns the fix.
---
If the user provides multiple PartNos, investigate each one separately and
produce a summary table at the end showing which SKUs have discrepancies.
If the user asks to compare prices across two storefronts, run Step 0 for
each application to get its primary currency and public price lists, then
run Step 1 for each. Pass the same currency ID to both preview calls so the
Pricing MCP converts using Norce's stored exchange rate. Small differences
caused by rounding in the target currency are expected and should not be
flagged as errors unless the difference exceeds what rounding would explain.How to install
Save this skill using the filename investigate-price and follow the installation instructions for your client.
| Client | What to do |
|---|---|
| Claude Desktop | Create SKILL.md inside an investigate-price/ folder, zip it, upload via Settings → Skills |
| Claude Code | Save as .claude/commands/investigate-price.md, invoke with /investigate-price AB-1042 |
| VS Code / Cursor | Copy the skill content, replace $ARGUMENTS with the PartNo to investigate, paste into chat |
What to customise
This skill has no placeholders to fill in before use. The application ID comes from your session instructions, and the primary currency is discovered at runtime from the application configuration.
If you want this skill to always target a specific storefront regardless of your default instructions, add Application ID: [the ID] directly after the description block.
Multiple storefronts. If you work across more than one storefront, you can extend the skill to compare prices across applications by default. Add a second application ID and instruction: Also investigate the price on application [SECOND_APPLICATION_ID] and compare the two storefronts side by side. The skill will run Step 0 for each application to get its own primary currency and public price lists.
Cross-currency comparison. When comparing prices across storefronts in different currencies, the skill passes the same currency to both preview calls. The Pricing MCP uses Norce's stored exchange rate to convert — this is the correct rate to use, not a live market rate.
Example usage
/investigate-price AB-1042
"Product AB-2201 is showing the wrong price on the Swedish storefront — investigate."
"These 5 SKUs were in last night's price import but customers are still seeing old prices: AB-1042 AB-1043 AB-1044 AB-1045 AB-1046. Check each one."
"Compare the price for AB-1042 on the Swedish and Norwegian storefronts and tell me if the difference is larger than rounding."
Related
- Check Pricing Health — audit the full price list configuration
- Pricing manager how-to — full workflow guide for pricing managers
- Pricing MCP tool reference