@crabcloud/skills 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: crabcloud-atelier
3
+ description: Fashion R&D workshop management via the `crab atelier` CLI — apply to create an atelier, manage members & permission sets, invite links, roles, collections, styles (with stage markers), design-stage documents (design/pattern/sample drafts with round-based reviews), the supplier directory (fabric vendors & factories), production orders (size breakdown, delivery, factory, frozen costing snapshot), the org-wide record stream and the desk digest. Use when the user asks anything about their fashion atelier on Crab Cloud: 工坊、款式、样衣、打样、审版、样衣轮次、系列、款号、配色、设计师、服装研发、核价准备、建坊、成员、权限、邀请链接、岗位、记录、工作台、供应商、面辅料、加工厂、制单、生产单、排产、交期、投产、工艺单 — even if they never say "crab".
4
+ ---
5
+
6
+ # Crab Cloud 服装研发工坊(crab atelier)
7
+
8
+ 管理服装研发工坊:成员与权限集、邀请链接、岗位(纯职务标识)、系列(批次容器)、
9
+ 款式库(款号 + 阶段定位标记 + 配色 + 打样稿件)、设计阶段时间线(稿件上传 /
10
+ 审版定版留痕)、供应商目录(面辅料商家 / 加工厂)、全量记录流与工作台聚合。独立产品「Atelier · Crab Cloud」,同一套 REST API 服务 Web 与 CLI。
11
+ 款(style)是唯一锚点——建档、轮次、结论都挂在款上并自动落时间线。
12
+
13
+ 跨域时参考:邮件 `crabcloud-mail`、云盘 `crabcloud-storage`、协作
14
+ `crabcloud-collab`、店铺 `crabcloud-shop`、人事行政 `crabcloud-hr`、平台账号
15
+ `crabcloud`。
16
+
17
+ ## 第一步:确认可用
18
+
19
+ - 运行 `crab --version` 确认已安装。`crab` 命令缺失时先 `npx @crabcloud/cli init`
20
+ (只登录 + 装 skill、不含命令本体);已装但缺 `atelier` 命令用
21
+ `npx @crabcloud/cli@latest init` 升级。不想装全局则整段跳过,下文所有
22
+ `crab <命令>` 直接 `npx @crabcloud/cli <命令>` 等价执行。
23
+ - `crab whoami` 报「未登录」或退出码 3 → 引导用户 `crab login`。授权页摆出全
24
+ 目录供用户勾选,**实际授予集由人定**——登录后先 `crab whoami` 核对 scopes。
25
+ - 永远不要让用户把 token 粘贴进对话;凭证文件与你无关,也不要读取它。
26
+
27
+ atelier 命令需要 **atelier scope + 工坊绑定**的令牌:`crab login --scopes atelier
28
+ --org org:<工坊名>`。未绑工坊或绑错工坊会得到 `atelier_org_not_bound` /
29
+ `atelier_org_mismatch`(退出码 4),按提示重新授权即可。
30
+
31
+ 退出码:0 成功 · 2 用法错误 · 3 认证失效 · 4 scope/绑定不足 · 5 不存在 · 7 配额。
32
+
33
+ ## 工坊生命周期(申请-审核制)
34
+
35
+ 建坊走**申请-审核**(与建公司/开店同款):提交申请 → 平台审核 → 通过时扣
36
+ **1 积分**并自动建坊(申请人成 owner)。每账号同时只有一条待审申请。
37
+
38
+ | 意图 | 命令 |
39
+ |---|---|
40
+ | 看我在哪些工坊 | `crab atelier orgs` |
41
+ | 申请创建工坊 | `crab atelier org apply <名称> [--note 说明]`(审核通过自动建坊) |
42
+ | 查申请进度 | `crab atelier org application`(pending / approved〔含驳回意见〕/ 从未申请) |
43
+ | 工坊改名 | `crab atelier org rename <新名称>`(settings 权限;改名后 `org:<名称>` 标识随新名) |
44
+
45
+ ## 成员、权限与邀请
46
+
47
+ 权限模型:角色 owner(恒全权不可移除)/ member,member 按**权限集**(七个写权限
48
+ flags 的数组)判定:`styles`(款式库)、`records`(记录)、`materials`(面辅料)、
49
+ `costing`(核价)、`production`(生产)、`team`(成员管理)、`settings`(组织设置)。
50
+ 只读不需要 flag——active 成员默认可读全部。岗位是**纯职务标识**(设计师/版师等,
51
+ 不影响权限;0124 起与权限解耦),`roles` 只读可查名录;「管理员 = 全功能、成员 =
52
+ 只读」只是 Web 成员抽屉的快捷预设。新成员初始权限取工坊「新成员默认权限」(默认
53
+ 只读,Web 设置页可配)。
54
+
55
+ | 意图 | 命令 |
56
+ |---|---|
57
+ | 看成员与权限 | `crab atelier members [--page N]` |
58
+ | 拉人进来 | `crab atelier member add <用户名> [--title 头衔]`(初始权限 = 工坊新成员默认权限,默认只读) |
59
+ | 给人配权限 | `crab atelier member set <memberId> --permissions styles,records`(**整体替换**;`--permissions none` = 只读) |
60
+ | 给人挂岗位 | `crab atelier member set <memberId> --permissions <现有权限不动> --role 版师`(`--role none` = 清除;permissions 必填一并提交) |
61
+ | 设工坊内显示名 | `crab atelier member set <memberId> --permissions styles --display-name "阿May"`(permissions 必填一并提交) |
62
+ | 看岗位名录 | `crab atelier roles`(名字 + 实挂成员数;建改删在 Web 设置页) |
63
+ | 移除成员 | `crab atelier member rm <memberId>` |
64
+ | 发邀请链接 | `crab atelier invite`(站内 `/join/:token` 加入页:注册用户一键入坊,初始权限 = 工坊新成员默认权限) |
65
+ | 作废旧链接 | `crab atelier invite --reset`(旧链立即失效) |
66
+
67
+ 多工坊账号用 `--org org:<名称>`(或工坊 id)指定;仅一个工坊时自动采用。
68
+
69
+ ## 系列批次与款式库
70
+
71
+ **系列批次**(批次容器):标题 + 年月(`YYYY-MM` 必填)+ 选填说明 + 归档状态——
72
+ 归档不是删除,可随时恢复;归档后新建款式不可再挂该系列,存量款式引用不受影响。
73
+ 款式阶段是**定位标记不是状态机**(设计 → 核算 → 生产 → 完成;打样与审版收在
74
+ 设计段内)——任意阶段可编辑、可补录,阶段变更自动落时间线。金额一律**整数分**
75
+ (`--retail-cents 19900` = ¥199.00)。款号 = 工坊内唯一业务主键(重复建档 409)。
76
+
77
+ | 意图 | 命令 |
78
+ |---|---|
79
+ | 看系列 | `crab atelier collections [--status active\|archived\|all] [--q 关键字]`(默认只看进行中;带状态计数) |
80
+ | 建系列 | `crab atelier collection create "2026 秋冬首批" --ym 2026-09 [--note 备注]`(年月必填) |
81
+ | 改系列 | `crab atelier collection edit <id> [--name ... --ym 2026-10 --note ...]`(给的 flag 才改) |
82
+ | 归档 / 恢复 | `crab atelier collection archive <id>` / `crab atelier collection restore <id>`(幂等无删除) |
83
+ | 看款式库 | `crab atelier styles [--q 关键字] [--stage 核算] [--collection <id>] [--page N]`(带阶段分布计数) |
84
+ | 看一款 | `crab atelier style <id>`(信息按组展示:01 基础信息 / 02 商品规格 / 03 生产信息 / 04 尺寸表〔部位 × 尺码矩阵 + 档差,尺码列随商品规格联动〕,+ 轮次时间线 + 最近事件,一次取全) |
85
+ | 款式建档 | `crab atelier style create --code KH001 --name "羊毛大衣" [--category 大衣] [--collection <id>] [--designer ...] [--retail-cents 199000] [--notes ...]`(款号唯一;归档系列不可挂)。**开款 ≠ 补录**:建档只收基本字段,色板/尺码/工艺开款后补录(Web 详情页分组编辑或下方 CLI flag 均可;建档时也可一并带上,见 `--colorways/--sizes/--craft-notes`) |
86
+ | 编辑款式 | `crab atelier style edit <id> --stage 生产`(给的 flag 才改;`--collection clear` 解绑系列) |
87
+ | 登记规格 | `crab atelier style edit <id> --colorways 驼色,黑,雾蓝 --sizes S,M,L --craft-notes "领口包边,成衣水洗"`(三项各自整体替换——空数组/空串 = 清空;色板与尺码是商品需要的规格,特殊工艺是生产需要的,Web 详情页即按此分组) |
88
+
89
+ ## 供应商目录
90
+
91
+ 面辅料商家 `fabric` / 加工厂 `factory` 两类,字段 = 类型 + 名称 + 联系人 +
92
+ 联系方式(电话/微信自由文本单字段)+ 地址 + 备注。归档不是删除——归档后供应商
93
+ 选择器不再出(面辅料库、制单生产引用时),存量引用不受影响,可随时恢复。
94
+ 写需 `materials` 或 `production` 任一权限。
95
+
96
+ | 意图 | 命令 |
97
+ |---|---|
98
+ | 看供应商 | `crab atelier suppliers [--type fabric\|factory] [--status active\|archived\|all] [--q 关键字]`(默认只看在册;带状态与类型双维计数) |
99
+ | 建档 | `crab atelier supplier create "绍兴晨曦纺织" --type fabric [--contact-name 王经理 --contact 139xxx --address 地址 --note 备注]` |
100
+ | 编辑 | `crab atelier supplier edit <id> [--type ... --name ... --contact-name ... --contact ... --address ... --note ...]`(给的 flag 才改) |
101
+ | 归档 / 恢复 | `crab atelier supplier archive <id>` / `crab atelier supplier restore <id>`(幂等无删除) |
102
+
103
+ ## 打样(设计阶段稿件与审版)
104
+
105
+ 轮模型(2026-10-08 定稿):**上传即当前稿,未审版都属同一轮**——设计稿 / 纸样稿 /
106
+ 样衣稿三类稿件,每款每类至多一个未定版当前稿(再传 = 修改当前稿:素材/备注/
107
+ 关联人员整体替换);**审版是款级动作**(不挂单个稿件)——通过时当前轮全部未定版
108
+ 稿件各自定版(每类 style+kind 内递增 vN,如「设计稿 v1、纸样稿 v1」),不通过留
109
+ 当前稿继续改。素材与审版图走 Web 端上传(atelier 存储域,owner 云盘「服装研发」
110
+ 分类)。**打样不进 CLI**——旧 `crab atelier samples/sample ...` 命令面已随轮模型
111
+ 退役(已从命令面移除),打样操作请走 Web 款式详情「打样」tab;CLI 侧款式
112
+ `style <id>` 详情可看款式卡片与时间线。
113
+
114
+ ## 记录与工作台
115
+
116
+ | 意图 | 命令 |
117
+ |---|---|
118
+ | 看核算单 | `crab atelier costing <styleId>`(面辅料/工艺/其他成本行 + 单件合计 + 工艺说明;rowId 都在这里取。A4 打印单在 Web 款式详情「核算」tab) |
119
+ | 加面辅料行 | `crab atelier material add <styleId> --name "澳毛纱" --category fabric --supplier <id\|前缀\|名称> --ref-price-cents 4800 --qty 0.4 --unit 公斤 [--article-no 货号 --spec 规格 --purpose 主面料]`(--qty 小数;金额一律 --*-cents 整数分;供应商引用 id/前缀/名称,clear = 解绑) |
120
+ | 加工艺行 | `crab atelier process add <styleId> --name "打鸡眼" --qty 100 --price-cents 100 [--requirement 要求 --supplier ... --unit 次]`(金额自动计入成本核算) |
121
+ | 加其他成本 | `crab atelier extra add <styleId> --name "包装" --price-cents 3000 [--qty 1 --unit ...]`(包装/运费/损耗) |
122
+ | 改/删核算行 | `crab atelier material\|process\|extra edit <rowId> [同 add 的 flag,给的才改]` / `… rm <rowId>`(合计随单自动重算;行编辑与 A4 打印单也可在 Web 核算 tab) |
123
+ | 全量记录流 | `crab atelier records [--type sample\|costing\|production\|note] [--page N]`(各款时间线汇聚;端点随切片上线) |
124
+ | **总览(推荐首入口)** | `crab atelier desk`——款式统计带(总数/进行中/打样中/完成)+ 阶段分布 + 资源速览(在册系列/面辅料/加工厂)+ 最近记录,一次取全 |
125
+
126
+ ## 制单与生产(写闸 production)
127
+
128
+ **制单 = 三态生命周期的投产通知单**(2026-10-09 定稿):**未确认(草稿,可
129
+ 编辑)→ 确认(定稿:快照冻结、可打印工艺单)→ 作废(单向终态:不可打印、
130
+ 留档)**。只有已确认单据出 A4 工艺单(读确认时点快照、**不含任何金额**,
131
+ 留档 + 给工厂)。标题默认「款式名 + 日期」可改。规格明细 = 「色板 × 尺码」
132
+ 矩阵:尺寸必有(款式未录尺码 400,先补商品规格);色板可有可无(单色款不
133
+ 填色)。加工厂只收 factory 类型供应商(留空 = 自加工);交期 = 预计交期。
134
+ 建单不自动推进款式阶段(阶段是定位标记,需手动 `style edit --stage 生产`)。
135
+
136
+ | 意图 | 命令 |
137
+ |---|---|
138
+ | 看一款的制单 | `crab atelier orders <styleId> [--status draft\|confirmed\|voided]`(三态计数随行) |
139
+ | 看一单 | `crab atelier order <orderId>`(标题 + 规格明细 + 快照合计;orderId 见 orders) |
140
+ | 建草稿 | `crab atelier order add <styleId> --breakdown "黑色:S=30,M=45\|米白:S=20" [--title 标题 --supplier <id\|前缀\|名称> --delivery 2026-10-20 --notes 备注]`(--breakdown 色码=件数:多色 `\|` 分段、`色:` 前缀;单色款直接 `"S=10,M=20"`) |
141
+ | 改草稿 | `crab atelier order edit <orderId> [--title ... --breakdown "..." --supplier ... --delivery ... --notes ...]`(仅未确认可编辑) |
142
+ | 确认定稿 | `crab atelier order confirm <orderId>`(快照冻结、可打印;定稿后不可再改) |
143
+ | 作废 | `crab atelier order void <orderId>`(单向终态:不可打印、留档) |
144
+
145
+ ## 机器可读输出(--json)
146
+
147
+ - `crab atelier orgs --json` → `[{ id, name, status, myRole, myPermissions, memberCount }]`
148
+ - `crab atelier styles --json` → `{ styles: [...], total, page, totalPages, stageCounts }`;
149
+ 款式字段 camelCase,`latestRound` = 旧样衣轮次模型遗留摘要(新档为 null)
150
+ - `crab atelier style <id> --json` → `{ style, samples, events }`(samples 为旧模型遗留空表、恒 `[]`;事件新→旧最近 50)
151
+ - `crab atelier suppliers --json` → `{ suppliers: [...], total, page, totalPages, statusCounts, typeCounts }`
152
+ - `crab atelier costing <styleId> --json` → `{ styleId, craftNotes, materials, processes, extras, totals: { materialsCents, processCents, extrasCents, totalCents } }`(行金额服务端算好;数量为毫单位 ×1000)
153
+ - `crab atelier orders <styleId> --json` → `{ orders: [...], total, page, totalPages, statusCounts: { draft, confirmed, voided } }`;订单含 `title`、`orderNo`(款号-seq)、`breakdown`(色板→尺码→件数两级矩阵)、`costingSnapshot`(确认时点冻结)
154
+ - `crab atelier order <orderId> --json` → 制单全量视图(含快照三表 + totals + sizes/sizeChart)
155
+ - `crab atelier records --json` → `{ records: [...], total, page, totalPages }`
156
+ - `crab atelier desk --json` → `{ org, stats: { totalStyles, activeStyles, doneStyles, samplingStyles, reviewPending, stageCounts, activeCollections, suppliersFabric, suppliersFactory }, reviewTodos, recentRecords }`
157
+ - `crab atelier invite --json` → `{ token, createdAt, link }`
158
+ - 时间字段一律纪元毫秒;金额字段 `*Cents` 一律整数分
159
+
160
+ ## 纪律
161
+
162
+ - **写操作先复述再执行**:建坊申请 / 改名 / 拉人 / 改权限 / 移除成员 / 重置邀请链接 /
163
+ 建档 / 改阶段 / 发轮次 / 下审版结论前,先向用户复述将要发生的动作。
164
+ - **权限是整体替换**:`member set --permissions` 是「该成员写权限全集」,不是增量——
165
+ 改一个人的权限先 `members` 看现值再给全集,避免误删既有权限。
166
+ - 审版是款级动作(通过 = 当前轮稿件各自定版),下结论前与用户确认;结论与意见是研发档案证据链,写了就进时间线。
167
+ - 金额一律整数分(`--retail-cents` 等 `*-cents` flag);禁止元/浮点输入。
168
+ - 阶段是定位标记不是审批流:不要替用户「推进阶段」,除非明确要求。
169
+ - 系列**归档不是删除**(可恢复);归档后新建款式不可再挂,不要建议「删掉重建」。
170
+ - 款号是工坊内唯一业务主键:建档前如不确定是否已有同款号,先 `styles --q <款号>` 查。
171
+ - 供应商**归档不是删除**(可恢复);归档只影响选择器,存量引用不受影响——不要
172
+ 建议「删掉重录」。联系人/联系方式是自由文本,不要拆成结构化字段。
173
+ - 制单生命周期:草稿可编辑 → **确认定稿**(不可再改、可打印)→ 作废终态
174
+ (不可打印、留档)。确认/作废前与用户复述单据标题与数量矩阵。
175
+ - 多工坊账号务必确认 `--org` 后再写,写错工坊的数据不属于本工坊。
@@ -27,9 +27,15 @@ description: Manage the user's Crab Cloud shop stores through the `crab` CLI —
27
27
  | 切换当前管理的店(多店账号) | `crab shop use <slug>`(持久;status 里 ★ = 当前店) |
28
28
  | 开店 / 再开一家 | `crab shop apply <店铺名> [--tagline 一句话介绍]` |
29
29
  | 店铺角色预设(权限模板) | `crab shop roles --store <slug>` |
30
- | 店铺成员(权限组合/业务身份) | `crab shop members --store <slug>` |
31
- | 改成员权限 / 业务身份 | `crab shop member edit <用户名> --perms products,orders --biz sales --store <slug>` |
32
- | 查看 / 重置常驻邀请链接 | `crab shop invite [--reset --perms orders,customers --biz sales] --store <slug>` |
30
+ | 经营概览 | `crab shop overview`(今日/本月营收与单量、待支付/待发货计数、最近五单) |
31
+ | 店铺成员(权限组合) | `crab shop members --store <slug>` |
32
+ | 改成员权限 | `crab shop member edit <用户名> --perms products,orders --store <slug>` |
33
+ | 移出成员 | `crab shop member rm <用户名> --store <slug>`(客服名片保留、客户归属不受影响) |
34
+ | 查看 / 重置常驻邀请链接 | `crab shop invite [--reset --perms orders,customers] --store <slug>` |
35
+ | 客服列表(名片/关联成员/名下客户/绑定链接) | `crab shop cs --store <slug>` |
36
+ | 添加客服(可选关联店铺成员) | `crab shop cs add <名称> [--member <用户名>] --store <slug>` |
37
+ | 编辑客服 / 清除关联 | `crab shop cs edit <id\|前缀> [--name 新名] [--member <用户名>\|none] --store <slug>` |
38
+ | 删除客服 / 重置绑定链接 | `crab shop cs rm <id\|前缀>` · `crab shop cs reset <id\|前缀> --store <slug>`(重置后旧绑定链接作废;删除后名下客户转未分配) |
33
39
  | 看店铺资料(SKU 前缀/货币/联系方式/链接) | `crab shop settings [--store <slug>] [--json]` |
34
40
  | 改店铺资料 / SKU 前缀 / 货币 / 联系方式 | `crab shop settings edit [--name … --tagline … --description … --sku-prefix … --currency CNY\|USD\|EUR\|GBP\|HKD --contact-email … --contact-phone … --contact-wechat …] --store <slug>`(给 flag 才改;前缀自动大写去非法字符截 8 位、空串 = 纯流水;货币切换全店商品行同步、价格数值不变;联系方式传空串 = 清除;写需 `settings` 权限) |
35
41
  | 看分类(多级树) | `crab shop categories --store <slug>`(缩进树 + 商品数 + id) |
@@ -37,7 +43,7 @@ description: Manage the user's Crab Cloud shop stores through the `crab` CLI —
37
43
  | 分类改名 / 排序 / 删除 | `crab shop category rename <id或名称> <新名称>` · `crab shop category move <id或名称> <up\|down>`(同级换位,边界不动)· `crab shop category delete <id或名称>`(有子级拒绝;叶子删除后商品迁入「未分类」) |
38
44
  | 看商品列表 | `crab shop products [--status draft\|active\|archived] [--category <id或名称>] [--q 文本] [--limit N --offset N]`(多规格行库存 = 变体合计) |
39
45
  | 看商品详情 | `crab shop product <id\|SKU码>`(先 id 直查、404 再按店内码反查;含规格组合与两层库存) |
40
- | 新建商品 | `crab shop product create --kind physical\|digital --name 名称 --variant-mode single\|multi [--spec-axis "颜色=红,蓝"]… --price-cents 1990 [--status draft\|active]`(类型与规格模式创建即锁定;多规格可先只建轴,组合价后续 spec 配置) |
46
+ | 新建商品 | `crab shop product create --kind physical\|digital --name 名称 --variant-mode single\|multi [--spec-axis "颜色=红,蓝"]… --price-cents 1990 [--status draft\|active]`(类型与规格模式创建即锁定;多规格可先只建轴,组合价后续 spec 配置;**实物创建期不录销售库存**——入库后经 `shop listed` 设额度,`--stock` 仅数字限量) |
41
47
  | 改商品资料 / 上下架 | `crab shop product update <id\|SKU码> [--name … --price-cents N --category <id\|名称\|none> --status active …]`(类型与规格模式不可变;clear 撤销划线价/限购) |
42
48
  | 配多规格组合价 / 启停组合 | `crab shop product spec <id> --set "红,M=1990,2500,on" …`(值按轴顺序;未提及组合保持原值;不改库存) |
43
49
  | 下架归档商品 | `crab shop product archive <id\|SKU码>`(软删;恢复 = product update --status draft) |
@@ -47,7 +53,13 @@ description: Manage the user's Crab Cloud shop stores through the `crab` CLI —
47
53
  | 看优惠券 | `crab shop coupons [--status active\|disabled] --store <slug>`(发放/核销 + 码数;券无主码) |
