ワンクリックで
shopping-list
查询、创建、修改、删除或恢复购物清单项,并处理单项或批量采购完成、部分购买、小票匹配和一体化库存入库;不创建食材或食物档案,不处理既有库存批次的独立消耗与销毁。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
查询、创建、修改、删除或恢复购物清单项,并处理单项或批量采购完成、部分购买、小票匹配和一体化库存入库;不创建食材或食物档案,不处理既有库存批次的独立消耗与销毁。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | shopping-list |
| description | 查询、创建、修改、删除或恢复购物清单项,并处理单项或批量采购完成、部分购买、小票匹配和一体化库存入库;不创建食材或食物档案,不处理既有库存批次的独立消耗与销毁。 |
shopping_list 处理 create、update、delete 和 set_done(done=false) 恢复待买。set_done(done=true)、部分采购、仅完成不入库或批量采购都使用 shopping_intake,不得用普通购物草稿绕过一体化审批。inventory_analysis;Ingredient/Food 建档交给对应 profile Skill;餐食计划交给 meal_plan。readyMade、instant、packaged Food。不得把外卖、堂食或自制 Food 当作可采购成品。query:调用 shopping.read_pending;默认 status=pending,查询已完成项目使用 status=completed,同时查看两类时使用 status=all。create:先用 purchasable.resolve_candidates 解析采购对象,再读取待买项和库存并去重。“低库存”“需要补货”“把库存不足的加入清单”必须调用 inventory.read_low_stock_items,因为它包含少量剩余和已经归零但配置了阈值的食材。update/delete/restore:先读取真实购物项,草稿携带 targetId 与 baseUpdatedAt。恢复待买按名称调用 shopping.read_pending(status=completed),再生成 set_done(done=false)。shopping.create_draft 不得生成 set_done(done=true);Tool 会拒绝并要求改用 shopping.create_intake_draft。quantityMode 只能是 track_quantity 或 not_track_quantity。presence-only 采购不硬填精确数量。shopping.read_pending,再用 human.request_input 让用户多选;不能默认选择当前家庭全部 pending 项。shopping_intake 只能引用当前家庭、仍为 pending 的真实购物项;购物项和入库 Ingredient/Food 必须是同一个已绑定目标。shopping.preview_intake_candidates 返回的购物项、目标 ID 和版本上下文是真相源;模型输入的 expected version、state ID 和 canonical actual quantity不可信。complete_without_inventory 除外。shoppingItemId。shopping.preview_intake_candidates,使用它返回的真实 ID 和版本上下文,不自行编造匹配。confirmed 可直接进入草稿。suggested 是唯一合理候选,可自动预选,但草稿必须展示 matchReason;用户批准整份草稿即接受该建议。ambiguous 必须先请求用户选择真实购物项或目标,不能提交仍为 ambiguous 的行。unmatched 不进入本次事务,放入 unmatchedCandidates,明确标注“不会随本次提交”。ingredient_profile 创建食材档案。food_profile 创建食物资料。enteredQuantity、enteredUnit;没有可靠实际数量时保持为空,不得用 planned quantity 代替。packageConversion,并保留倍率、目标单位和证据,例如 1 箱 × 12 盒/箱 = 12 盒。不得把一次性换算写回长期单位配置。stock_and_fulfill 或 complete_without_inventory。inventory.read_low_stock_items 返回的 ingredientId 才是采购目标;inventoryItemId 只是批次 ID,不得写入购物项绑定字段。purchasable.resolve_candidates 的 ambiguous 结果必须请求选择;missing Ingredient 进入 missing_ingredient,missing ready-like Food 进入 missing_ready_food。recipe_shortage artifact;逐个调用 ingredient.read_by_id 重读当前家庭食材。presence-only 缺料的模型 payload 省略 quantity 和 unit。in_run:* 草稿或同会话可读取的真实 artifact;完整内容通过 workspace.read_artifact 读取。sourceDraftId 只能来自当前运行 artifact 的 in_run:* ID,或同一会话真实存在的持久草稿 ID。missing_ingredient / missing_ready_food continuation 每次只创建一个 profile 草稿;profile 审批成功后恢复本 Skill,不自动提交购物草稿。shopping_completed_ingredient / shopping_completed_food continuation 只做历史兼容;新的“买到了”请求不再生成这条两阶段路径。shopping.create_draft 生成 shopping_list 草稿。shopping.create_intake_draft 生成 shopping_intake.v1 草稿。clientRequestId、购物项/Ingredient/Food/state 的 row version 和 canonical actual quantity 由后端归一化或计算,模型不得编造。unmatchedCandidates 是只读展示,executor 永远忽略。查询、创建和更新当前家庭的食材基础档案,包括默认单位、支持单位、保存位置、保质期和低库存阈值;不处理库存入库/消耗数量、购物项、菜谱正文或食物资料。
记录或修改已经发生的早餐、午餐、晚餐和加餐,包括补充备注、照片、心情和评分;不安排未来餐食计划、不执行菜谱做菜扣库存、不创建食物资料。
按已有菜谱实际做一次菜,预览缺料和库存扣减,并在可做时生成做菜执行草稿(v2 always-record);可关联计划;不新建/编辑菜谱、不做普通餐食记录或未来餐食安排。
创建、补全、更新或删除菜谱正文和结构化配方草稿,包括食材、步骤、份数、耗时和难度;不执行做菜扣库存、不记录餐食、不安排餐食计划。
Use when modifying or reviewing Culina frontend pages, components, dialogs, forms, cards, status surfaces, AI workspace UI, mobile layouts, responsive behavior, or CSS where project-specific visual rules apply.
Use when reviewing Culina backend diffs, pull requests, FastAPI routes, SQLAlchemy models or queries, Alembic migrations, services, repositories, serializers, permissions, media flows, AI runtime or approval changes, and backend test coverage for correctness and data-boundary risk.