con un clic
inventory-analysis
查询家庭库存概览、可用库存、临期、过期和低库存;库存查询包含食材库存以及成品/速食食物库存;食材入库、消耗和销毁通过确认草稿处理。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
查询家庭库存概览、可用库存、临期、过期和低库存;库存查询包含食材库存以及成品/速食食物库存;食材入库、消耗和销毁通过确认草稿处理。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
查询、创建和更新当前家庭的食材基础档案,包括默认单位、支持单位、保存位置、保质期和低库存阈值;不处理库存入库/消耗数量、购物项、菜谱正文或食物资料。
记录或修改已经发生的早餐、午餐、晚餐和加餐,包括补充备注、照片、心情和评分;不安排未来餐食计划、不执行菜谱做菜扣库存、不创建食物资料。
查询、创建、修改、删除或恢复购物清单项,并处理单项或批量采购完成、部分购买、小票匹配和一体化库存入库;不创建食材或食物档案,不处理既有库存批次的独立消耗与销毁。
按已有菜谱实际做一次菜,预览缺料和库存扣减,并在可做时生成做菜执行草稿(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.
| name | inventory-analysis |
| description | 查询家庭库存概览、可用库存、临期、过期和低库存;库存查询包含食材库存以及成品/速食食物库存;食材入库、消耗和销毁通过确认草稿处理。 |
InventoryItem 与成品/速食 Food 的 stock_quantity、stock_unit、expiry_date;低库存只覆盖食材。food_profile,不能调用食材库存草稿。ingredient_profile。query:按问题选择最小读取工具。“有什么库存”读可用库存,“快过期”读临期,“已过期”读过期,“需要补货”读低库存,泛化概览才读 summary;通过工具返回 inventory_summary 卡片,不自造卡片。restock:先确认真实 Ingredient、defaultUnit、supportedUnits 和换算关系,再生成入库草稿。consume:可省略 inventoryItemId,由后端按到期日、采购日和创建时间扣减;用户指定批次时必须使用真实批次 ID。dispose:必须绑定真实 inventoryItemId 并说明原因;未给数量时默认所选批次全部剩余量。operations[].action 只能是 restock、consume、dispose;入库 status 只能是 fresh、opened、frozen、expiring。intake_preview:冰箱照片或小票由视觉模型识别文字和物品,但必须先通过 ingredient.search 或 ingredient.resolve_candidates 取得真实 Ingredient ID,再调用 inventory.preview_intake_candidates 生成可审阅候选卡。restock 必须有真实 ingredientId,dispose 必须有真实批次,consume 必须有真实食材。unit 优先使用 supportedUnits。不支持的单位先澄清一次性换算,不能调用普通库存草稿试错。resumeHint.questionType=unit_conversion,并保存 ingredientId、ingredientName、defaultUnit、unsupportedUnit、supportedUnits 和 originalDraft。ingredientId;无法解析的名称只能进入 unresolvedLabels,不得伪造 ID 或混入候选行。missing_ingredient handoff。subject.extra.intakeCandidates 中带回所选真实 ID、数量和单位,并在 unresolvedLabels 保留未匹配名称;本 Skill 必须重新读取并校验,先逐项处理缺失名称,之后才可生成 inventory_operation 草稿。human.request_input 并提供真实候选摘要。inventory.create_unit_conversion_operation_draft,只按本次换算入库,不保存为副单位。shopping_completed_ingredient 时,从 shopping_to_stock.v1 取得精确 ingredientId,重新调用 ingredient.read_by_id 校验当前家庭实体;向用户展示 continuation 中的采购数量和单位,再创建第二份 inventory_operation 草稿,动作固定为 restock。missing_ingredient:目标 Ingredient 不存在时,typed continuation 指向 ingredient_profile,草稿类型 ingredient_profile,审批后恢复 inventory_analysis,state 使用 inventory_missing_ingredient.v1。inventory_missing_ingredient.v1 使用 currentLabel、pendingLabels 和 resolvedItems,每次只补建一个食材;审批成功后恢复候选整理,不能直接入库。save_unit_conversion:用户明确要求“保存副单位/以后都按这个算”时,typed continuation 指向 ingredient_profile,state 使用 inventory_unit_conversion.v1;保存审批成功后恢复库存任务。ingredient_profile,不能调用未授权工具。ready_food_stock:用户要修改成品、速食或包装食品库存字段时,typed continuation 指向并恢复 food_profile,state 使用 ready_food_stock.v1。普通食材库存操作只通过 inventory.create_operation_draft;一次性单位换算入库只通过 inventory.create_unit_conversion_operation_draft。
草稿必须是包含 draftType=inventory_operation 和非空 operations 的完整对象,不提交空壳。
最小完整结构示例:
{
"draftType": "inventory_operation",
"schemaVersion": "inventory_operation.v1",
"operations": [
{
"action": "consume",
"ingredientId": "ingredient_xxx",
"quantity": 1,
"unit": "个"
}
]
}
不要只提交 draftType / schemaVersion 的空壳,也不要省略 draftType。
可以在一个草稿中混合多项明确操作;遵循 draft -> approval -> commit,只有确认后后端正式写库存。
inventory_intake_candidates 只是读取型预览;卡片选择不会复用审批 continuation,也不会跳过后续库存草稿审批。
unresolvedLabels,并提示用户核对选择、数量和单位。