# Prototype Terminal UIs

Build throwaway Clack or Pi TUI prototypes and compare variants side by side.

- Repository: https://github.com/openclaw/openclaw (393636 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add openclaw/openclaw --skill prototype-openclaw-tui -g -a claude-code -y`
Codex: `npx skills add openclaw/openclaw --skill prototype-openclaw-tui -g -a codex -y`
Cursor: `npx skills add openclaw/openclaw --skill prototype-openclaw-tui -g -a cursor -y`
Gemini CLI: `npx skills add openclaw/openclaw --skill prototype-openclaw-tui -g -a gemini-cli -y`

## Description

Build throwaway, fixture-driven OpenClaw Clack or Pi TUI prototypes and compare multiple interactive variants side by side in tmux without running the full application or touching live state.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Prototype OpenClaw TUI

Use 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.

## Rules

- Read the root and scoped `AGENTS.md` files before editing.
- Keep the prototype beside the target and name it `*.prototype.ts`.
- When iterating on an existing surface, include its current implementation as
  the first `baseline` variant with the same fixture data. Only omit the
  baseline when the user explicitly asks for a greenfield comparison.
- Use the real OpenClaw renderer, theme, copy, and component where practical.
- Replace scanning, models, network calls, installs, config writes, SQLite, and
  other durable effects with deterministic in-memory fixtures.
- Do not run the full OpenClaw application when the isolated surface is enough.
- Treat prototype code as throwaway. Do not promote it directly to production.
- Preserve unrelated and pre-existing worktree changes.

## Choose the renderer

- Wizard, onboarding, configuration, doctor, selection, or progress surface:
  use `createClackPrompter()` from `src/wizard/clack-prompter.ts`.
- Agent shell, chat, overlay, editor, selector, or `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.

## Workflow

The rest: https://github.com/openclaw/openclaw/blob/HEAD/.agents/skills/prototype-openclaw-tui/SKILL.md
