Single-Product Analysis
SkillMediaAnalyzes one product and its competitors on JoomPulse — Mercado Livre (Brasil) or Shopee Brasil. From a marketplace link, a JoomPulse link, a photo, or a row of data, it returns a card for the subject product plus a ranked table of comparable items, each with price, estimated monthly sales and revenue, rating and reviews; on Mercado Livre also logistics and catalog / buy-box status, which do not exist on Shopee. Triggers: "analyze this product", "how much does this sell", "find similar products", "find competing products"; pt-BR "analisar este produto", "quanto vende esse produto", "produtos parecidos", "produtos concorrentes", "análise por foto", "analisar este produto da Shopee", "quanto vende esse produto na Shopee", "concorrentes na Shopee". Ask which marketplace when unclear; never mix the two. Sales and revenue are JoomPulse estimates, not real transactions; price, rating and reviews are real. For which products to add across a whole catalog, use the gap-analysis skill.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Single-Product Analysis skill
What this skill tells your AI
The instructions your AI receives, as published by joomcode/joompulse-skills in skills/ml-product-analysis/SKILL.md and read by ahel’s review.
This skill analyzes one product and the products that compete with it, on Mercado Livre (Brasil) or Shopee Brasil, using JoomPulse market data. Given a single product — by a marketplace link, a JoomPulse link, a photo, or a row of data — it identifies the product, finds comparable listings, and returns a product card for the subject plus a ranked table of analogs. For each one it shows price, estimated monthly sales and revenue, rating and reviews; on Mercado Livre also logistics and catalog / buy-box status. Shopee has no catalogue and no buy-box, so that part of the analysis is omitted there, not left blank.
This is different from whole-catalog assortment analysis. If the user wants to know which new products to add to their store, hand off to the gap-analysis skill. This skill works on a single product the seller already has in hand.
Prerequisites
- JoomPulse MCP access is configured for the current agent environment.
- The user provides a marketplace — Mercado Livre (Brasil) or Shopee Brasil — and
one product on it: a marketplace link, a JoomPulse link, a product photo, or a
row of data (a
.csv/.xlsxfile, a pasted table, or typed fields). - The available JoomPulse tools can look up product market data on either marketplace and find comparable listings. The ways of finding comparables differ: on Mercado Livre by image, by meaning, by category and by keyword; on Shopee only by category and by title text.
If JoomPulse MCP access is unavailable, stop and explain that the skill requires JoomPulse MCP setup before it can analyze a product or find competitors.
Scope
- Mercado Livre (Brasil) and Shopee Brasil, one at a time. Other marketplaces are out of scope.
- Sales and revenue are JoomPulse estimates — not real transactions. Disclose this in every output. By contrast, price, rating, and review count are real history from the marketplace — say so. The estimates are built differently on each marketplace: on Mercado Livre from historical listing data, on Shopee from the marketplace's own rounded sold counters refined with review movement. Use the matching disclaimer.
- Prices are marketplace prices only. Do not surface sourcing prices, margins, or profit figures.
- Read-only. The skill does not sign in as the seller or modify any listing.
- Language: detect the seller's language and respond in it. Default to pt-BR.
- Keep the workflow invisible. The seller wants the answer, not a play-by- play. Do the analysis quietly and present only the result. If one approach to finding the product or its competitors does not work, switch to another silently; only if every approach fails do you say one short, friendly sentence.
Shopee data — what differs from Mercado Livre
- Estimates come from Shopee's own rounded sold counters, refined with review movement. Treat small gaps between items as noise and never rank on a difference of a few units. Price, rating and review count are real.
- Coverage is not a census: only items with at least one lifetime sale are tracked, so any count is a lower bound and an absent item is not evidence it does not sell.
- History starts May 2026 — there is no long-run trend and no seasonal read.
- Category analytics stop at three levels; the item view reaches deeper. Say which you used.
- No seller medals — Shopee has three mutually exclusive shop tiers: Official store, Preferred (Indicado) and Common. There is no ladder; inventing Shopee medals is fabrication.
- No catalogue and no buy-box, and an item belongs to one shop.
- No fulfilment programme, no free-shipping flag and no listing tier — show
—rather than guessing. - Concentration is measured differently and thresholds do not transfer between marketplaces.
- Item titles mix Portuguese, English and Chinese — search both languages.
Workflow
Step 0 — Decide the marketplace
JoomPulse covers two separate marketplaces: Mercado Livre (Brasil) and Shopee Brasil. They are independent datasets with different coverage, history and mechanics. Decide which one the request belongs to before reading any data:
- The seller said so. "Shopee" means Shopee; "Mercado Livre", "MeLi" or "ML" means Mercado Livre.
- An identifier gives it away. An identifier beginning
MLBis Mercado Livre; a bare 10–11 digit number is a Shopee item or shop. Amercadolivre.com.brlink is Mercado Livre, ashopee.com.brlink is Shopee. If an identifier is not found on the marketplace you assumed, check the other one before telling the seller it does not exist. - The request only makes sense on one of them — buy-box, catalogue position, seller medals, a fulfilment programme or search keywords are Mercado Livre only.
- Otherwise ask — one short question, mentioning that both are available. Never guess and never default.
Never mix data from the two marketplaces in one query, one table or one total. They are separate pipelines with different grains and estimate methods; a combined figure is simply wrong. If the seller wants both, run the analysis twice and report the two side by side, comparing direction and orders of magnitude — never exact numbers.
Step 1 — Route the input to one subject product
Resolve the input to a single normalized subject product, then find analogs. The first matching rule wins:
- A photo → Photo route.
- A
.csv/.xlsxfile, a pasted table, or typed fields → Tabular route. - A Mercado Livre link → MLB route.
- A Shopee item link → Shopee route.
- A JoomPulse product link → JoomPulse route. These exist for Mercado Livre only; Shopee items have no JoomPulse product page.
- A JoomPulse store link → this is a whole store, not one product. Ask for a specific product link or a product title; whole-store analysis belongs to the gap-analysis skill.
- Any other link (a different marketplace, a generic web page) → do not scrape it. Explain that only Mercado Livre, Shopee and JoomPulse links can be resolved directly, and ask the seller to paste the product name or upload a photo → Keyword route.
- Plain text (a product name or keywords) → Keyword route.
Every route converges on one normalized subject product plus a set of candidate analogs.
MLB route
- Extract the product identifier from the link, noting whether it is a catalog product or an individual listing.
- Look up the canonical title, category, and attributes for that identifier when available. If the lookup is unavailable for that listing, continue with the JoomPulse market data instead.
- Fetch JoomPulse market data for the subject. For a catalog product, several competing listings may come back; pick the representative one (the strongest seller / buy-box winner) for the card and read competition from the number of buy-box sellers and total sellers. This step is Mercado Livre only — it has no counterpart on Shopee.
- Build the subject from that data, then find analogs.
Shopee route
- A Shopee product link carries two bare numeric identifiers — the shop and
the item — with no
MLB-style prefix and no catalogue-versus-listing distinction, because an item belongs to a single shop. Read both out of the link. - Fetch the item's Shopee market data: title, category path, brand, current price and the lowest price seen since May 2026, estimated sales and revenue over the last 30 days, the item's lifetime monthly average and the direction flag comparing the two, rating, review count, favourites, whether it ships cross-border, how many photos it has, and the shop with its tier.
- Check how recently the item was last seen before presenting it as live.
- Build the subject from that data, then find analogs. Skip catalogue and buy-box work entirely — Shopee has neither, so catalogue status, a buy-box winner, a buy-box price and a seller count are meaningless there. Omit those lines instead of leaving them empty.
JoomPulse route
Look up the product directly in JoomPulse by its identifier, optionally enriching the title and attributes from the canonical product lookup, then find analogs. This route is Mercado Livre only.
Photo route
On Mercado Livre, image-based matching is primary and visual inspection is the fallback. On Shopee there is no image search at all, so the photo route there is always the fallback: read the picture yourself and search by what you see. Accept common image formats, including phone formats such as HEIC/HEIF. Always tell the seller the results are visually similar — not a guaranteed exact match.
- On Mercado Livre, use the available JoomPulse image-based product search to find similar listings from the photo. Alongside the matches, this search can return a quick opportunity summary — an overall verdict on whether the product is worth selling, the number of matching listings, and aggregate market stats. For a fast answer you can present that summary directly (still labeled as a visual match); otherwise carry the matched listings into the analog pipeline below.
- If image search is unavailable or returns nothing — and always on Shopee — inspect the photo yourself: note the product type, brand and model if legible, color, material, and key attributes. Turn that into search terms and run the Keyword route. Label the subject card as the best visual match, not an exact match.
Tabular route
Normalize the rows into product records (handle pt-BR column headers and
R$ 1.234,56-style prices). For each row: an MLB-style identifier takes the MLB
route, a bare numeric shop-and-item pair takes the Shopee route, and otherwise its
title drives the Keyword route. One row yields one subject. For several rows,
analyze each — cap at a small number and say so when you do. All rows in one run
must belong to the same marketplace.
Keyword route
Build a clean search query from the title or photo description, plus a broadened fallback query. On Shopee, titles mix Portuguese, English and Chinese, so prepare short terms in both languages instead of one long phrase.
Step 2 — Find analogs
Both the keyword and photo paths feed the same analog pipeline:
- Search for candidates.
- Mercado Livre: use JoomPulse search by meaning to find listings similar to the subject, keeping the closest matches. Query in pt-BR first and English second. If recall is too low, retry once with the broadened query. For the photo route, the image-search results play this role.
- Shopee: there is no image search and no search by meaning. Comparables come from the subject's own category plus a title search — and because titles mix Portuguese, English and Chinese, search short terms in both languages rather than one long phrase, then merge the hits.
- Augment when recall is thin. Optionally widen the candidate set using category and keyword search, or constrain to the subject's category. On Shopee, category analytics stop at three levels — if the subject sits deeper, work the comparables through the item view and say which you used.
- Merge and drop the subject. Deduplicate the candidate identifiers and remove the subject itself.
- Validate and fetch market data. Look up the candidates to confirm they are live and to fetch the fields each row needs — on Mercado Livre price, sales, revenue, logistics and catalog / buy-box fields; on Shopee price, 30-day sales and revenue, the lifetime monthly average and direction, rating, reviews, favourites, cross-border shipping, photo count and shop tier, with no catalogue or buy-box fields at all.
- Rank. Score each candidate by a blend of similarity to the subject, demand (estimated revenue), and how crowded the listing is, then sort by that score. Drop candidates with no sales. Present a single ranked list — do not split analogs into thematic sub-tables. On Shopee, never rank on a difference of a few units: the sold counters are rounded, so small gaps are noise.
Output
Respond in the seller's language. The visible reply contains only the result, in this order, with no commentary about how it was produced:
- An optional one-line framing sentence, naming the marketplace.
- The subject product card.
- The ranked analogs table.
- The disclaimer.
- The download offer.
Use plain markdown so it renders cleanly in any client.
Subject card (Mercado Livre) — product name and image, category and brand, current price and historic minimum price, estimated monthly sales and revenue, logistics (Mercado Envios Full / free shipping / international), catalog / buy-box status (whether it is in the catalog, the number of buy-box sellers and the buy-box price, and the total number of sellers), and links to the product on Mercado Livre and on JoomPulse. On the photo route, label the card as the best visual match, not an exact match.
Subject card (Shopee) — same shape with the marketplace's own fields: item
title and image, category path and brand, current price and the lowest price
since May 2026 (label it that way — it is not an all-time low), estimated
sales and revenue over the last 30 days, the item's lifetime monthly average with
the direction flag comparing the two, rating, review count, favourites, whether
it ships cross-border, photo count, the shop and its tier (Official store /
Preferred (Indicado) / Common), and links to the item and the shop on Shopee —
there is no JoomPulse product page for Shopee items, so never invent one.
Omit catalogue status, buy-box sellers, the buy-box price and the seller
count — they do not exist on Shopee, so leave the lines out rather than showing
them empty. Free shipping, the fulfilment programme and the listing tier have no
Shopee equivalent either: omit them or show —, never a "Não".
Analogs table (Mercado Livre) — one row per comparable product, with the product name, brand, price (current and historic minimum), estimated monthly sales and revenue, logistics, catalog / buy-box status, number of sellers, review rating, and a links column holding the Mercado Livre and JoomPulse links. Keep both links for every product.
Analogs table (Shopee) — one row per comparable item, with the item name, brand, price (current and the lowest since May 2026), estimated sales and revenue over the last 30 days, the lifetime monthly average and the direction flag, rating, reviews, favourites, cross-border shipping, photo count, shop tier, and a links column holding the item and shop links on Shopee. No catalogue, buy-box or seller-count columns — drop them, do not leave them blank.
You may translate the column headers and card labels into the seller's language.
Note that the sales windows are not the same on the two marketplaces: Mercado
Livre reports weekly and monthly figures, Shopee reports 30-day figures only —
label the Shopee columns as 30 days and never present a 30-day figure under a
weekly or monthly heading. Empty field → —; never guess or fabricate.
Disclaimer (every report) — use the variant for the marketplace you queried.
Mercado Livre:
⚠️ Sales and revenue are JoomPulse estimates based on historical listing data — they are not actual transactions. Price, rating, and reviews are real Mercado Livre history. / Vendas e receita são estimativas do JoomPulse com base no histórico de anúncios — não são transações reais. Preço, classificação e avaliações são histórico real do Mercado Livre.
Shopee:
⚠️ Sales and revenue are JoomPulse estimates built from Shopee's own rounded sold counters — they are not actual transactions, and small gaps between items are noise. Only items with at least one lifetime sale are tracked, so this list is a lower bound. Price, rating, and reviews are real Shopee history. / Vendas e receita são estimativas do JoomPulse a partir dos contadores arredondados da própria Shopee — não são transações reais, e diferenças pequenas entre itens são ruído. Só itens com pelo menos uma venda no histórico são rastreados, então esta lista é um piso. Preço, classificação e avaliações são histórico real da Shopee.
Download — offer a downloadable spreadsheet (.xlsx plus .csv) of the
subject and analogs. On Mercado Livre give separate Mercado Livre and JoomPulse
link columns so the seller can see the source of every product's data; on Shopee
give the item and shop link columns instead, and use the Shopee column set.
Notes & Guardrails
The seller should never see a system or stack error — only a friendly next step.
- Wrong marketplace assumed: if an identifier or link is not found on the marketplace you assumed, check the other one before telling the seller the product does not exist.
- Subject not tracked in JoomPulse / no sales: JoomPulse tracks products that have sales, so a product may not be tracked. Say so, show whatever canonical product facts are available, and still surface analogs by category or keywords. On Shopee, coverage is a lower bound — only items with at least one lifetime sale are tracked — so an absent item is not proof that it does not sell.
- Valid product, no market data: show the canonical product facts and note that there is no JoomPulse estimate; draw analogs from the item's category.
- Photo: on Mercado Livre, image search first, then visual inspection if it is unavailable or empty; on Shopee there is no image search, so go straight to visual inspection plus a title and category search. Always label results as similar, not exact; if the match is ambiguous, show the top candidates and ask the seller to confirm.
- Search returns nothing: an empty result for a niche or non-pt-BR query is normal — retry once with an English or broadened query, then move on. On Shopee, also try short terms in the other language before giving up. If search is temporarily unavailable, say so briefly and rely on the other data.
- No catalogue or buy-box on Shopee: never present catalogue status, a buy-box winner, a buy-box price or a seller count for a Shopee item, and never map a shop tier onto a Mercado Livre seller medal — both are fabrication.
- Market data temporarily unavailable: retry once quietly; if it is still down, say market data is temporarily unavailable. Never paste internal error text, HTTP codes, or field names to the seller.
- Never silently limit coverage — if you analyze only some rows or some candidates, say so.
- Prefer precision over recall. A shorter list of confident analogs is better than a long list of weak ones.
Signals
- GitHub stars
- 50
- Forks
- 4
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
ml-product-analysis- Source
- github.com/joomcode/joompulse-skills