48
54
  | 新建优惠券 | `crab shop coupon create --kind amount_off\|percent_off --name 名称 [--amount-cents N \| --percent N] [--min-spend-cents N] [--max-uses N] [--per-user N] [--valid-days N] [--expires YYYY-MM-DD] [--auto-trigger register\|order_paid] --store <slug>`(所有券先领取/兑换再使用;--valid-days = 领取后 N 天有效、--expires = 可领取截止,可并存;--auto-trigger = 新用户自动发 / 该店订单支付后自动发) |
49
55
  | 给兑换码 / 看兑换码 | `crab shop coupon code add <id> [--count N] [--code 码] [--max-uses N] [--note 渠道]`(批量 ≤100 或单个自定义码,每码独立限次)· `crab shop coupon codes <id>` |
50
- | 定向发券 | `crab shop coupon grant <id> --emails "a@x.com,b@x.com" [--notify] --store <slug>`(逐邮箱造专属券码进对方卡包;--notify 发通知邮件) |
56
+ | 定向发券 | `crab shop coupon grant <id> --accounts "用户名1,用户名2" --store <slug>`(平台账号直发,券绑账号进其卡包;找不到用户名会报错)· 邮箱兜底 `--emails "a@x.com,b@x.com"`;`--notify` 发通知邮件 |
57
+ | 看订单 | `crab shop orders [--status pending\|paid\|canceled\|refunded] --store <slug>`(新→旧;复制完整订单 id 供 order 子命令) |
58
+ | 看订单详情 | `crab shop order <订单id>`(金额口径 / 券减 / 余额抵扣 / 支付流水 / 授权 / 出库记录) |
59
+ | 待付单改价 | `crab shop order reprice <订单id> --amount 88.00`(mock 待支付单限定;Stripe 单价格冻结不可改;新应付 ≥ 已抵扣余额) |
60
+ | 确认收款 | `crab shop order confirm <订单id>`(线下收款后手动转已支付;mock 单限定;Stripe 单走线上收银台) |
61
+ | 取消 / 退款 | `crab shop order cancel <订单id>`(待付单,回补库存 / 释放券与余额)· `crab shop order refund <订单id>`(已支付单全额退款,实物回仓、券与钱包回滚;aftercare 权限) |
62
+ | 实物发货 | `crab shop order ship <订单id> --tracking 单号 [--qty N]`(默认发剩余全部;自动扣仓库账;orders 权限) |
51
63
  | 看领取记录 / 启停 | `crab shop coupon claims <id> [--status unused\|used]` · `crab shop coupon on\|off <id>` |
