Skip to content

Add llm.txt: a setup runbook an agent can execute - #5

Merged
dsaad68 merged 1 commit into
mainfrom
docs/llm-runbook
Aug 24, 2026
Merged

Add llm.txt: a setup runbook an agent can execute#5
dsaad68 merged 1 commit into
mainfrom
docs/llm-runbook

Conversation

@dsaad68

@dsaad68 dsaad68 commented Aug 24, 2026

Copy link
Copy Markdown
Owner

Someone asking an agent to "set this up for me" gets a README written for a
human reading top to bottom, and the agent has to reconstruct an ordered
procedure out of it. llm.txt is that procedure, written to be executed.

What it carries that the README does not:

A VERIFY after every step. The characteristic failure mode here is silence —
a key that was never bound, a hooks block pointing at a moved binary, a #()
the tmux server cannot resolve. All of them look exactly like "no agents are
running". Each step gets a command that tells the two apart, including a
headless capture that proves the picker draws without asking the user to press
anything.

ASK points, marked as such. Which key; whether they want the agent half at
all; whether their status-right is hand-composed before appending to it; and
whether they have a Nerd Font, which cannot be detected and decides between a
working status bar and two boxes of tofu.

Conflict checks that have caught something real. show-hooks -g | grep set-tab-title finds the case where @kaku-tab-titles would fight the user's own
hooks — it fires on the machine this was written on. Sourcing the config twice
must leave exactly one copy of the status segment.

The two silent status-bar traps-agF freezes the count at load time, and
#() runs with the PATH the tmux server inherited, which under launchd or
systemd has neither /usr/local/bin nor ~/go/bin.

It closes by telling the agent to report what it changed and where the backups
are, plus a symptom-to-cause table, so the person is not left with an edited
config and no idea what moved.

Every command in it was run against a live tmux server before being written
down. Docs only — no code changes.

🤖 Generated with Claude Code

Someone asking an agent to "set this up for me" gets a README written for a
human reading top to bottom — prose, alternatives, rationale — and the agent has
to reconstruct an ordered procedure out of it. This is that procedure, written
to be executed rather than read.

The parts a README does not carry, and an agent needs:

A VERIFY after every step. The characteristic failure here is silence — a key
that was never bound, a hooks block pointing at a moved binary, a status segment
whose #() cannot resolve the command. All of them look exactly like "no agents
are running", so each step has a command that distinguishes the two, including a
headless capture that proves the picker draws without asking the user to press
anything.

ASK points, marked as such. Which key, whether they want the agent half at all,
and — because this one took several rounds to get right — whether their
status-right is hand-composed before appending to it. Also whether they have a
Nerd Font, which cannot be detected and which decides between a status bar and
two boxes of tofu.

Conflict checks that have actually caught something. `show-hooks -g | grep
set-tab-title` finds the case where @kaku-tab-titles would fight the user's own
hooks; it fires on this very machine. Sourcing twice must leave one copy of the
status segment. Every check in that section is a real failure, not a
hypothetical.

And the two silent status-bar traps: -agF expands the format at load and freezes
the count forever, and #() runs with the PATH the tmux *server* inherited, which
under launchd or systemd has neither /usr/local/bin nor ~/go/bin.

Closing sections tell the agent to report what it changed and where the backups
are, and map symptom to cause, so the person is not left with an edited config
and no idea what moved.

Every command in it was run against a live tmux server before it was written
down.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dsaad68
dsaad68 merged commit d8fd23e into main Aug 24, 2026
5 checks passed
@dsaad68
dsaad68 deleted the docs/llm-runbook branch August 24, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant