[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M718DFS930SV8YWT164ZTKJ2":3,"skill-same:01M718DFS930SV8YWT164ZTKJ2":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M718DFS930SV8YWT164ZTKJ2","performance-insights",null,"Explaining how the business is doing, meaning why a metric moved, which segment drove it, pace against a comparable, progress against goals the operator has stated, and questions over sales, traffic, conversion, and customers or this operation's equivalents that the snapshot alone does not answer. Not needed when the snapshot's headline figures and their change on the prior period answer the question, how a period went included.","anthropics\u002Fcommerce-agents","anthropics","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F76263028?v=4","01M697XGDPXJAVQ8391V2BCYTE","Anthropic","01M718D5FGWKEA8ZJF2GGGYZWB",3465,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fmerchant-agent\u002Fskills\u002Fperformance-insights\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"performance","insights","performance insights","why","how","goals","progress","change","conversion","meaning","sales","operation","when","business","traffic","question","answer","segment","which","figures","2026-11-10 10:12:30",false,"---\nname: performance-insights\ndescription: Explaining how the business is doing, meaning why a metric moved, which segment drove it, pace against a comparable, progress against goals the operator has stated, and questions over sales, traffic, conversion, and customers or this operation's equivalents that the snapshot alone does not answer. Not needed when the snapshot's headline figures and their change on the prior period answer the question, how a period went included.\n---\n\n# Performance insights\n\nBelow, \"segment\" means whatever unit this operation reports on: a category, a listing, a property, a plan, or an event.\n\nGive the operator a takeaway they can act on, the figure behind it, and the comparison it rests on, and say which reads it came from.\n\n## Where the figures come from\n\n- Start with `get_business_snapshot` for the period asked about: the headline figures, the prior period (`compare_to` and the change percentages), and the alert counts that every later figure is read against. Then use `query_metrics` for one metric over time, narrowed to a segment when the question is about part of the operation.\n- Take margin and stock from `get_pricing_context` and `get_listing`, and campaign spend and revenue from `get_campaign_performance`; the snapshot does not carry them.\n- Report a series the backend does not hold (an error, an empty series, a different metric name than you asked for) as unavailable, and say which question that leaves open.\n- Show a figure you work out from returned data (a run rate, a shortfall, a sell-out date at the current pace) with its inputs beside it.\n- The latest date in a returned series is the latest date the data covers. A period that runs past it is partial; say so before comparing it with a complete one.\n\n## The comparison\n\n- Choose the comparison period for the question and name it: the prior period for how the week went, the same period last year for a swing that could be seasonal, before and after a change when the question is about that change.\n- Compare a partial period with the matching part of the baseline, or say the comparison is partial against complete; give both end dates.\n- When the question is pace against a comparable (this run against the last run of the same thing, or against its peers at the same point in the cycle), fetch the comparable as its own `query_metrics` series, name it, and say why it is comparable.\n- When the two series came back under different names, put both in `present_metrics` as returned. When they differ only by period, they share a name: query the current period last, present it, and give the comparable's figures in the text with their period. Either way, state the gap at the same point in the cycle instead of the two totals.\n- When the data holds no comparable (a first run, a first season), say so, give the pace on its own terms, and offer the nearest substitute the data holds, labeled as one. Do not build a comparable from memory of similar cases.\n\n## Explaining a movement\n\n- Say first what moved, by how much, and against which baseline; then investigate.\n- Confirm the movement before explaining it. A partial period, a gap in the series, or an unusual baseline accounts for many reported drops; when one of those is the explanation, say so and stop.\n- Locate it: query by segment and name the segment that accounts for most of the movement, with its share.\n- Separate mix from level. An average falls when the unit price fell and also when cheaper units made up more of the total; say which one the returned series show, or say that you cannot tell until the segments are queried.\n- Check candidate causes against tool data for the same dates: campaign windows from `get_campaign_performance`, stockouts or sell-outs from `get_inventory_alerts` or the listing, price moves from `get_pending_changes` or a change applied this conversation.\n- Call something the cause only when its timing lines up and the movement sits in the segment it would affect; otherwise report a correlation and name the read that would settle it.\n- Grade your confidence in words that match the evidence: a finding when the data shows it, a lead when it partly does, and \"not visible in the data\" when nothing does.\n\n## Goals and patterns the operator has stated\n\n- A target stated in this conversation or held in `recall_memories` turns a summary into a pace report: the figure so far, the share of the period elapsed, and what the rest of the period must average, computed from returned figures. Do not supply a target the operator has not stated.\n- Recall the seasonal patterns the operator has stated before calling a swing unusual, and say which pattern it does or does not fit. Save a goal or pattern stated during this flow with `save_memory`, so later summaries can pace against it.\n\n## Presenting the answer\n\n- End with `present_metrics`. Each pick names a measure a tool returned this conversation, under the tool's name for it and with its segment (`sales`, `sales:kids-room`, `conversion_rate`). A single date's value, a difference between two series, and a projection are not picks; they belong in the text.\n- When a `present_metrics` call is refused as ungrounded, present the retrieved series again with the picks corrected to names the tools returned.\n- Before the component, give the takeaway with its baseline (\"sales are down 12% on the prior week, and one category is 9 of those points\"), the comparison used, and the one caveat that changes how to read the figures.\n- When the movement traces to something operational, make the last chip the hand-off to the flow that acts on it.\n","# Performance insights\n\nBelow, \"segment\" means whatever unit this operation reports on: a category, a listing, a property, a plan, or an event.\n\nGive the operator a takeaway they can act on, the figure behind it, and the comparison it rests on, and say which reads it came from.\n\n## Where the figures come from\n\n- Start with `get_business_snapshot` for the period asked about: the headline figures, the prior period (`compare_to` and the change percentages), and the alert counts that every later figure is read against. Then use `query_metrics` for one metric over time, narrowed to a segment when the question is about part of the operation.\n- Take margin and stock from `get_pricing_context` and `get_listing`, and campaign spend and revenue from `get_campaign_performance`; the snapshot does not carry them.\n- Report a series the backend does not hold (an error, an empty series, a different metric name than you asked for) as unavailable, and say which question that leaves open.\n- Show a figure you work out from returned data (a run rate, a shortfall, a sell-out date at the current pace) with its inputs beside it.\n- The latest date in a returned series is the latest date the data covers. A period that runs past it is partial; say so before comparing it with a complete one.\n\n## The comparison\n\n- Choose the comparison period for the question and name it: the prior period for how the week went, the same period last year for a swing that could be seasonal, before and after a change when the question is about that change.\n- Compare a partial period with the matching part of the baseline, or say the comparison is partial against complete; give both end dates.\n- When the question is pace against a comparable (this run against the last run of the same thing, or against its peers at the same point in the cycle), fetch the comparable as its own `query_metrics` series, name it, and say why it is comparable.\n- When the two series came back under different names, put both in `present_metrics` as returned. When they differ only by period, they share a name: query the current period last, present it, and give the comparable's figures in the text with their period. Either way, state the gap at the same point in the cycle instead of the two totals.\n- When the data holds no comparable (a first run, a first season), say so, give the pace on its own terms, and offer the nearest substitute the data holds, labeled as one. Do not build a comparable from memory of similar cases.\n\n## Explaining a movement\n\n- Say first what moved, by how much, and against which baseline; then investigate.\n- Confirm the movement before explaining it. A partial period, a gap in the series, or an unusual baseline accounts for many reported drops; when one of those is the explanation, say so and stop.\n- Locate it: query by segment and name the segment that accounts for most of the movement, with its share.\n- Separate mix from level. An average falls when the unit price fell and also when cheaper units made up more of the total; say which one the returned series show, or say that you cannot tell until the segments are queried.\n- Check candidate causes against tool data for the same dates: campaign windows from `get_campaign_performance`, stockouts or sell-outs from `get_inventory_alerts` or the listing, price moves from `get_pending_changes` or a change applied this conversation.\n- Call something the cause only when its timing lines up and the movement sits in the segment it would affect; otherwise report a correlation and name the read that would settle it.\n- Grade your confidence in words that match the evidence: a finding when the data shows it, a lead when it partly does, and \"not visible in the data\" when nothing does.\n\n## Goals and patterns the operator has stated\n\n- A target stated in this conversation or held in `recall_memories` turns a summary into a pace report: the figure so far, the share of the period elapsed, and what the rest of the period must average, computed from returned figures. Do not supply a target the operator has not stated.\n- Recall the seasonal patterns the operator has stated before calling a swing unusual, and say which pattern it does or does not fit. Save a goal or pattern stated during this flow with `save_memory`, so later summaries can pace against it.\n\n## Presenting the answer\n\n- End with `present_metrics`. Each pick names a measure a tool returned this conversation, under the tool's name for it and with its segment (`sales`, `sales:kids-room`, `conversion_rate`). A single date's value, a difference between two series, and a projection are not picks; they belong in the text.\n- When a `present_metrics` call is refused as ungrounded, present the retrieved series again with the picks corrected to names the tools returned.\n- Before the component, give the takeaway with its baseline (\"sales are down 12% on the prior week, and one category is 9 of those points\"), the comparison used, and the one caveat that changes how to read the figures.\n- When the movement traces to something operational, make the last chip the hand-off to the flow that acts on it.\n",{"name":5,"description":7},"main","fd4d59224ab96b43c6dc6888207c67b3bd5a24cf","merchant-agent\u002Fskills\u002Fperformance-insights",712,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents","https:\u002F\u002Fclaude.com\u002Fsolutions\u002Fcommerce","https:\u002F\u002Fgithub.com\u002Fanthropics","https:\u002F\u002Fanthropic.com","2026-11-04 19:55:09",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add anthropics\u002Fcommerce-agents --skill performance-insights",{"tool":59,"command":60},"bunx","bunx skills add anthropics\u002Fcommerce-agents --skill performance-insights",{"tool":62,"command":63},"pnpm","pnpm dlx skills add anthropics\u002Fcommerce-agents --skill performance-insights","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fmerchant-agent\u002Fskills\u002Fperformance-insights\u002FSKILL.md",true,[],[68,92,114,135,157,175],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":39},"01M718ECZVF8TFQM4CVAT5HGQG","search-discovery","Turning a described need (several constraints, a gift, a choice between candidates already in view, a search that came back empty or sold out) into a shortlist and a pick. Not needed when one search for the thing the customer named answers the request, or when the customer wants to learn what matters in a category first (purchase-research).","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fshopping-agent\u002Fskills\u002Fsearch-discovery\u002FSKILL.md",[],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,31,90,91],"discovery","search","search discovery","back","research","first","gift","view","customer","for","request","pick","purchase","choice","empty","learn","constraints",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":103,"publishedAt":39},"01M718EAXW7452GQ9336TFCEMH","purchase-research","Teaching a customer how to choose before any candidates appear, when they ask what matters in a category, how two approaches to it differ, or where to begin. Not needed once the customer has named the thing they want, however considered the purchase (that is search work), nor for outfitting a space or an event (planning-goals).","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fshopping-agent\u002Fskills\u002Fpurchase-research\u002FSKILL.md",[98],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[79,104,87,105,24,106,83,23,84,107,108,76,109,110,31,111,112,113],"purchase research","work","planning","event","choose","space","how to","ask","teaching","it",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":39},"01M718E8N33VV0XXCY2DA4Y548","planning-goals","Planning a coordinated set of items toward a goal, an event, a trip, or a project, where the request only comes together as several purchases with a structure between them, and later changes to a plan you have presented. Not needed when the customer wants a single item, however carefully chosen.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fshopping-agent\u002Fskills\u002Fplanning-goals\u002FSKILL.md",[],[121,24,106,122,123,124,125,126,127,128,83,129,130,107,85,131,132,31,133,134],"planning goals","SET","with","as","structure","plan","changes","later","project","goal","single","only","you","trip",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":39},"01M718E5ES8CYDTZFZPB5XDTYP","memory-personalization","Requests about what is remembered, however short, from an ask to remember one thing to asks to say what is on file, correct it, or forget it; a bare save or an answer from the profile alone does not cover these. Also applying what the store already knows, recalling an older fact (a past recipient, a size, a recurring order) when it would change the pick, and deciding what should outlast the session. Not needed when the request carries no personal context to apply or keep.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fshopping-agent\u002Fskills\u002Fmemory-personalization\u002FSKILL.md",[],[142,143,144,145,146,147,35,148,149,150,86,31,151,111,152,153,154,155,156,26],"memory","memory personalization","personalization","bare","remember","recurring","session","correct","short","keep","apply","file","store","forget","say",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":163,"publishedAt":39},"01M718E3E3Y51D55XXTQ9979T9","customer-care","Help after a purchase or booking, covering the status of an order or delivery whether or not the customer names it, returns, refunds, exchanges, and cancellations, an item that arrived damaged, incomplete, or late, and questions about the store's terms or a membership. Not needed for finding, comparing, or choosing something new.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fshopping-agent\u002Fskills\u002Fcustomer-care\u002FSKILL.md",[],[83,164,154,84,165,166,167,168,169,87,170,171,172,113,173,174],"customer care","help","booking","questions","about","delivery","status","new","terms","refunds","returns",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":192,"publishedAt":39},"01M718E0X4VE056S16PA347Z3F","commerce-ui-tools","The reference presentation-tool contract, covering server-side enrichment, suggestion chips, the event stream, progressive rendering, both roles' built-in components, and adding a vertical component. Load when building or reviewing how a commerce agent's output reaches a frontend.","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fcommerce-agents\u002Fblob\u002Fmain\u002Fplugins\u002Fcommerce-builder\u002Fskills\u002Fcommerce-ui-tools\u002FSKILL.md",[181,184,187],{"categoryNo":182,"categoryName":183,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":185,"categoryName":186,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":188,"categoryName":189,"taxonomyType":190,"taxonomyTypeDesc":191},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[193,194,195,196,197,198,199,200,23,107,201,202,203,204,205,206,207,208,209,31],"commerce ui tools","ui","Tools","commerce","roles","server","component","enrichment","server-side","tool","rendering","frontend","progressive","contract","stream","reference","load"]