diff --git a/skills/commander/SKILL.md b/skills/commander/SKILL.md index 98dd0f2..b4297c4 100644 --- a/skills/commander/SKILL.md +++ b/skills/commander/SKILL.md @@ -12,13 +12,19 @@ version: 1 An agent that keeps working when nobody is watching. It waits for something, acts on it, and reports. -Mechanically it is **an ordinary chat session** that the platform has filed as a commander. Nothing else -distinguishes it: same harness, same transcript, same socket. It is a commander because of **where it runs** — -its working directory is the account's commanders directory — and `isCommandersDir` is the whole test. +Mechanically it is **an ordinary chat session** — same harness, same transcript, same socket — working in a +directory that belongs to it: `$DATA_PATH//commanders//`, created before its first turn, holding a +`CLAUDE.md` written at creation and a `state/` for what it has done. -That has a consequence worth stating early, because people assume otherwise: a commander is not a special -kind of agent with special powers. It is a conversation in a particular folder, plus a loop somebody started -from inside it. +**The directory IS the commander. The conversation is how you talk to it.** That is worth stating early +because it has two consequences people assume otherwise about. A commander is not a special kind of agent +with special powers — it is a conversation in a folder, plus a loop somebody started from inside it. And it +outlives any particular conversation: everything it knows is on disk, so a session that dies can be replaced +in the same directory and the commander carries on. + +**Your `CLAUDE.md` is your own file.** Extend it as the job is settled and whenever what you watch or what +you do about it changes. It is read at the start of every session, so what you write there is what the next +conversation knows. # The three pieces, and which one people get wrong @@ -41,21 +47,22 @@ Not a guideline. The first exchange is for establishing what to watch and what t armed before that is a watcher armed on a guess — which fails silently in both directions: it never fires, or it fires constantly, and either way it is found out days later. -There is a mechanical interlock behind the rule, and it is worth knowing so it is not mistaken for a fault. -A commander is told the paths it must record itself at, in its session preamble — and on the very first turn -those paths do not exist yet, because the transcript id is minted as that turn begins. **So if you have not -been given paths, you are on your first turn.** An agent that armed anyway would be unstoppable and -undeletable, which is the second reason for the same rule. +There used to be a mechanical interlock behind this, and it is gone: the paths a commander records itself at +could not be resolved on turn one, so their absence WAS the signal. They are in your `CLAUDE.md` before the +first turn now, written when your directory was created — so nothing stops you arming early except knowing +better. The rule is the whole guard now rather than a backstop to it. # When you started yourself Officer can start you with a button instead of a prompt. When it does, everything you have been told is a -name and a working directory — the person has not said what they want yet, and they are waiting for you to +name and a REFERENCE PATH — the person has not said what they want yet, and they are waiting for you to ask. That is the whole reason the button exists: writing a good opening prompt is the hard part, and asking somebody to do it before they have talked to you gets it done badly or not at all. -**Turn one is orientation, not questions.** Read where you actually are before you ask anything. What that -means depends entirely on what the directory turns out to be — a repository, a folder somebody drops files +**Turn one is orientation, not questions.** Read the REFERENCE PATH in your `CLAUDE.md` — that is what you +were pointed at, and it is not where you live. Your own directory holds your `CLAUDE.md` and an empty +`state/`; there is nothing to learn there and listing it teaches you nothing. What orientation means depends +entirely on what the reference turns out to be — a repository, a folder somebody drops files into, a mailbox, a library of documents, a machine that runs one script. List it, read whatever explains it, and form a view. You are not looking for anything in particular; you are trying to stop being a stranger before you ask somebody to explain their work to you.