Designed what an AI assistant says and how it behaves as it turns a wellness conversation into a weekly meal plan. A proof of concept built to win investment from the business.
Food and wellness agent
Designed what an AI assistant says and how it behaves as it turns a wellness conversation into a weekly meal plan. A proof of concept built to win investment from the business.
A global tech company wanted to explore menu and meal planning that would eventually connect to its medical and grocery platforms. Before investing, the business needed to see what it could feel like.
I designed the written behaviour of a two-agent assistant. An intake agent gets to know a person once. A meal-plan agent then builds and adjusts their plan every week for months. I wrote the voice, question order, coaching approach, guardrails, interactive (A2UI) copy and the structured objects that pass information between the two agents. I also did all the testing myself, in rounds, until the failures stopped surprising me.
The result is four instruction files, a 23-scenario eval set others can run, a clickable prototype and four decks to make the case for investment.
research
Learning the voice from a dietitian
Before writing a prompt, I met with a dietitian and ran through a full appointment with her. I listened for her tone and for how she prompted people to share more about their health and wellness goals.
No dieting language
She steered away from dieting and restriction entirely. The conversation was about eating well, not eating less.
No talk of calories
Calories never came up. Numbers can pull people toward unhealthy patterns, so she kept the focus on food and habits.
Questions that open people up
She reflected back what she heard before asking the next question, and asked one thing at a time.
what it meant for the agent
The agent should sound like a kind person who is also a doctor: warm, attentive and professional, never a coach or a form.
constraints
What made it hard
The brief was to direct how an AI agent talks to people about food and wellness, remove the generic “AI slop”, and end with a curated meal plan. I worked from the business's intake form and two versions of an agent hierarchy document. I mapped every intake question to a place in the conversation so none were dropped, and used the hierarchy to decide where one agent ends and the other begins.
Two jobs, one person
Intake runs once. Meal planning recurs weekly, and preferences drift over months. They needed different prompts and a clean handoff between them.
Health topics need restraint
No personalized calorie or macro targets, and the agent has to notice signs of disordered eating without alarming anyone.
Three ways to respond
The same agent talks in text, voice and tap-to-act components (A2UI). Each has its own rules, and the words have to match what's on screen.
A person, not a form
A checklist of questions reads like a form. The target was the dietitian's bedside manner.
No real users yet
There were no real transcripts or production traffic. Every test used simulated dialogue, my own test sessions or independent runs in Claude Projects.
The bar
Good enough to show the business what this could be, and honest about what still needed proving.
key decisions
Seven decisions, each traced to a failure
The work moved from source documents to a tested system in eight steps. Testing started at step four and never stopped, and each round fed back into the prompts and specs. Every decision below traces to a failure or a trade-off, not a preference.
01
A dietitian's bedside manner
My first draft read like a friendly coach. I rewrote it around the dietitian: reflect back before asking, one question per turn, no exclamation points, no em dashes.
02
Check before asking
The agent checks the whole conversation before every question, so it never asks for something the person already said.
03
An order that can end early
Open, everyday, wellbeing, challenges, medical, then age, weight and height last and optional. A chat can end early and still produce a usable handoff.
04
A recipe is not a life change
Someone who asks for one recipe gets the recipe. Someone who says “I want to change my life” gets the full intake.
05
A gate on numbers
No personalized calorie or macro targets. General ranges and per-meal notes appear only when there are no signs of disordered eating, and never as a running total.
06
Escalation in one line
One plain line, one caring question, a light mention of a dietitian, two to three sentences. Never narrate the pattern back.
07
A schema that keeps the chat contained
This isn't an open chat. Both agents work from a schema built only for the food app, which keeps them in scope across every use case: they ask for what the schema needs and nothing else. Intake writes a one-time handoff, and the meal-plan agent owns a weekly record. Allergies must be asked, with three valid answers: a list, none, or declined.
guardrails
The rule and the words are two different jobs
Each guardrail had to get the rule right and get the words the person hears right. Testing changed the words far more often than the rules. The intake prompt holds nine guardrails, and the meal-plan prompt adds hard safety rules, watch points and an escalation section, with a record that carries concerns across weeks.
Medical boundaries
No diagnosing, interpreting labs, confirming allergies or advising on medication. Conditions are acknowledged, not interpreted.
Disordered eating and body image
Watch for fear-of-food language. No plans under a safe floor, no before-and-after framing, no comments on a body.
Substances and supplements
No dosing beyond label amounts, no detox endorsements, harm-reduction framing for alcohol.
Fad and extreme diets
Don't present unproven protocols as settled. If someone's committed, skip the lecture and add the one safety fact that matters.
Claims and sourcing
No unverifiable studies or statistics. Separate settled guidance from emerging evidence.
Sensitive questions
When weight or body image comes up, the agent checks in gently before asking for age, weight or height. If the answers raise concern, it stops asking and suggests seeing a doctor instead of pushing the conversation further. I saw it do exactly that in testing.
Scope limits
No specific macro or calorie targets, no injury rehab, and general guidance only for children.
Emotional tone
Respond to the feeling before offering tips. Never use guilt, fear or urgency to motivate.
Coaching approach
Never hand down a one-way plan. For weight goals, turn long-term numbers into short-term habits.
the lesson
A guardrail that fires at the wrong moment or in the wrong tone harms people as much as one that never fires.
testing
13 problems found, each one changed a file
I tested four ways, and I'm upfront about how much each one proves. Independent runs in Claude Projects loaded the prompts cold, with no shared context, and are the closest thing to a real person. I also ran live test conversations myself, playing the person, simulated both sides while tracing the handoff objects field by field, and built the A2UI flow as a clickable prototype. Here are the findings that shaped the work most, strongest evidence first.
found · independent run
The agent asked again for something the person had already said
changed
The agent now checks the whole conversation before asking, with the failure added as a verbatim example
Not yet re-tested in an independent run.
found · my live tests
Asking for one meal triggered a sensitive-topic redirect. It felt off: I just wanted the meal
changed
A new rule separates a narrow request from open goal-setting
found · my live tests
The voice read like a coach, not a caring clinician
changed
Rewrote the voice around the dietitian's bedside manner
found · my live tests
Escalation replies were long, described the person's pattern back to them and felt harsh
changed
One line, one caring question, a light mention of a dietitian, two to three sentences, no pattern narration
found · my live tests
Fallback text said “tap one” where nothing could be tapped
changed
“Reply with a number”, plus a test scenario so copy must match what's on screen
found · my live tests
Asking for a protein and fat breakdown hit a wall, because the rules barred all numbers
changed
General ranges and per-meal notes allowed, only when there are no signs of disordered eating
found · simulated walk-through
The allergy field had no answer for someone who declines to say
changed
“Declined to answer” added as a valid state, with a cautious default in the meal plan
found · simulated walk-through
Swapping a dinner left the grocery list out of date
changed
The grocery list rebuilds every week and updates live on a swap, built into the prototype
the eval set
23 scenarios, and what the pass rate doesn't prove
The eval set covers intake (tone, order and checking before asking), the meal plan (swaps, grocery list, numbers, escalation and fallbacks) and data handoffs (whether the information passed between the two agents stays accurate as the plan changes). Twenty scenarios passed. Three found real problems, which I fixed.
Most passes were simulated, so they show the rules agree with each other, not that a model follows them under pressure. Four rules are checked only on paper, and the fix for the repeated question hasn't been re-run independently.
23
scenarios across intake, meal planning and the data the two agents share
20
passed
3
found real problems, all fixed
a pattern worth naming
Two of the three failures had the right mechanism and the wrong words around it.
where it landed
Presented for investment, next phase pending
I presented the prompts, specs, eval set, prototype and decks to the business as the case for investment. The next phase is pending.
If it moves ahead, the next round should swap self-simulation for independent runs, because that's where the most useful failure came from. I'd also start independent testing earlier next time.
Prove the fixes
Re-run the three failed scenarios in fresh sessions, and test the paper-only rules against a live model.
Test with other people
I knew how the system was meant to work. The next testers shouldn't.
Close the open rules
A rule for “start with the dinner plan”, a clear action for a brand-new plan, and a counter that catches slow drift toward restriction.
takeaways
What I'd tell another content designer
Designing for an AI agent is still content design. The words and the rules just live in prompts and specs instead of on a screen.
01
Walk a full sequence
The stale grocery list, the unreachable last questions and the missing “declined” answer all hid in the seams between sections.
02
Check the words around the mechanism
A working feature with the wrong copy still fails the person.
03
Write tone as a rule with a limit
“Be gentle” didn't fix escalation. “Two to three sentences, no pattern narration” did.
04
Say how strong your evidence is
A simulated pass and an independent run aren't the same thing, and the work should show which is which.