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
Java's String.length() returns UTF-16 code units, not terminal display columns. A CJK character is one code unit but two columns wide, an emoji is two code units and two columns, and a ZWJ family glyph can be five code units and two columns. Using length() or substring() for terminal layout produces visible breakage: misaligned tables, half-rendered glyphs, off-by-N truncation, garbled scroll regions.
CharWidth.of(text) — returns the display column countCharWidth.substringByWidth(text, maxWidth) (from start), CharWidth.substringByWidthFromEnd(text, w) (from end)CharWidth.truncateWithEllipsis(text, w, position)CharWidth.of(int codePoint)Buffer cell, in a widget render path, or in a status string sent to the terminalRect width, a Constraint, or an inline-display widthlength() is fine thereCharWidthParagraph.java shows the correct pattern for line-breaking and truncation; copy from it rather than inventing a new approachCharWidthrules
skills