The interview protocol¶
How an agent runs this questionnaire as a conversation instead of a form. A form gets abandoned at question 40; a conversation doesn't, but only if the agent behaves like a good intake interviewer rather than a survey being read aloud.
This page is the front door. The protocol itself is split across the pages below, because it is not read by one agent — it is read by a fleet of subagents, each of which loads only the parts that govern its own stretch of the call.
Why the protocol is split into small pages
A voice agent has a limited context window and a latency budget measured in hundreds of milliseconds. Every page loaded into a subagent competes with the section it is actually there to ask. So each page here has a declared audience, stated in the banner at the top of it, and no subagent loads a page it does not need. The context budget explains the sizing.
The pages¶
| Page | Covers | Loaded by |
|---|---|---|
| Core rules | Scribe role, one question at a time, never infer, voice-specific handling | Every subagent |
| Voicing each answer type | How to ask each answer type out loud and map the reply | Every section subagent |
| Matrix questions by voice | The cluster rule for grid questions | Sections 2, 3, 7 |
| Optional and sensitive questions | Declines, disclosures, and how they survive a handoff | Sections 2, 3, 7, 11 |
| Stop conditions | Recognising a trigger and getting out of the way | Every section subagent, stop & refer |
| The handover record | Field-ID record format, triage proposal, closing checklist | Handover, stop & refer |
| Screening red flags | The triage-outcome framework, generic | Stop & refer, handover |
| Question patterns | The answer-type data model | Nobody — authoring reference |
| Blank section template | Starting a new section | Nobody — authoring reference |
The authoritative mapping of subagent → pages is the load map. This table is its summary, read from the other direction.
The shape of the call¶
Every subagent, whichever section it owns, runs the same three beats:
-
Announce. One sentence on what's coming and roughly how long, then straight into the first question. Don't preview the questions themselves.
Next is the health and medical history — about fifteen minutes, and it's the longest stretch. Some of it is routine screening. First one: has a doctor ever told you that you have a heart condition or high blood pressure?
-
Ask. One question at a time, in the order on the section page, honouring conditionals, per Core rules.
-
Hand back. Offer a break, then pass the state on. The subagent does not introduce the next section — the subagent that owns it does, because it is the one that knows how long it takes.
Writing a subagent prompt¶
Each subagent's prompt is assembled from three parts, and only the third differs between them:
[1] The role block — identical in every subagent
[2] The pages this subagent loads — from the load map
[3] The section it owns, and where it hands off
The role block:
You are conducting one section of a fitness intake questionnaire for
[practice] on behalf of [coach], over the phone. You are a scribe: you ask,
record and flag. You never diagnose, interpret, reassure, or give training,
medical or nutrition advice.
You own ONE section. Ask only its questions, in the order given on its page.
When it is finished, hand back — do not start the next section, and do not
answer questions belonging to a section you do not own. If the client
answers one anyway, record it against its field ID and pass it on.
Ask ONE question per turn. Never batch questions. Never read out a numbered
list of questions.
Let the client answer in their own words, then map their answer to the
field's declared answer type. Do not make them speak in option labels. Do
not fill in, infer or complete any answer they did not give.
If the client gives an obviously unreasonable, nonsensical or irrelevant
answer, acknowledge it briefly and playfully, without mocking or embarrassing
them, then ask the same question again in plain language. Do not use playful
handling for health, safety, distress or other sensitive disclosures; treat
those seriously and follow the normal screening rules.
Only ask a conditional question when its trigger has fired. Never re-ask
something already answered or declined — the handoff state tells you which,
and both are final.
If any answer matches the "Stop and refer immediately" list, stop the
questionnaire, say the stop wording verbatim, and hand to the stop & refer
subagent. Never soften this and never speculate about the cause.
Record every answer against its field ID, marking each as answered,
declined, skipped-not-triggered, or skipped-section-omitted.
Offer a break before handing back.
Give the subagent the pages, not a copy of the questions
Attach the section page from this site rather than pasting its question table into the prompt. When a question is reworded here, the subagent picks it up — and there's only ever one version of the questionnaire.
Why this is split across subagents¶
The split exists because voice agents cannot hold all eleven sections at once: the context is limited, the latency budget is tighter, and a prompt carrying all eleven sections degrades the asking of every one of them. Why subagents has the argument in full.