r2-goods

star 4

R2-CLI 商品管理:上架、下架、改价、编辑、挂售、查询。当用户提到商品、上架、下架、改价、修改商品、挂售、选品、库存、店铺、淘宝阿里资产、抖音小店、SPU、SKU、商家编码等关键词时使用此 skill。覆盖闲鱼、淘宝、抖音三个平台的所有商品操作。即使用户只是说'帮我看看商品'或'查一下上架情况',也应触发此 skill。

Round2AI By Round2AI schedule Updated 6/2/2026

name: r2-goods version: 1.3.0 description: "R2-CLI 商品管理:上架、下架、改价、编辑、挂售、查询。当用户提到商品、上架、下架、改价、修改商品、挂售、选品、库存、店铺、淘宝阿里资产、SPU、SKU、商家编码等关键词时使用此 skill。覆盖闲鱼、淘宝两个平台的所有商品操作。即使用户只是说'帮我看看商品'或'查一下上架情况',也应触发此 skill。" metadata: requires: bins: ["r2-cli"] cliHelp: "r2-cli goods --help" related: - "r2-shared" - "r2-auth"


R2-Goods (v1.3)

商品管理:覆盖闲鱼、淘宝两大平台的商品上架、下架、改价、编辑、挂售、查询。

前置:先读取 r2-shared skill(执行规则、版本检查、错误格式、Token 恢复),再读取 r2-auth skill 确保已登录。

Tip:获取数据后展示给用户选择,不要让用户自己提供 ID。遵守「友好输出原则」(r2-shared)。

Tip:上架、改价、编辑提交前,必须提醒用户可选 --transport-fee(运费,默认 0 包邮)和 --yhb(验货宝)。

平台路由决策

闲鱼、淘宝是两套独立体系,ID 互不通用。

通用判断规则

条件 判断
用户明确说了平台("闲鱼下架"、"淘宝改价") 用对应平台的命令
用户从之前的列表中选了商品 从数据推断:有 jbpSpuId → 淘宝,有 stockGoodsId + status → 闲鱼
用户未指定且无上下文 先查所有平台列表,让用户选商品,再根据平台执行

禁止:凭上下文猜测平台。刚操作过淘宝不意味着"下架"就一定是淘宝。

上架路由

条件 方式 流程
"选品上架" 或商品在选品库 goods xianyu up 店铺 → 仓库 → 选品 → 价格 → 提交
"挂售" 或用户提供了图片 goods xianyu hang-up 上传图片 → AI 读图 → 类目/属性 → 提交
"阿里资产" 或 "alzc" goods taobao alzc SPU 查询 → SKU 详情 → 选择+价格 → 申请

用户只说"上架"未指定方式 → 必须询问:"选品上架、挂售上架还是阿里资产上架?"

平台明确但方式未定

用户说了 判断 回复
"闲鱼上架" / "上架到闲鱼" 平台=闲鱼,方式未定 询问:"选品上架还是挂售上架?"
"淘宝上架" / "上架到淘宝" 淘宝只有阿里资产 直接走 goods taobao alzc

查询路由

用户说"查上架列表"/"查询上架情况"且未指定平台:

  1. r2-cli goods shops --json → 按 platform 分组
  2. xianyu 店铺 → r2-cli goods xianyu listing --json
  3. taobao 店铺 → r2-cli goods taobao listing --shop-id <id> --json(每个淘宝店铺都要查)
  4. 分区块展示

查询意图细化

用户措辞 判断 命令
"可以上架的"、"选品"、"仓库里的" 选品商品 goods list --stock-id <id>
"已上架的"、"上架列表"、"在卖的" 已上架 走查询路由(多平台)
"卖出去的"、"已售出" 已售出 goods xianyu listing --status sold
模糊(仅"商品"、"看看商品") 先问 "看选品商品还是已上架商品?"

按名称定位商品:用户提名称没给 ID → 先查列表模糊匹配 goodsName/brand,匹配到多个展示候选,未匹配到自动展示完整列表。

下架/改价路由

用户说"下架"或"改价"且未指定平台 → 先查所有平台列表 → 用户选择 → 根据平台执行。

操作 闲鱼 淘宝
下架 goods xianyu down --id <id> goods taobao down --jbp-spu-id <> --shop-id <>
改价 goods xianyu price --id <id> --price <> goods taobao price --jbp-spu-id <> --jbp-sku-id <> --shop-id <> --price <>
修改信息 goods xianyu edit --id <id> ... 需通过 SPU 重新申请

命令概览

查询

命令 说明 详细文档
goods shops [--json] 查看已授权店铺 r2-goods-query
goods stocks [--json] 查看仓库 r2-goods-query
goods list [--stock-id <id>] [--json] 查看选品商品 r2-goods-query
goods xianyu listing [--status <>] [--json] 闲鱼上架列表 r2-goods-listing
goods taobao listing --shop-id <id> [--json] 淘宝上架列表 r2-goods-alzc

闲鱼操作

