Install
openclaw skills install @hillstreet-ph/prototype-openclaw-tuiCompare isolated OpenClaw TUI variants in tmux
openclaw skills install @hillstreet-ph/prototype-openclaw-tuiUse this skill to isolate one OpenClaw terminal surface, render it with the real OpenClaw TUI stack, and compare two to six design variants in tmux.
AGENTS.md files before editing.*.prototype.ts.baseline variant with the same fixture data. Only omit the
baseline when the user explicitly asks for a greenfield comparison.createClackPrompter() from src/wizard/clack-prompter.ts.src/tui/** component:
use @earendil-works/pi-tui and the existing OpenClaw component.Do not invent a shared Clack/Pi abstraction. They are separate prototype recipes joined only by the tmux comparison loop.
--variant=baseline.--variant=<id>, for two
to six total variants including the baseline.--refresh mode. Respawn the
panes in the existing session; do not kill the session or reopen the user's
terminal.Run the bundled launcher with a session name, repository path, then title and command pairs:
.agents/skills/prototype-openclaw-tui/scripts/launch-tmux-grid.sh \
--open \
app-recommendations-prototype "$PWD" \
"A - Baseline" "node --import tsx src/wizard/setup.app-recommendations.prototype.ts --variant=baseline" \
"B - Grouped" "node --import tsx src/wizard/setup.app-recommendations.prototype.ts --variant=grouped" \
"C - Focused" "node --import tsx src/wizard/setup.app-recommendations.prototype.ts --variant=focused"
After editing the prototype, run the same command with --refresh instead of
--open. This preserves the tmux session, attached external terminal, window,
and first pane while restarting all pane commands and reapplying the grid:
.agents/skills/prototype-openclaw-tui/scripts/launch-tmux-grid.sh \
--refresh \
app-recommendations-prototype "$PWD" \
"A - Baseline" "node --import tsx src/wizard/setup.app-recommendations.prototype.ts --variant=baseline" \
"B - Grouped" "node --import tsx src/wizard/setup.app-recommendations.prototype.ts --variant=grouped" \
"C - Focused" "node --import tsx src/wizard/setup.app-recommendations.prototype.ts --variant=focused"
The launcher refuses to replace an existing session unless --refresh is
explicitly provided. --open uses the user's
.command-associated terminal app on macOS, Windows Terminal from WSL, or the
first available Linux launcher from xdg-terminal-exec, $TERMINAL, and
x-terminal-emulator. If no supported launcher is available, the tmux session
remains ready at equal detached dimensions and the script exits successfully
after printing the manual attach command. Attach, then run --refresh once to
adopt the terminal's larger dimensions. The same guidance applies if an
external terminal opens but does not attach within ten seconds. When invoked
from a non-interactive TERM=dumb environment, the launcher removes its
inherited NO_COLOR only from prototype pane processes so the external
terminal can detect and render its normal colors. Prefer the external terminal
over the Codex in-app terminal unless the user asks for the in-app surface.
Leave the session running for user review unless asked to stop it.
Report: