# Confectionery Skills Hub A set of skills (*tool definitions*) for recipe management and order processing in a sweet shop / confectionery. --- ## 1. Skill: `create_recipe` Registers a new dessert recipe in the sweet shop's catalog. ### When to use * The user wants to register a new recipe, cake, candy, or preparation. * The user provides a list of ingredients and yield weight for registration. ### Parameter Schema | Field | Type | Required | Description | | :--- | :--- | :--- | :--- | | `recipe_name` | `string` | Yes | Official name of the recipe (e.g., `"Carrot Cake with Brigadeiro"`). | | `type` | `string` (enum) | Yes | Category: `"cake"`, `"candy"`, `"ice_cream"`, `"pie"`, `"other"`. | | `yield_kg` | `number` | Yes | Estimated final yield in kg (e.g., `1.8`). | | `ingredients` | `string[]` | Yes | List of ingredients with approximate quantities. | | `description` | `string` | No | Brief preparation method or sensory notes. | ### Sample Input (Tool Call) ```json { "recipe_name": "Ninho Volcano Cake", "type": "cake", "yield_kg": 2.1, "ingredients": [ "4 eggs", "2 cups all-purpose flour", "1 cup powdered milk", "1 can sweetened condensed milk", "200ml heavy cream" ], "description": "Fluffy cake with generous creamy filling in the center." } ``` ## 2. Skill: `search_recipe` Searches the catalog to list recipes by name or category. ### When to use * The user asks whether a specific dessert is on the menu. * The user wants to see ingredients or view items belonging to a specific category (e.g., "what pies do we have?"). ### Parameter Schema | Field | Type | Required | Description | | :--- | :--- | :--- | :--- | | `search_term` | `string` | No | Keyword or partial name of the dessert (e.g., `"brigadeiro"`). | | `type` | `string` (enum) | No | Category filter: `"cake"`, `"candy"`, `"ice_cream"`, `"pie"`, `"other"`. | ### Sample Input (Tool Call) ```json { "search_term": "carrot", "type": "cake" } ``` ## 3. Skill: `create_order` Registers a new custom order or counter sale in the sweet shop. ### When to use * The customer or attendant requests to complete an order. * Items to purchase, customer details, and delivery information are provided. ### Parameter Schema | Field | Type | Required | Description | | :--- | :--- | :--- | :--- | | `customer_name` | `string` | Yes | Full name of the customer. | | `delivery_address` | `string` | Yes | Shipping address or `"Store Pickup"`. | | `items` | `object[]` | Yes | List containing the purchased items. | | `items[].item_name` | `string` | Yes | Name of the product. | | `items[].quantity` | `integer` | Yes | Quantity of units or portions. | | `items[].unit_price` | `number` | Yes | Unit price in local currency (BRL). | | `discount` | `number` | No | Flat discount amount applied in local currency (BRL). Default: `0`. | ### Sample Input (Tool Call) ```json { "customer_name": "Fernanda Lima", "delivery_address": "Av. Paulista, 1000 - Apt 42", "items": [ { "item_name": "100-Pack of Gourmet Brigadeiros", "quantity": 1, "unit_price": 120.00 }, { "item_name": "Whole Dutch Pie", "quantity": 1, "unit_price": 85.00 } ], "discount": 15.00 } ```