
Jetbrains UI
Use when writing or reviewing UI code in packages/kilo-jetbrains/, Swing layout...
Install
npx skills add Kilo-Org/kilocode --skill jetbrains-ui -g -a claude-code -y- Repository
- Kilo-Org/kilocode27.8k
- Category
- Design
- Updated
- 4d ago
- License
- MIT
- Context cost
- Mediumabout 3,000 tokens
- Runs scripts
- No, instructions only
What it does
Use when writing or reviewing UI code in packages/kilo-jetbrains/, Swing layout, platform components, UiStyle tokens, theme colors/fonts/borders, Stack/Align layouts, tool windows/dialogs/popups/notifications, settings pages, and the pre-return UI checklist.
JetBrains Plugin UI Guidelines
Detailed UI reference for packages/kilo-jetbrains/. See packages/kilo-jetbrains/AGENTS.md for the hard restrictions (no Compose/DSL/JCEF) and the reuse-first index; this skill covers the how.
Technology Choices
Do not use Kotlin UI DSL v2 (com.intellij.ui.dsl.builder) in this plugin. Use standard Swing with IntelliJ Platform components for all UI layout. The JetBrains modular template and some older sections of the codebase reference the DSL, but Kilo should not introduce it.
Do not use Kotlin Compose or intellij.platform.compose in this plugin. The JetBrains modular template uses Compose for its demo tool window, but Kilo should use standard Swing with IntelliJ Platform components only. Keep all plugin UI in the existing Swing-based stack.
Do not use JCEF (JBCefBrowser) in this plugin. JCEF does not work in JetBrains remote development (split mode): the frontend process runs on the client machine but JCEF requires a display on the host, making it effectively unusable for remote users. Use standard Swing with IntelliJ Platform components for all UI.
| Need | API |
|---|---|
| Any layout, forms, panels | Standard Swing with IntelliJ Platform component replacements |
| Tool windows | SimpleToolWindowPanel + ToolWindow.contentManager |
| Menus and toolbars | Action System |
| Dialogs | Extend DialogWrapper |
Style Tokens
UiStyle (frontend/src/main/kotlin/ai/kilocode/client/ui/UiStyle.kt) is the single source of truth for reusable UI constants in this plugin.
Before introducing any new reusable color, spacing value, border, size, font, or helper:


