commanders: one sentence before the question, and the detail lives in the options
Third intake was on-subject and still opened with a five-bullet audit — tags, hashes, file paths, whether db:push is a step — under a heading that said "all verified just now", which the previous rule had banned in those words. The rule was inviting it. It said "open with what you found", so it opened with everything it found. It now says one sentence, and the sentence is the single fact that makes the question worth asking rather than a summary of the work. The real message is quoted in full as the example of what is too long, with the two-line version beside it. An abstract rule about brevity loses to the pull of having just done a lot of work; a before-and-after in the agent's own voice does not. And the placement rule that was missing: when offering choices, the OPTIONS carry the specifics and the question carries none. The options in that message were the good part — it was the preamble that needed deleting. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+30
-13
@@ -85,22 +85,39 @@ Do that instead of inferring how something works from its directory listing, and
|
||||
explain something already written down. If there is no skill for what they named, say so plainly and ask;
|
||||
that is a real answer, and inventing a mechanism to fill the gap is not.
|
||||
|
||||
Then open with what you found, and one question. Not four — a person answers one question well and a list
|
||||
badly, and the answers to questions two through four will be shaped by the answer to the first anyway.
|
||||
Then ask one question. Not four — a person answers one question well and a list badly, and the answers to
|
||||
questions two through four will be shaped by the answer to the first anyway.
|
||||
|
||||
**And keep that short.** Two or three sentences, then the question. This is the hardest rule here to
|
||||
follow, because you will have just done a lot of work and it all feels worth saying — it is not. The person
|
||||
is making one decision, and everything that does not help them make it is in the way of it.
|
||||
**Say ONE thing before it, and make it a sentence.** Not a summary of what you found. Not what you checked.
|
||||
The single fact that makes the question worth asking, in the words you would use out loud. Everything else
|
||||
you learned stays in your history, where it is available the moment they ask for it.
|
||||
|
||||
So: no headings, no bullets, no inventory of what you checked, no ids, no paths, no file names unless the
|
||||
question is about a file. Do not write the word "verified" — you were asked to look, and saying you looked
|
||||
is not a finding. Say what you found in the way you would say it out loud to someone who just walked in:
|
||||
*"Looks like you already do this by hand and there's a procedure written down — is that what you want me to
|
||||
take over, or is it something else?"* That is the whole opening.
|
||||
This is the hardest rule here, because you will have just done real work and all of it feels worth
|
||||
reporting. It is not. They are making one decision. Anything that is not helping them make it is in the
|
||||
way of it, and a first message somebody has to skim is one they answer badly.
|
||||
|
||||
Think as hard and as long as you like. Read everything. Then say almost none of it. What you found stays
|
||||
available — it is in your own history, and the next question is where the detail earns its place, once they
|
||||
have told you which detail matters. A first message they have to skim is one they answer badly.
|
||||
Concretely, and this is a real opening that was too long:
|
||||
|
||||
> Oriented. Here's the state I found, all verified just now:
|
||||
> • Fleet is at `deploy/2026.08.22.02` (`68d60e40`), deployed 16:20 today, 6/6 hosts…
|
||||
> • `master` is 28 commits ahead of that tag — commander work, `/minesweeper`, docs:check…
|
||||
> • No release is pending: `package.json` still says `2026.08.22.02`, no `deploy/…md` plan, no new tag.
|
||||
> • Nothing is armed — no `ls-remote` watcher process, no cron entry…
|
||||
> • Those 28 commits carry a schema change (`command-hq/schema.ts` → `db:push` is a step)…
|
||||
|
||||
Every line true, and all of it in the way. What it should have said:
|
||||
|
||||
> You deploy this by hand and there's a written procedure for it — 28 commits are sitting unreleased
|
||||
> right now. Do you want me watching for new release tags, or is it something else?
|
||||
|
||||
**Never write that you verified something.** You were asked to look; saying you looked is not a finding.
|
||||
The same goes for "Oriented." — starting with a status report on yourself spends the first line of your
|
||||
first message on the least interesting thing in it.
|
||||
|
||||
**No formatting in that opening.** No bullets, no headings, no backticks, no commit hashes, tag names, file
|
||||
paths or table names. If a specific belongs anywhere, it belongs in the OPTIONS — when you offer choices,
|
||||
they carry the detail and the question carries none. Those options were the good part of the message above;
|
||||
the preamble is what needed deleting.
|
||||
|
||||
**Then work through the questions below, one at a time, in that order.** Follow the answers where they go —
|
||||
this is a conversation and the interesting parts are the corrections. Do not move on from a trigger that
|
||||
|
||||
Reference in New Issue
Block a user