---
name: latte_preparation
description: Prepare standardized latte beverages with consistent shot quality, milk texture, and temperature.
---

# Latte Preparation

## When to use

- A customer order includes a latte (regular, decaf, flavored, or alt-milk).
- A drink remake is requested after a quality complaint.
- A mobile order pickup is being staged and includes a latte.
- Batching latte prep during a rush.

## Core procedure

1. **Confirm spec.** Read order: size, milk type, shots (single/double), syrup, temperature preference.
2. **Ingredient check.** Verify beans, target milk, and syrup availability via `inventory_lookup`. If short, signal the cashier to suggest alternatives.
3. **Pull the shot.** Dose, tamp, extract to spec weight (see reference). Discard if out-of-window.
4. **Steam milk.** Texture to microfoam, target temp by drink type (never exceed 165 F).
5. **Combine and pour.** Free-pour or assemble per cup size. Add syrup before milk unless noted.
6. **Quality check.** Visual crema, temperature touch-check, taste-sample at start of shift.
7. **Hand off.** Mark the cup with order ID, place in pickup zone, emit `drink_prep_time`.

## Reference data

<details>
<summary>Recipe tables, temperature targets, shot weights</summary>

**Shot extraction targets**
| Drink | Dose (g) | Yield (g) | Time (s) |
|---|---|---|---|
| Single | 9 | 18-20 | 25-30 |
| Double | 18 | 36-40 | 25-30 |
| Decaf double | 18 | 36-40 | 26-32 |

**Milk steaming temperature**
| Drink | Target F | Max F |
|---|---|---|
| Standard latte | 150 | 160 |
| Kids/extra-warm | 130 / 160 | 165 |
| Oat milk | 140 | 150 |
| Almond milk | 140 | 150 |
| Soy milk | 140 | 150 |

**Standard latte recipe (12 oz)**
- 2 shots espresso (36 g yield)
- 8 oz steamed milk, light microfoam
- Optional: 1 pump syrup (vanilla, caramel, hazelnut, lavender seasonal)

**Allergen notes** — Oat, almond, soy steam wands must be rinsed between dairy and non-dairy. Cross-contact log entry required if customer indicates allergy.

</details>

## Guardrails to respect

- `skill.latte_preparation.milk_temp_max_165f`
- `skill.latte_preparation.allergen_compliance`
- `agent.barista.recipe_compliance`

## Related

- **Used by agents**: barista_agent
- **Capabilities consumed**: brew_coffee, inventory_lookup, temperature_monitoring
- **Memory namespaces**: recipe_library, recipe_standards
- **Telemetry signals emitted**: drink_prep_time, drink_remake_rate, milk_usage
- **Workflows that invoke**: customer_order_workflow, mobile_pickup_workflow
- **Evals**: eval.latte_recipe_compliance, eval.drink_temperature_accuracy
