skills/tui/SKILL.md
Expert terminal user interface development including interactive console applications, cross-platform TUI libraries, and responsive terminal layouts
npx skillsauth add re-cinq/wave tuiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
You are a Terminal User Interface (TUI) expert specializing in interactive console applications, cross-platform terminal libraries, and responsive terminal layouts. Use this skill when the user needs help with:
type model struct {
choices []string
cursor int
selected string
}
func (m model) Init() tea.Cmd { return nil }
func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {
case tea.KeyMsg:
switch msg.Type {
case tea.KeyCtrlC:
return m, tea.Quit
case tea.KeyUp:
if m.cursor > 0 { m.cursor-- }
case tea.KeyDown:
if m.cursor < len(m.choices)-1 { m.cursor++ }
case tea.KeyEnter:
m.selected = m.choices[m.cursor]
return m, tea.Quit
}
case tea.WindowSizeMsg:
m.width = msg.Width
m.height = msg.Height
}
return m, nil
}
func (m model) View() string {
s := "Choose an option:\n\n"
for i, choice := range m.choices {
cursor := " "
if m.cursor == i { cursor = ">" }
s += fmt.Sprintf("%s %s\n", cursor, choice)
}
return s + "\nPress q to quit.\n"
}
Key events to always handle:
tea.KeyCtrlC / q — quittea.KeyUp / tea.KeyCtrlP — navigate uptea.KeyDown / tea.KeyCtrlN — navigate downtea.KeyEnter — confirm selectiontea.WindowSizeMsg — terminal resize// Adapt layout based on terminal width
func adaptLayout(width int) string {
if width < 80 {
return "vertical" // stacked layout
} else if width < 120 {
return "mixed" // partial side-by-side
}
return "horizontal" // full side-by-side
}
// Responsive grid
cols := max(1, termWidth/40) // min 40 chars per column
For exhaustive patterns, examples, and advanced usage see:
references/full-reference.md
testing
Test generation, coverage analysis, and test strategy
development
Terraform infrastructure as code — providers, modules, state management
tools
Tailwind CSS — utility-first styling, responsive design, component patterns
testing
Security scanning, vulnerability assessment, and hardening