chesslisted
Install: claude install-skill BaesTheorem/exobrain-harness
# Chess (annotated play mode)
Everything lives in `~/Documents/mist-chess` (repo: MIST Chess). The play
harness is `scripts/chess_play.py`, run with the repo venv:
```bash
CHESS="$HOME/Documents/mist-chess"
PY="$CHESS/.venv/bin/python"
RENDER='/Users/alexhedtke/Documents/Exobrain harness/tmp/images/chess'
"$PY" "$CHESS/scripts/chess_play.py" --render-dir "$RENDER" <command>
```
Always pass `--render-dir` to the harness `tmp/images/chess` path: the
Console only serves images from harness `tmp/`, not from `~/Documents`
or `/tmp`.
## Commands
| Command | What it does |
|---|---|
| `new --level 1500 --color white --id <name>` | start a game (levels 1100-1900 in steps of 100) |
| `move <san> --id <name>` | play a move; validates, annotates, engine replies |
| `board --id <name>` | re-render current position |
| `analyze --id <name>` | Stockfish top-3 lines |
| `hint --id <name>` | best move for the side to move |
| `pgn --id <name>` | full PGN so far |
| `resign --id <name>` | end game |
| `list` | all saved games |
Game state persists in `mist-chess/games/<id>.json`, so a game survives
across sessions. Default `--id` is `game`; use a fresh id per new game
("morning", "lunch") so history is kept. **The MIST Chess app (below)
uses the same files**: a game started in the app can be continued in
chat and vice versa. If the app is open while chat plays the same game,
its view is stale until the game is reopened there.
## Play flow in chat
1. On "let's play": ask level only if