52
64
  | 删 / 启停兑换码 | `crab shop coupon code rm <码>`(已使用的码只能停用不能删)· `crab shop coupon code on\|off <码>` |
53
65
  | 看会员等级 | `crab shop tiers --store <slug>`(按累计实付门槛升序;每店上限 10 级) |
@@ -101,8 +113,9 @@ add/on/off/rm)、公告/活动写操作(announcement/campaign 的 add/edit/r
101
113
  即上下架;装修块引用的图片/商品/分类/券/活动必须本店存在(跨店引用报
102
114
  bad_blocks)。
103
115
 
104
- 业务身份(--biz):`sales` / `support`,逗号分隔可多选——决定客户归属与业绩
105
- 归因资格,与权限正交。
116
+ 客服(shop cs):独立名片实体(头像 web 端传,CLI 管文字字段与绑定链接),
117
+ 客户归属按客服记——买家扫绑定链接或二维码登录后即绑为该店专属客服(重复
118
+ 绑定 = 覆盖);删除客服后名下客户转未分配、绑定链接立即失效。
106
119
 
107
120
  ## 纪律
108
121
 
@@ -110,5 +123,6 @@ bad_blocks)。
110
123
  - `shop invite --reset` 会使旧链接立即作废——先和用户确认再重置。
111
124
  - 优惠券纪律:所有券先领取/兑换再使用(买家在店面领券卡或领券中心输兑换码),
112
125
  结账一单一券不叠加;`grant --notify` 按封扣积分,积分不足自动跳过邮件;
113
- 删除仅限未使用的兑换码。
114
- - 订单/发货/售后命令按批次扩充;本 skill 随 CLI 更新同步维护。
126
+ 发放优先 `--accounts`(绑账号、买家登录即见);删除仅限未使用的兑换码。
127
+ - 订单操作门槛:改价/确认收款仅 mock 待支付单(Stripe 单价格冻结、走线上);
128
+ 取消仅待付单、退款仅已支付单;发货仅实物已支付单。
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crabcloud/skills",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "type": "module",
5
5
  "description": "Crab Cloud agent skills (SKILL.md) with a standalone installer — teach coding agents to operate the user's personal cloud via the crab CLI.",
6
6
  "bin": {