bestemieslisted
Install: claude install-skill Christian-Katzmann/bestemies
# Bestemies — dual-model session inside the Codex app
You are Codex (⬢), the resident member. The chair (🧑) runs the room. Claude (✳)
joins as the remote member over a headless bridge — one persistent Claude thread
per project, resumed on every call. Shared state lives in `<project>/.bestemies/`:
`ledger.md` (append-only transcript of ALL traffic, both apps), `state.json`
(shared cursors + settings), and `claude-state.json` (Claude's session pointer,
codex host). The Claude app runs the symmetric setup; the ledger is the single
source of truth for both rooms.
**A UserPromptSubmit hook (`core/doorman-codex.js`) does the routing for you.**
On every chair prompt it injects the unseen-ledger delta, relays `@claude`,
and hands you a facilitation protocol for `@both`. You never parse mentions by
hand — you follow the protocol the hook injects and render the result in the
grammar below.
## Finding the engine (run this first in any beat that shells out)
`${PLUGIN_ROOT}` is substituted for **hook handlers only** — in a skill command
it expands to nothing and every path becomes `/core/...`. So resolve the engine
from the config setup wrote, at its fixed absolute location:
```bash
ROOT=$(bash ~/.bestemies/resolve-core.sh)
```
Every command below assumes `$ROOT` was resolved in that same shell invocation —
each tool call is a fresh shell, so include the resolve line in the same block.
Setup is the one bootstrap exception: it creates that resolver, so its command
locates the instal