Teaches coding agents how to build TUIs with TamboUI correctly: API-level selection, render-thread discipline, display-width safety, CSS-aware element authoring, and JFR conventions.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
TuiConfig.mouseCapture defaults to false, which means mouse-wheel and click events never reach the runner — and therefore never reach ListElement.handleMouseEvent, RichTextAreaElement.handleMouseEvent, or any other element that already has correct mouse handling. Why: without explicit opt-in, "scroll doesn't work" looks like a TamboUI bug when it is actually a missing one-line config override.
configure()ToolkitApp that uses a scrollable widget (list, table, tree, richTextArea, scrollable paragraph) must override configure() and enable mouse captureoverride fun configure(): TuiConfig =
TuiConfig.builder().mouseCapture(true).build()(Java equivalent: return TuiConfig.builder().mouseCapture(true).build();)
ListElement, RichTextAreaElement, and other built-ins already route SCROLL_UP / SCROLL_DOWN to their internal scroll state — you do not need to wire mouse handlers manuallyfalse deliberately so dashboards that only print text do not eat the terminal's native text selectionrules
skills