Nexscope Ozon product detail query: fetches the complete detail of a single Ozon product by SKU, returning title, price (RUB), rating, review count, QA count, total and daily average sales within the stats window, revenue, stock, category ranking, daily sales trend, brand, seller, fulfillment method (FBO/FBS/OZON), weight, and listing time/days/months. Use for single product deep analysis, competitor product teardown, Ozon product selection assessment, listing diagnosis, sales trend and category ranking tracking. Trigger when the user mentions Ozon product detail, Ozon single product analysis, Ozon SKU query, competitor product data, Ozon sales trend, Ozon category ranking, Ozon stock, Ozon listing time, Nexscope Ozon product search, Ozon product detail, Ozon SKU lookup, single product analysis, competitor product teardown, Ozon sales trend, category rank. Also trigger when the intent is to view detailed data of an Ozon product, even without explicitly mentioning Nexscope.
npx skills add https://github.com/nexscope-ai/nexscope-ecommerce-skills --skill ecommerce.ozon-product-detail-search
This skill fetches the full detail of a single Ozon product by its SKU from the Nexscope analytics database — title, price (₽), rating, reviews, QA count, sales (total + daily average + daily trend), revenue, stock, category rank, brand, seller, fulfillment (FBO/FBS/OZON), weight and listing age. The starting point for single-product deep analysis, competitor product teardown, listing diagnostics and sales-trend tracking.
Unit of data is a single product, looked up by sku: pass one Ozon SKU, get that product's full detail. This is a *product-level* view (one SKU), not a shop catalog, keyword or category view.
Where the SKU comes from: sku is the Ozon product SKU — the same sku returned by other Nexscope Ozon tools (shop search, keyword back search, category search, market keyword search). If the user only has a product name, URL or shop, first obtain the sku from one of those listing-level sources, then call this skill for the deep dive.
Sales window: dateRange controls the sales/metrics window — totalSales, dailySales, totalRevenue and salesTrendVOList are computed over this range. Default past_30_days. Options: past_7_days / past_30_days / past_60_days / past_90_days / past_180_days / past_365_days.
Sales & price currency: price is in Russian rubles (₽), indicated by currency. totalSales is units over the window; dailySales is the average units/day; totalRevenue is revenue over the window.
Listing age: upTime is the listing timestamp (ms); upDays / upMonths are the derived age in days / months.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| sku | string | yes | Ozon product SKU (e.g. 175924376). The same sku from other Nexscope Ozon tools. |
| dateRange | string | no | Sales/metrics window. Default past_30_days. One of: past_7_days, past_30_days, past_60_days, past_90_days, past_180_days, past_365_days. |
| uId | string | no | User ID. |
| memberId | string | no | Member ID (data attribution). |
Only sku is required.
/seerfar/ozon/productDetailSearch (full parameters/responses/error codes in references/api.md)python scripts/ozon_product_detail_search.py '<JSON params>' [--inline]Output strategy (script default behavior):
<cwd>/nexscope/<YYYY-MM-DD>/<session>/data/ecommerce.ozon-product-detail-search-<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)total/costToken, length of the largest list field + first 3 samples)--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.
For the research HTTP response, require a numeric outer code equal to 0 before using data. Nonzero codes are platform failures; display outer msg without interpreting its wording as a retry instruction. Nexscope preserves upstream messages and translates Chinese to English; successful responses may have msg: null. HTTP 200 alone and nested business code / status do not replace the platform check. See references/api.md for response paths and task-specific states.
If you encounter authentication or credit issues:
NEXSCOPE_API_KEY environment variable is not set.NEXSCOPE_API_KEY environment variable with a valid API key.1. Default 30-day detail for a product
{"sku": "175924376"}
2. Last 7 days (recent momentum)
{"sku": "175924376", "dateRange": "past_7_days"}
3. Last 90 days (quarterly trend)
{"sku": "175924376", "dateRange": "past_90_days"}
4. Full year (lifecycle view)
{"sku": "175924376", "dateRange": "past_365_days"}
sku from a listing-level Nexscope Ozon source (shop search / keyword back search / category search / market keyword search) before calling this skill.dateRange by intent: short windows (past_7_days / past_30_days) for recent momentum and current stock; long windows (past_90_days / past_180_days / past_365_days) for lifecycle, seasonality and ranking stability.totalSales / dailySales / totalRevenue / stock / categoryRanks for a snapshot, then drill into salesTrendVOList for the daily series.sku; to compare products, call once per SKU.title, sku, price (₽), reviewRating (reviewCount reviews, questionsAndAnswers Q&A), then the sales snapshot (totalSales, dailySales, totalRevenue, stock) and the window (startDate–endDate).categoryRanks is a monthly rank history ({date, rank, count}) — it has no category name, so show the category path from categoryInfo (titlePath / cnTitlePath) alongside the rank history.salesTrendVOList is a daily series ({date, sales, revenue, price, stock, reviewCount, reviewRating}) — summarize (peak day, trend direction) rather than dumping every row; offer the persisted file for the full series. Some days may have sales: 0 — treat as no-sales, not missing data.sellerName (sellerId — negative means an Ozon platform seller) and brandName (brandId) so the user can trace the seller/brand.fulfillment is an array (e.g. ["FBO"], or ["OZON"] for platform-sold items); join multiple values with /.upTime as a date (ms timestamp) alongside upDays / upMonths.weight (physical goods only) and grossMargin are schema-defined but absent for some products (e.g. digital goods / Ozon platform sellers) — show - when missing rather than failing. monthlySalesUnits / monthlySalesRevenue mirror the window's totalSales / totalRevenue and are safe to read directly.sku returns success with total:0 and empty products — tell the user the SKU may be wrong rather than reporting a system error.10. Error handling: when the numeric outer platform code is nonzero, explain from outer msg and suggest fixes (check SKU, retry on rate-limit).
sku is required; omitting it returns a parameter error.dateRange only affects sales aggregates + trend: product metadata (title, price, rating, brand, seller, weight, fulfillment) is a point-in-time snapshot, not windowed.weight (physical goods only) and grossMargin are schema-defined but not always returned — absent for digital goods / Ozon platform sellers. monthlySalesUnits / monthlySalesRevenue are returned and mirror the window's totalSales / totalRevenue.total reflects returned record count (1 when the SKU is found), not a catalog total.Applicable — deep-dive on one Ozon product:
| User Says | Scenario |
|-----------|----------|
| "View this Ozon product's detail" / "Data for this SKU" | Single product detail |
| "How many units did this competitor sell in the last 30 days" / "Average daily sales" | Sales snapshot (totalSales / dailySales) |
| "Revenue for this product" | Revenue (totalRevenue) |
| "Stock/inventory level for this product" | Stock check (stock) |
| "Category ranking for this product" | Category rank (categoryRanks) |
| "Recent sales trend for this product" / "Which day had the best sales" | Daily sales trend (salesTrendVOList) |
| "Who sells this / what brand" | Seller + brand (sellerName / brandName) |
| "How long has this product been listed" | Listing age (upDays / upMonths) |
Not applicable — needs beyond one product's detail:
Boundary judgment: if the user already has a specific Ozon SKU (or obtained one from a listing-level source) and wants that product's full metrics — sales, revenue, stock, category rank, trend, brand, seller — start here. If they want to discover products, keywords or shops, route to the corresponding Nexscope Ozon skill first.
Take nexscope-ai/ecommerce.ozon-product-detail-search from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.