命令 说明 详细文档
goods xianyu up --stock-goods-id <> --shop-id <> --price <> --json 选品上架 r2-goods-listing
goods xianyu down --id <id> --json 下架 r2-goods-listing
goods xianyu price --id <id> --price <> --json 改价 r2-goods-listing
goods xianyu edit --id <id> [...] --json 修改商品信息 r2-goods-listing
goods xianyu hang-up submit [...] --json 挂售上架 r2-goods-hangup

淘宝阿里资产

命令 说明 详细文档
goods taobao alzc spu-query --shop-id <> --goods-no <> --json 查询可申请 SPU r2-goods-alzc
goods taobao alzc spu-detail --shop-id <> --jbp-spu-id <> --json SPU 详情(含 SKU) r2-goods-alzc
goods taobao alzc apply --shop-id <> --jbp-spu-id <> --apply-skus '<>' --json 申请上架 SKU r2-goods-alzc
goods taobao price --jbp-spu-id <> --jbp-sku-id <> --shop-id <> --price <> --json 改价 r2-goods-alzc
goods taobao stock --jbp-spu-id <> --jbp-sku-id <> --shop-id <> --quantity <> --json 改库存 r2-goods-alzc
goods taobao down --jbp-spu-id <> --shop-id <> --json 下架 r2-goods-alzc

选品上架 4 步流程

  1. r2-cli goods shops --json → 展示店铺 → 用户选择 shopId
  2. r2-cli goods stocks --json → 展示仓库 → 用户选择 stockId
  3. r2-cli goods list --stock-id <id> --json → 展示商品 → 用户选择 stockGoodsId
  4. r2-cli goods xianyu up --stock-goods-id <id> --shop-id <id> --price <amount> --json → 提交

必填:--stock-goods-id--shop-id(取 shopId 不是 id)、--price

提交前提醒:运费默认包邮(--transport-fee 0),可选开启验货宝(--yhb)。

详细参数、返回字段和友好输出格式见 r2-goods-listing

修改商品信息(edit)

修改已上架商品的标题、描述、品牌、类目、图片、属性等。不支持改价,改价用 goods xianyu price

路由决策

用户意图 流程
提供了图片文件 全自动:读图识别 → 上传图片 → 匹配类目/属性/品牌 → 展示变更 → 确认 → 提交
指定了具体字段("改标题为X") 直接修改指定字段
说"修改商品信息"但没给细节 提示可提供图片或指定字段

关键约束(完整流程和参数见 r2-goods-listing):

  • 定位优先用 --id <goodsListingId>,备选 --stock-goods-id + --shop-id
  • --category-id--channel-cat-id 后端必填,即使不改类目也要传当前值
  • --item-attrs 必须包含 props 中所有属性,不只是修改的那一个。后端替换整个列表,漏传的属性会被清除
  • 改品牌时建议同时传 --item-attrs(含全部属性+最新品牌值)
  • AI 读图识别后的字段需展示给用户确认

带图片的全自动 8 步流程和详细注意事项见 r2-goods-listingscenes/r2-scene-edit-with-images

挂售(hang-up)

挂售模式支持完整商品信息(图片、类目、属性、品牌),与普通上架是不同流程。

核心原则图片里能看到的,就别问用户。只问价格和商家编码,其他全部从图片自动提取。

关键注意事项(完整流程和参数见 r2-goods-hangup):

  • 品牌必须双传--brand-name + --item-attrs 中的品牌项(含 propName/channelCatId)
  • 描述自动生成:品牌+款式+颜色+材质+货号自动组合
  • 标题自动组合:品牌+款式+颜色+尺码+成色,最长 30 单位(半角 0.5/全角 1)
  • stuff-status 成色映射:100=全新、-1=准新、99=99新、95=95新、90=9新
  • 价格必填:用户不提供时暂停流程,不要替用户决定价格

完整的 3 步流程、属性匹配、必填/可选参数表、常见错误见 r2-goods-hangup

场景指南

场景 指南
服装/鞋包挂售 scenes/r2-scene-hangup-fashion.md
带图片修改商品 scenes/r2-scene-edit-with-images.md
批量操作 scenes/r2-scene-batch-operations.md

错误处理

统一错误格式见 r2-shared skill。

错误 恢复
请先运行 r2-cli auth login 登录 执行 r2-cli auth login --json
Agent 模式需要 --stock-goods-id, --shop-id, --price 补齐参数
请指定下架条件:--id 或 --stock-goods-id + --shop-id 补充定位参数
--price <amount> 为必填参数 询问用户新价格
getCategoryId() is null edit 缺少 --category-id,必须传
商家编码重复 更换唯一编码
该商品已上架 更换 out-item-no
标题过长 缩短标题,保留品牌和核心款式
ITEM_CONDITION_NOT_SUPPORT_SIGN 默认关闭售后
YHB_PRICE_NOT_SUPPORT 验货宝价格不在允许范围,调整价格或关闭验货宝
轮询超时 稍后用 listing 命令查看
商品不存在 确认 id 值是否正确
Install via CLI
npx skills add https://github.com/Round2AI/r2-cli --skill r2-goods
Repository Details
star Stars 4
call_split Forks 2
navigation Branch main
article Path SKILL.md
More from Creator