mcpbeat Sign in

Ecommerce Ozon Seller Products Skill for Claude

Nexscope Ozon Russia seller drill-down product list by seller ID. Returns all SKUs under a seller with complete metrics: sales, revenue, price, rating, stock, turnover, lost revenue, supporting multi-dimensional numeric filters, sorting, and currency conversion. Use for store structure analysis, seller bestseller analysis, competitor store benchmarking. Trigger when the user mentions Ozon seller products, Ozon store analysis, Ozon seller drill-down, Ozon seller SKUs, Ozon store bestsellers, Ozon competitor store, Nexscope seller, Ozon seller drill-down, Ozon shop audit, Russian marketplace seller SKUs, Ozon store structure. Also trigger when the intent is to view all products and their sales performance under an Ozon seller ID, even without explicitly mentioning Nexscope.

2.1k tokens
context cost
SKILL.md, read when the skill is used
4
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
101
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/nexscope-ai/nexscope-ecommerce-skills --skill ecommerce.ozon-seller-products

What comes with it

14 989 bytes besides the instruction
manifest.json
references/api.md
scripts/ozon_seller_products.py

The instruction itself

12 sections, as written by the author

Nexscope Ozon Seller Products

This skill drills into all Ozon (Russia) products sold by a given seller, returning per-SKU sales, revenue, price, rating, stock, turnover, lost profit, and more. Designed for store-structure audits, bestseller dissection within a shop, and head-to-head competitor-store comparison.

Core Concepts

Seller ID, not name: sellerId must be a numeric string — the sellerId field Ozon / Nexscope uses to identify a shop. Do not pass a brand name, category path, or human-readable seller name. If you only have the seller name, resolve the ID via ecommerce.ozon-product-search (seller-filtered) and read sellerId from the result.

Filters & ops: Same AND-combined numeric filter model as brand-products and category-products. See Filter Reference.

Currency: Default RUB; override with currency / currencyRate for USD / EUR / CNY views.

FBO / FBS: includeFbs: true folds FBS into the numbers; false keeps FBO-only.

Parameters

| Parameter | Type | Required | Description |

|-----------|------|----------|-------------|

| sellerId | string | yes | Ozon seller ID as numeric string, e.g. "3628678" |

| startDate | string | no | Stats window start, YYYY-MM-DD; latest = yesterday |

| endDate | string | no | Stats window end, YYYY-MM-DD; latest = yesterday |

| page | integer | no | Page number, starts at 1 |

| pageSize | integer | no | Rows per page, 1-100, default 100 |

| sortField | string | no | snake_case column (sales, revenue, ...) |

| sortDirection | string | no | asc / desc |

| currency | string | no | Currency code, default RUB |

| currencyRate | integer | no | Custom rate for non-default currency |

| includeFbs | boolean | no | Include FBS data |

| filters | array | no | Numeric filter list |

Filter Reference

Each filters entry: {"field": "<snake_case>", "op": "<OP>", "value": <num>, "value2": <num?>}.

Common fields: sales, final_price, rating, comments, balance, revenue, days_in_stock, turnover_days, lost_profit, category_position.

Operators: GTE, LTE, GT, LT, EQ, NOT_EQ, BETWEEN (requires value2).

Calling the Tool

  • API Endpoint: /mpstats/ozon/sellerProducts (full parameters/responses/error codes in references/api.md)
  • Python Script: python scripts/ozon_seller_products.py '<JSON params>' [--inline]
  • Cost constraint: This tool consumes credits. Within the same session and same parameter combination, it defaults to a single call with a 24-hour local cache. Do not automatically retry with different keywords, pagination, or parameters on failure/empty results. Inform the user of additional credit consumption before continuing retrieval.

Output strategy (script default behavior):

  • Always write the full response to <cwd>/nexscope/<YYYY-MM-DD>/<session>/data/ecommerce.ozon-seller-products-<timestamp>.json (<cwd> is the working directory when the script executes, which in Claude Code is the current project directory; <session> is taken from the SESSION_ID environment variable, automatically grouped by user task; do not write to /tmp; error if the current directory is not writable)
  • Response body <= 8 KB: write to disk then print full JSON to stdout
  • Response body > 8 KB: write to disk then print only a summary to stdout (top-level fields, common counts like total/costToken, length of the largest list field + first 3 samples)
  • Add --inline to force full output to stdout (still writes to disk)

