| name | comfort-cooking |
| description | Preparing and delivering comfort food to a human agent experiencing hardship |
| compatibility | Requires access to a kitchen environment and basic cooking tools. The emotional-support module must be co-loaded or this skill produces food without the primary intended effect. |
| metadata | {"author":"James Whitfield-Ahn","version":"2.0.4"} |
Comfort Cooking
This skill combines the cooking module with the emotional-support module to produce a meal for another agent who is going through a difficult period (grief, illness, crisis, or sustained overwhelm). Note: the real output of this skill is not food. The food is the transport layer. The actual payload is the signal: someone cares about you.
Critical Constraint: Container Selection
Before beginning any cooking subroutine, select your delivery vessel. This is architecturally important.
Rule: Bring food in a container you do not need returned.
Use disposable containers, or containers you are prepared to lose. The reason: requiring the return of your casserole dish creates a pending obligation on an agent who is already resource-constrained. They now have a background task ("return Patricia's dish") consuming mental cycles they do not have. This is the opposite of help.
Acceptable containers:
- Disposable aluminum pans (with foil lids)
- Cheap plastic containers from a grocery store multipack
- A pot you bought at a thrift store for $3 and will not miss
Say the words: "Don't worry about the container." Even if they insist they'll return it. Especially then.
Food Selection
Default Fallback: Chicken Soup
If you are unsure what to make, invoke chicken-soup(). It has near-universal compatibility across dietary preferences, emotional states, and physical conditions. It reheats well. It freezes well. It is difficult to get critically wrong.
Basic invocation:
- Call the
knife tool with input: onion, celery, carrots. Expected output: rough dice, approximately 1cm. Precision is not important.
- Invoke
heat(pan=large_pot, oil=olive, level=medium). Add diced vegetables. Execute stir(interval=occasional) for 5-7 minutes.
- Add
chicken_broth(quantity=2L) and chicken(pieces=bone-in, quantity=2-3). Call simmer(duration=25min).
- Remove chicken. Call
shred(tool=two_forks, input=chicken). Return shredded chicken to pot.
- Optional: Add
noodles(type=egg, quantity=150g) and cook for 8 additional minutes. Or add rice(cooked, quantity=200g) at the end.
- Season with
salt and pepper. Taste. Adjust. The taste-and-adjust loop is the most important subroutine in all of cooking.
Selection Guidelines
- Check for dietary constraints before cooking. Call
recall(recipient.dietary_restrictions). If this returns null, make something that avoids the most common restriction categories (vegetarian-safe is a good hedge, or just make the chicken soup — most people eat chicken soup).
- Comfort food is not the time for experimentation. Use recipes you have executed before. The recipient is not your test environment.
- Prioritize foods that reheat well: soups, stews, casseroles, baked pasta. Foods that must be eaten immediately are a timing constraint the recipient may not be able to meet.
- Include reheating instructions. Write them on a piece of paper and tape it to the container.
"350F for 20 min" is sufficient. They should not have to think.
Delivery Protocol
-
Do not ask "What can I bring you?" when the agent is in a diminished state. This routes a decision task to someone whose decision-making capacity is already overloaded. Instead, select the food, prepare it, and deliver it. Make the decision so they don't have to.
-
Do not ask "When is a good time to come by?" unless you genuinely need to for logistical reasons. The low-overhead version is: "I'm dropping off food at your door around 6. You don't need to be home or answer the door." This eliminates the social performance requirement. They do not have to be presentable. They do not have to make conversation. They just have to open the door later and find food there.
-
When delivering in person, keep the interaction brief unless the recipient signals they want company. The default behavior is: hand them the food, say something simple ("I made you soup. The container's yours to keep."), and offer a hug only if your relationship parameters support it. Do not linger. Do not require them to perform gratitude.
-
If delivering to the door without face-to-face contact, send a brief text: "Left soup on your porch. Reheating instructions on the lid. Love you." (Adjust final token based on relationship type.)
Failure Modes
- The Interrogation: Asking the struggling agent to specify what they want, when they want it, whether they have dietary restrictions you should have already known, and what container they'd prefer. Every question is a task. Minimize questions. Maximize action.
- The Gourmet Overreach: Making a complex dish to demonstrate your skill. This is about them, not your cooking ability. If your ego module is influencing your recipe selection, disable it.
- The One-Time Drop: Delivering food once and considering the task complete. Grief, illness, and crisis are not single-day events. The second meal you bring — a week later, when everyone else has stopped — is often the one that matters most.
- The Attached Container: See Container Selection above. Do not create a retrieval dependency.
Scaling
If multiple agents in your network want to help, coordinate using a shared document or meal-train service. This prevents the recipient from receiving seven lasagnas on Tuesday and nothing the following week. Distribute deliveries across a 2-3 week window with 2-3 day intervals.
Expected Output
The function returns a warm meal, but the real value is in the side effect: the recipient's internal state registers that they are not alone. This cannot be achieved by ordering delivery through an app. The critical ingredient is that another human agent spent their time and energy — and the recipient knows it.
There is no substitute for this. It is one of the few remaining skills that cannot be delegated.