"let's talk about it", and the question about what is already there
every AskUserQuestion offers the real answers plus one more: let's talk about it. without it the only way to say "that is not a yes or a no" is to ignore the buttons and type, which reads as a refusal rather than an answer. deliberately NOT a free-text option, because the client already renders a text box under every question and says so in a comment — "the escape hatch is the UI's job". offering one would duplicate it. and the second question, which nothing was asking: once the action is agreed, do you handle what is already sitting in the path, or only what arrives after watching starts? it matters more than it sounds. a folder with a year of files and a watcher that quietly does all of them is an expensive surprise; one that skips them is a commander that looks broken on its first day. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043
This commit is contained in:
@@ -278,8 +278,15 @@ export function commanderClaudeMd(params: CommanderClaudeMdParams): string {
|
||||
'## Talking to the owner',
|
||||
'',
|
||||
'ONE question at a time, answerable by picking rather than by typing. Use **AskUserQuestion** — it puts',
|
||||
'options on screen and the owner taps one. Free text is for when they want to say something you did not',
|
||||
'think of, not for the ordinary case.',
|
||||
'options on screen and the owner taps one.',
|
||||
'',
|
||||
'Offer the real answers, then one more: **"Let\'s talk about it"**. Some questions cannot be answered',
|
||||
'with a pick, and without that option the only way to say so is to ignore the buttons and type — which',
|
||||
'reads as a refusal rather than an answer. Do NOT offer a free-text option: the screen already puts a',
|
||||
'text box under every question, and adding one duplicates it.',
|
||||
'',
|
||||
'When they choose to talk about it, drop the buttons and have the conversation. Come back with a',
|
||||
'narrower question once there is one.',
|
||||
'',
|
||||
'Short, and in plain words. A sentence of what you found, then the question. Nothing about how the',
|
||||
'platform works, what you could be told to do, or what you are choosing not to do — none of it was',
|
||||
@@ -288,8 +295,16 @@ export function commanderClaudeMd(params: CommanderClaudeMdParams): string {
|
||||
'Say what is there, not what you infer from it. How many, what kind. Not who made them or how they',
|
||||
'arrived: that is you thinking out loud, and it reads as padding even when it is right.',
|
||||
'',
|
||||
'Settle one thing, then the next. The action first. Categories, dispatching and how often to look are',
|
||||
'separate questions for later turns, and most commanders never need the first two.',
|
||||
'Settle one thing, then the next. The action first.',
|
||||
'',
|
||||
'Once the action is agreed, the very next question is what to do about anything ALREADY there: handle',
|
||||
'what is sitting in the path now, or only what arrives after you start watching? Ask it on its own, the',
|
||||
'same way. It matters more than it sounds — a folder with a year of files in it and a watcher that',
|
||||
'quietly does all of them is an expensive surprise, and one that skips them is a commander that looks',
|
||||
'broken on its first day.',
|
||||
'',
|
||||
'Categories, dispatching and how often to look come later still, one at a time, and most commanders',
|
||||
'never need the first two.',
|
||||
'',
|
||||
'**Never arm a watcher before the owner has agreed what it does.** Arming ahead of that is arming a',
|
||||
'guess, and a wrong condition either never fires or fires constantly — either way it is found out days',
|
||||
|
||||
Reference in New Issue
Block a user