Make seller-copilot marketplace-aware: add Shopee Brasil - #28
Open
fiharet34 wants to merge 1 commit into
Open
Conversation
Adds Shopee coverage to the skill merged in joomcode#27, as one marketplace-aware skill rather than a second one. The two marketplaces are independent datasets that may not be mixed in a single query, and a seller does not always say which they mean — so deciding is the first step of the work, and it has to live where the question lands. A separate Shopee skill would only ever be reached by someone who already said "Shopee". references/which-marketplace.md holds the decision logic and the capability comparison; SKILL.md gains a Step 0 that settles the marketplace before any analysis and asks rather than defaulting when it cannot be inferred. Nine shopee- prefixed procedures cover what Shopee data actually supports. The fifteen Mercado Livre references are untouched, byte-identical to what merged. Shopee coverage is narrower and the skill says so rather than approximating: no keyword data, no seasonality or long-run trend before May 2026, no buy-box, badge tiers rather than a medal ladder, no fulfilment attributes, no cancellation rate, no brand share, item-level pricing only, and no fee data so no real margin. One capability runs the other way — Shopee has a per-item weekly sales series that Mercado Livre lacks. Verified by a 22-item pack through a real agent CLI, scored by trace assertions rather than judge scores because a judge cannot see which tool was called: routing 8/8, ambiguity 2/3, both-marketplace 3/3, capability boundaries 8/8. The Mercado Livre quality pack was re-run to confirm the description trim did no harm — six comparable items moved 4.67 to 4.50, four of them unchanged, inside the retest band this project has seen on repeat runs. The one failure is a request whose phrasing matches a focused skill's triggers closely enough that the focused skill answers it directly; since every focused skill is Mercado Livre only, an ambiguous question can be answered from Mercado Livre data without the seller being asked which marketplace they meant. This skill never loads in that path, so it cannot intervene. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes the merged
seller-copilotskill marketplace-aware: it now covers Shopee Brasilalongside Mercado Livre, and decides which one a request belongs to before doing anything else.
Eleven files:
SKILL.mdmodified, plusreferences/which-marketplace.mdand ninereferences/shopee-*.mdprocedures. The fifteen Mercado Livre reference files are untouched —byte-identical to what merged in #27.
Shopee sellers currently have no entry point in this catalogue at all; every skill here is
Mercado Livre only.
Why one skill rather than a second one
The two marketplaces are independent datasets with different grains, different field names and
different estimate methods, and the connector forbids mixing them in a single query. A seller
does not always say which one they mean — so deciding is itself the first step of the work,
and that decision has to live somewhere a seller's question reaches. A separate Shopee skill
would only ever be reached by someone who already said "Shopee".
How the decision is made
references/which-marketplace.mdholds the logic and the full capability comparison.SKILL.mdcarries a compact Step 0 that runs before any analysis:
MLB-prefixed identifier or a mercadolivre link → Mercado Livre. A bare 10–11 digitnumber or a shopee link → Shopee.
Never mix the two in one query, table or total. Comparing them is legitimate and produces two
labelled analyses side by side, compared by orders of magnitude rather than exact figures,
because the estimate methods differ.
Shopee coverage is narrower, and the skill says so
Nine analyses are supported: category evaluation, market structure, finding products, validating
a product, item momentum, competitor discovery, shop profiling, assortment and price gaps,
pricing.
These are declared unavailable with the reason, never approximated and never answered from
Mercado Livre data instead:
One capability runs the other way: Shopee has a per-item weekly sales series that Mercado Livre
lacks, used by
shopee-item-momentum.md, which states that the weekly figure is smoothed from arolling counter rather than measured.
Evidence
A 22-item pack run through a real agent CLI against the live connector. Routing is asserted
from the trace rather than scored by a judge — a judge cannot see which tool was called, and an
answer built from the wrong marketplace reads perfectly well.
21/22, in one clean pass, $10.98. Assertions require a successful result, not merely a tool
call — an earlier version counted calls and passed two items that had returned no data.
No Mercado Livre regression. The eight-item Mercado Livre quality pack was re-run against the
changed skill: the six comparable items moved 4.67 → 4.50, four of them unchanged, well inside
the ±0.5 retest band this project has seen on repeat runs. The vague-entry case actually improved,
3 → 4.5, because Step 0 gives it a concrete first question to ask.
The one known limitation
Tier 2's single failure is real and I could not fix it from inside this skill. Asked "vale a
pena entrar na categoria X?" with no marketplace named, the request matches a focused skill's
frontmatter triggers closely enough that the focused skill handles it directly — and because every
focused skill here is Mercado Livre only, the seller gets Mercado Livre data without being asked
which marketplace they meant.
seller-copilotnever loads, so no text in it can intervene.Reproduced identically across two runs.
The other two ambiguity items pass, so the guard itself works; what fails is interception, and
only when the phrasing closely matches a focused skill's own triggers. It is partly a consequence
of a deliberate choice: those category triggers were kept out of this skill's description
precisely to avoid cannibalising the focused skills. Closing the gap means competing with them,
which may not be the better trade. Happy to take direction on which way you'd prefer.
Worth knowing operationally
A single Shopee analysis costs roughly 4–7 connector queries. On the plan this was tested
against, the Shopee daily allowance was initially ~10 requests — about two analyses before
lockout — and the skill handles exhaustion correctly, reporting the limit in business terms and
refusing to invent figures. Flagging it because it bears on how usable the Shopee side is for a
seller on a lower tier, not because anything here needs changing.
Notes for reviewers
references are unchanged.
shopee-prefix; unprefixed files remain Mercado Livre. Everycross-link inside a Shopee file points at a Shopee sibling — verified, and asserted in the tests
after an earlier version silently resolved to the Mercado Livre procedures.
Portuguese Mercado Livre ones; the regression check above is what confirms that was safe.
Public-Safety Checklist
SKILL.mdfrontmattername.No data-model names, field names, tool identifiers or resource URIs appear in any of these files —
they describe procedures and judgement only.