Skip to content

tutorial

Chapter 6 of 10

Chapter 6 — Verbatim responses for voice

by Rod Rivera Published

Deliver exact wording with utter: triggers and responses.yml — recording notices the LLM cannot rewrite.

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.

Next

Chapter 7 — Ordered blocks