Goal
Understand verbatim responses before the full baggage showcase in the next chapter. Atlas will speak a recording notice and compliance lines exactly as written.
Teach
Some moments need exact wording: a recording notice at the start of a call, a fraud or theft warning, a legal disclaimer after a side effect. Verbatim responses live in responses.yml. The framework delivers them; the LLM does not rewrite them.
| Trigger | Frontmatter | When it fires |
|---|---|---|
| Skill activates | utter: with on: activate |
Skill loads |
| Memory changes | utter: with when: |
The condition becomes true |
| Tool succeeds | on_success: on a tool constraint |
Tool returns success |
| Tool fails | on_failure: on a tool constraint |
Tool returns error |
A when: trigger takes the same condition expression as requires and if::
utter:
- utter_baggage_recording_notice:
on: activate
- utter_baggage_stolen_warning:
when: session.report_baggage.bag_issue == "stolen"
# responses.yml
responses:
utter_baggage_recording_notice:
- text: >
This call may be recorded for quality assurance and training purposes.
Response text can interpolate memory at delivery time using the same namespaced form in braces, for example {session.report_baggage.booking_ref}.
There is a fourth trigger worth knowing now, because it replaces something you might expect to write inline. To make a tool pause and ask permission before it runs, add requires_confirmation to its constraint and point it at responses:
tool_constraints:
- submit_baggage_report:
requires: session.report_baggage.details_verified
requires_confirmation:
enabled: true
utter_for_confirmation: utter_confirm_baggage_report
utter_on_user_denial: utter_baggage_report_cancelled
on_success: utter_baggage_submitted
The confirmation question is a named response rather than a string in the frontmatter, which means the exact words a traveler hears before an irreversible action live in responses.yml alongside every other piece of spoken copy — reviewable in one place, and never rephrased by the model.
Why this matters for voice
TTS will speak whatever text you send. If a compliance line is generated freely, wording drifts. Verbatim responses keep the spoken contract stable across conversations.
Preview in the companion
Open skills/report_baggage/responses.yml and the utter: block in skills/report_baggage/skill.md. You will wire the full skill in the next chapter.
Talking point
Use prose for conversation. Use verbatim for moments where the words themselves are the requirement.
