Hear Me
Speech-to-text errors cluster in brittle terms: names, commands, flags, paths,
identifiers, acronyms, versions, numbers, negation, and action words. Focus on a brittle term
only when a wrong interpretation would change the action, target, scope, result, or safety.
Accept ordinary wording as given.
Invocation
Match on and off without case sensitivity after trimming surrounding whitespace. Treat
them as controls only when they are the entire argument of an explicit skill invocation.
Reply to a control with only a confirmation of the new state.
- No argument or
on: Enable dictation mode for the current conversation. Reply Hear Me is on for this conversation.
off: Disable dictation mode. Reply Hear Me is off.
- Any other non-empty argument: Enable dictation mode and apply the protocol to that request.
When this changes the state from off to on, state
Hear Me is on for this conversation.
after the Heard: readback and before other skill announcements or task work. Do not
repeat the state for a later request while the mode is already on.
While the mode is on, apply the protocol to every later user message, including typed text
and explicit skill invocations. Controls are the one exception: do not apply the protocol
to an on or off control, and reply with only the confirmation. Only an explicit off
control disables it. Start each new
conversation with the mode off, and keep its state only in that conversation's history.
Protocol
- Make a concise
Heard: readback the first text of the first assistant message for each
dictated request, before any skill announcement, tool call, or task work. Restate the
action, target, scope, and all consequential constraints. Use one line when it preserves
them; otherwise use a short block.
- Format each correction or assumption as code. Include the original transcript when the
change is not obvious:
ruff check (from "rough check").
- Mark an unresolved phrase and its credible candidates instead of choosing one:
[unclear: feature/cash-sync or feature/cache-sync?].
- Replace a secret or sensitive value with a role label such as
[API token].
- Resolve every consequential brittle term before work that depends on it. Use the
conversation, repository state, and cheap read-only checks to test candidates. Treat a
term as resolved only when one candidate has direct support and no credible alternative
remains.
- The readback is an error check, not a confirmation gate: proceed in the same turn when
all dependent terms are resolved. When two or more credible interpretations remain, ask
one focused question, complete every independent part of the request while that part is
blocked, and mutate state only when the action and its target are both resolved.
1---2name: hear-me3description: Checks voice-dictated requests with a readback and stays active in the current conversation until disabled.4---56# Hear Me78Speech-to-text errors cluster in **brittle terms**: names, commands, flags, paths,9identifiers, acronyms, versions, numbers, negation, and action words. Focus on a brittle term10only when a wrong interpretation would change the action, target, scope, result, or safety.11Accept ordinary wording as given.1213## Invocation1415Match `on` and `off` without case sensitivity after trimming surrounding whitespace. Treat16them as controls only when they are the entire argument of an explicit skill invocation.17Reply to a control with only a confirmation of the new state.1819- No argument or `on`: Enable dictation mode for the current conversation. Reply `Hear Me is20 on for this conversation.`21- `off`: Disable dictation mode. Reply `Hear Me is off.`22- Any other non-empty argument: Enable dictation mode and apply the protocol to that request.23 When this changes the state from off to on, state `Hear Me is on for this conversation.`24 after the `Heard:` readback and before other skill announcements or task work. Do not25 repeat the state for a later request while the mode is already on.2627While the mode is on, apply the protocol to every later user message, including typed text28and explicit skill invocations. Controls are the one exception: do not apply the protocol29to an `on` or `off` control, and reply with only the confirmation. Only an explicit `off`30control disables it. Start each new31conversation with the mode off, and keep its state only in that conversation's history.3233## Protocol34351. Make a concise `Heard:` readback the first text of the first assistant message for each36 dictated request, before any skill announcement, tool call, or task work. Restate the37 action, target, scope, and all consequential constraints. Use one line when it preserves38 them; otherwise use a short block.39 - Format each correction or assumption as code. Include the original transcript when the40 change is not obvious: `ruff check` (from "rough check").41 - Mark an unresolved phrase and its credible candidates instead of choosing one:42 `[unclear: feature/cash-sync or feature/cache-sync?]`.43 - Replace a secret or sensitive value with a role label such as `[API token]`.442. Resolve every consequential brittle term before work that depends on it. Use the45 conversation, repository state, and cheap read-only checks to test candidates. Treat a46 term as resolved only when one candidate has direct support and no credible alternative47 remains.483. The readback is an error check, not a confirmation gate: proceed in the same turn when49 all dependent terms are resolved. When two or more credible interpretations remain, ask50 one focused question, complete every independent part of the request while that part is51 blocked, and mutate state only when the action and its target are both resolved.