From 2ff00dd63442a7798b32e504b2675d93a1b5deb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Mon, 24 Aug 2026 02:13:34 +0000 Subject: [PATCH] commander skill: the directory is the commander MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The platform changed underneath this. A commander is no longer recognised by sharing one folder with every other — it has its own directory, created before its first turn, holding a CLAUDE.md written at creation and a state/ for what it has done. isCommandersDir is gone. Three things in here were wrong in ways that change what a commander does on turn one, which is the turn that matters. Orientation said to read where you are. Under the new shape that is your own directory, which holds your CLAUDE.md and an empty state/ — nothing to learn, and listing it teaches you nothing. The thing you were pointed at is the REFERENCE PATH, named in your CLAUDE.md, and it is deliberately not where you live. The first-turn interlock is gone and the skill claimed it as a mechanism. The paths a commander records itself at could not be resolved on turn one, so their absence WAS the signal; they are written before the first turn now. The rule is the whole guard rather than a backstop to it, and saying so is better than letting somebody discover the interlock no longer bites. And the button gives a name and a reference path, not a working directory. Adds what the old text had no way to say: everything a commander knows is on disk, so a session that dies can be replaced in the same directory and it carries on. And that its CLAUDE.md is its own file to extend — read at the start of every session, so what it writes there is what the next conversation knows. Co-Authored-By: Claude Opus 5 Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043 --- skills/commander/SKILL.md | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) 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.