{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-ai/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown","redocly_category":"Development","owner":"MB"},"seo":{"title":"AI - Skill: Check Pricing Health","description":"A reusable AI skill that runs a full audit of Norce price list configuration — catching structural problems, expiring lists, missing warehouse links, and invalid rules before they cause pricing errors in production.","keywords":"MCP, skill, pricing health, price list, audit, configuration, warnings, expiry, Claude Code"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"skill-check-pricing-health"},"children":["Skill: Check Pricing Health"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Audits the Norce pricing configuration and returns a plain-language report of issues and warnings. Wraps ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["norce_pricing_check_price_list_setup"]}," with interpretation — so instead of raw status codes, you get a clear explanation of what is wrong, why it matters, and what to do about it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Run it against all price lists for a full pre-launch audit, or target a specific price list for a focused check — for example before activating a campaign."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required MCP servers:"]}," Pricing MCP. Config MCP recommended (for application and sales area context)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Who it is for:"]}," Pricing managers running routine health checks, pre-launch validation, or investigating unexpected pricing behaviour."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-skill"},"children":["The skill"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"markdown","header":{"controls":{"copy":{}}},"source":"---\nname: check-pricing-health\ndescription: Audits Norce price list configuration and returns a plain-language report of issues, warnings, and recommended fixes. Run before launch or any significant pricing change.\n---\n\nYou are running a pricing health check on the Norce pricing configuration.\n\nApplication ID: Use the application ID from your session instructions. If no\napplication ID is available, ask the user which storefront to audit before\nproceeding.\nTarget: $ARGUMENTS\n\nDetermine the check mode based on the target:\n- If a specific price list code or ID is provided, run a full check on that\n  price list only: call norce_pricing_check_price_list_setup with that price\n  list specified and full mode enabled.\n- If no target is provided, run a full audit across all price lists:\n  call norce_pricing_check_price_list_setup in full mode.\n\nAfter receiving the results, interpret them in plain language. Do not just\nrepeat the raw output — explain what each issue means and what needs to be\ndone to fix it.\n\nClassify every finding into one of three levels:\n\n🔴 **Critical** — will cause wrong or missing prices in production. Must be\nfixed before go-live or before activating a campaign. Examples: missing\nprimary price list for an application, invalid pricing rule, expired price list\nstill assigned to a storefront.\n\n🟡 **Warning** — will not immediately break pricing but indicates a\nconfiguration risk. Should be reviewed soon. Examples: price list expiring\nwithin 30 days, population rule referencing a flag with no products assigned,\nmixed currencies within a price list hierarchy.\n\n✅ **Passed** — configuration check completed with no issues found.\n\n---\n**Pricing health report**\nRun: [full audit / specific price list: CODE]\nApplication: [storefront name]\n\n**Summary**\n- Critical issues: [N]\n- Warnings: [N]\n- Checks passed: [N]\n\n**Critical issues** (fix before go-live)\nFor each critical issue:\n- Price list: [name and code]\n- Problem: [plain-language explanation of what is wrong]\n- Impact: [what will go wrong for customers or the storefront if not fixed]\n- Fix: [specific steps to resolve it]\n\n**Warnings** (review soon)\nFor each warning:\n- Price list: [name and code]\n- Problem: [plain-language explanation]\n- Recommended action: [what to do and by when]\n\n**Passed checks**\n[Brief summary of what was validated and confirmed correct]\n\n**Next steps**\nPrioritise the critical issues and suggest a clear order to address them.\n---\n\nIf there are no critical issues and no warnings, confirm that the pricing\nconfiguration looks healthy and is ready for production use.\n","lang":"markdown"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-to-install"},"children":["How to install"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Save this skill using the filename ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["check-pricing-health"]}," and follow the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-skills-customization#installing-skills"},"children":["installation instructions"]}," for your client."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Client"},"children":["Client"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What to do"},"children":["What to do"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Claude Desktop"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SKILL.md"]}," inside a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["check-pricing-health/"]}," folder, zip it, upload via Settings → Skills"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Claude Code"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Save as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":[".claude/commands/check-pricing-health.md"]},", invoke with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/check-pricing-health"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/check-pricing-health SUMMER-2026"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["VS Code / Cursor"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Copy the skill content, replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["$ARGUMENTS"]}," with a price list code or remove the Target line for a full audit, paste into chat"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-to-customise"},"children":["What to customise"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The application ID is read from your session instructions — no placeholder to fill in. If you want this skill to always target a specific storefront regardless of your default instructions, add ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Application ID: [the ID]"]}," directly after the description block."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This skill works well without additional customisation. The check covers all structural issues automatically. The main reason to customise it is to adjust the report format or to add domain-specific context:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add a 30-day expiry window reminder."]}," If your team reviews pricing monthly, you can tighten the expiry warning: replace the default 30-day window with a shorter period by adding to the prompt: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Flag any price list expiring within 14 days as a critical issue, not a warning."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add a scheduled routine."]}," This skill pairs well with scheduling — run it every Monday morning and have the report waiting when the week begins. Ask your AI assistant to set it up: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Every Monday at 08:00, run a pricing health check and summarise any new issues."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-usage"},"children":["Example usage"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/check-pricing-health"]}]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["\"Run a full pricing health audit before we go live next Thursday.\""]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["\"Something is wrong with the Norwegian price list — run a health check on RETAIL-NO specifically.\""]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["\"Check the Summer Sale price list and confirm there are no issues before it activates on Friday.\""]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["\"Every Monday morning, run a pricing health check and send me a report of any new warnings or critical issues.\""]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related"},"children":["Related"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-skill-investigate-price"},"children":["Investigate Price"]}," — dig into a specific product's price discrepancy"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-backend-mcp-pricing-manager"},"children":["Pricing manager how-to"]}," — full workflow guide for pricing managers"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/ai/norce-pricing-mcp-tool-reference"},"children":["Pricing MCP tool reference"]}]}]}]},"headings":[{"value":"Skill: Check Pricing Health","id":"skill-check-pricing-health","depth":1},{"value":"The skill","id":"the-skill","depth":2},{"value":"How to install","id":"how-to-install","depth":2},{"value":"What to customise","id":"what-to-customise","depth":2},{"value":"Example usage","id":"example-usage","depth":2},{"value":"Related","id":"related","depth":2}],"frontmatter":{"seo":{"title":"AI - Skill: Check Pricing Health","description":"A reusable AI skill that runs a full audit of Norce price list configuration — catching structural problems, expiring lists, missing warehouse links, and invalid rules before they cause pricing errors in production.","keywords":"MCP, skill, pricing health, price list, audit, configuration, warnings, expiry, Claude Code"},"metadata":{"redocly_category":"Development","owner":"MB"}},"lastModified":"2026-09-16T06:55:22.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/ai/norce-backend-mcp-skill-check-pricing-health","userData":{"isAuthenticated":false,"teams":["anonymous"]}}