Reading data: Check the summary first to determine if it is sufficient. When specific fields are needed, use jq or ConvertFrom-Json to extract from the saved JSON file as needed, avoiding loading the entire JSON into context.

Authentication & Credits

If you encounter authentication or credit issues:

Error conditions

  • API Key not configured: The NEXSCOPE_API_KEY environment variable is not set.
  • HTTP 401 or 402 status code
  • Insufficient credits/balance: Response message indicates credit balance exhausted, quota exceeded, subscription expired, or recharge required.

Resolution steps

  • Set the NEXSCOPE_API_KEY environment variable with a valid API key.
  • If credits are insufficient, visit https://www.nexscope.ai/pricing?co-from=skillNS to top up your balance.
  • For onboarding and setup guidance, refer to https://www.nexscope.ai/help/skills-external-access?co-from=skillNS

Usage Examples

1. Seller's top-100 by sales

{
  "sellerId": "3628678",
  "sortField": "sales",
  "sortDirection": "desc",
  "pageSize": 100
}

2. Store's revenue top-20

{
  "sellerId": "3628678",
  "sortField": "revenue",
  "sortDirection": "desc",
  "pageSize": 20
}

3. High-turnover star products

{
  "sellerId": "3628678",
  "filters": [
    {"field": "sales", "op": "GTE", "value": 30},
    {"field": "turnover_days", "op": "LTE", "value": 20}
  ],
  "sortField": "revenue",
  "sortDirection": "desc"
}

4. Stockout pain points for the store

{
  "sellerId": "3628678",
  "filters": [{"field": "lost_profit", "op": "GTE", "value": 100000}],
  "sortField": "lost_profit",
  "sortDirection": "desc"
}

5. USD-converted store audit

{
  "sellerId": "3628678",
  "currency": "USD",
  "sortField": "revenue",
  "sortDirection": "desc"
}

Display Rules

  • Compact store table — key columns: productId, title, brand, price, monthlySalesUnits, monthlySalesRevenue, rating, balance, turnoverDays, lostProfit, position.
  • Revenue share = within this seller query — 0-100%; clarify the base.
  • Russian titles — preserve; translate on user request.
  • Currency labeling — if converted, note "converted to USD".
  • Pagination — for stores with thousands of SKUs, suggest tighter filters before paging deep.
  • No buying advice — the skill shows the store's book, not whether their SKUs are worth copying.

Important Limitations

  • Numeric seller ID only — passing a seller name will not resolve; go through ecommerce.ozon-product-search first.
  • Page cap — max 100 rows per page.
  • T-1 data — endDate cannot be today or a future date.
  • No business advice — data-only.
  • Ozon-only — Wildberries / other Russian marketplaces are separate.

User Expression & Scenario Quick Reference

Applicable — Seller-scoped Ozon product metrics:

| User Says | Scenario |

|-----------|----------|

| "Show me everything seller 3628678 sells, by sales" | Store SKU map |

| "What are this Ozon store's top revenue products" | Store bestseller drill |

| "How many SKUs does the store have with turnover <20 days" | Operational health filter |

| "Where is this store losing money to stockouts" | Lost-profit scan |

| "Compare two Ozon stores' SKU counts and sales" | Store-vs-store benchmarking (call twice) |

Not applicable — Needs beyond seller drill-down:

  • Only seller name known → use ecommerce.ozon-product-search to resolve the ID
  • Brand-scoped drill → ecommerce.ozon-brand-products
  • Category-scoped drill → ecommerce.ozon-category-products
  • Single-SKU time-series → ecommerce.ozon-product-trend
  • Wildberries / other Russian marketplaces → not covered

Boundary judgment: Use this skill when the dimension is a specific seller and you want the per-SKU table under that shop. For "who are the top sellers in category X" you'd use category drill-down and group by seller client-side.

How to use it

Copy the folder

Take nexscope-ai/ecommerce.ozon-seller-products from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.