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
TamboUI emits Java Flight Recorder events for diagnostics and performance work. The conventions below exist so that JFR overhead stays near-zero when no recording is active and so that event names are stable across modules.
@Name("dev.tamboui.<area>.<thing>") — for example dev.tamboui.terminal.draw, dev.tamboui.toolkit.routeEvent in the @Name — the Java class can be TerminalDrawEvent, but the JFR-visible name is dev.tamboui.terminal.drawdev.tamboui.jfr; toolkit events under dev.tamboui.toolkit.jfr; pick the package by which module owns the eventif (FooEvent.enabled()) { FooEvent.commit(...); } — the enabled() check is what keeps overhead minimal when no recording is activeenabled() method must live on the event class itself so callers can short-circuit before allocating any objects, capturing any timestamps, or building any payloadnew FooEvent().commit() unguarded — even if the event is disabled, the allocation cost is now in your hot pathcommit(...) helper on the event class over a separate tracer interfaceEvent.commit() — keeping all three together makes the event self-containedcommit(...) (matching the JDK convention) when it does just create + populate + commitjdk.jfr.* requires the runtime to provide itcompileOnly(libs.jfr.polyfill) in its Gradle dependencies — without this the module will not compile under the project's Java 8 source levelcompileOnly for a reasondocs/src/docs/asciidoc/tracing.adoc so users can discover themrules
skills