ml-product-analysis
Analyzes one Mercado Livre product and its competitors. Use this skill when a user wants to size up a single product or the products that compete with it — by a Mercado Livre link, a JoomPulse link, a photo, or a row of data. It returns a product card for the subject plus a ranked table of comparable products, each with price, estimated monthly sales and revenue, logistics, and catalog / buy-box status. Triggers include: "analyze this product", "how much does this sell", "find similar products", "find competing products", and the pt-BR equivalents "analisar este produto", "quanto vende esse produto", "produtos parecidos", "produtos concorrentes", "análise por foto", "análise por link". For "what new products should I add to my store" across a whole catalog, use the assortment gap-analysis skill instead — this skill analyzes a single product the seller already has in hand.
适合你,如果你在 Mercado Livre 上卖货,想快速了解一个产品的市场表现。
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
~/.claude/skills/(项目级 .claude/skills/)~/.codex/skills/npx oh-my-skill add joomcode/joompulse-skills/ml-product-analysiscurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- joomcode/joompulse-skills/ml-product-analysisnpx oh-my-skill verify joomcode/joompulse-skills/ml-product-analysis怎么用
技能原文 SKILL.md
Mercado Livre Single-Product Analysis
This skill analyzes one Mercado Livre (Brasil) product and the products that compete with it. Given a single product — by a Mercado Livre 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 product it shows price, estimated monthly sales and revenue, logistics, and catalog / buy-box status.
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 one product as a Mercado Livre 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 and search for comparable listings.
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) only. Other marketplaces are out of scope.
- Sales and revenue are JoomPulse estimates derived from historical listing data — not real transactions. Disclose this in every output.
- Prices are Mercado Livre 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.
Input Router
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 JoomPulse product link → JoomPulse route.
- 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 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.
- Build the subject from that data, then find analogs.
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.
Photo route
Image-based matching is primary; visual inspection is the fallback. 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.
- 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, inspect the photo yourself: note the product type, brand and model if legible, color, material, and key attributes. Turn that into search keywords 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: if it carries a Mercado Livre identifier, use the MLB route; 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.
Keyword route
Build a clean search query from the title or photo description, plus a broadened fallback query.
Finding Analogs
Both the keyword and photo paths feed the same analog pipeline:
- Search for candidates. Use JoomPulse semantic product search 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.
- Augment when recall is thin. Optionally widen the candidate set using category and keyword search, or constrain to the subject's predicted category.
- Merge and drop the subject. Deduplicate the candidate identifiers and remove the subject itself.
- Validate and fetch market data. Look up the candidates in JoomPulse to confirm they are active listings and to fetch price, sales, revenue, logistics, and catalog / buy-box fields.
- 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.
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.
- 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 — 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.
Analogs table — 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. You may translate the column headers and card labels into the seller's language.
Disclaimer (every report):
⚠️ Sales and revenue are JoomPulse estimates based on historical listing data — they are not actual transactions. / Vendas e receita são estimativas do JoomPulse com base no histórico de anúncios — não são transações reais.
Download — offer a downloadable spreadsheet (.xlsx plus .csv) of the subject and analogs, with separate Mercado Livre and JoomPulse link columns so the seller can see the source of every product's data.
Notes & Guardrails
The seller should never see a system or stack error — only a friendly next step.
- 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.
- Valid product, no market data: show the canonical product facts and note that there is no JoomPulse estimate; draw analogs from the predicted category.
- Photo: image search first; if it is unavailable or empty, switch silently to visual inspection plus keywords. 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. If search is temporarily unavailable, say so briefly and rely on the other data.
- 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.