소스 정보
- 저장소
- Kilo-Org/kilocode
- 최근 소스 활동
- 2026년 7월 31일 15:07
- 감지된 SKILL.md 언어
- 영어
- 스타
- 27,011
- 포크
- 3,087
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Kilo-Org/kilocode --skill icon-jetbrains명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | icon-jetbrains |
| description | Create or review IntelliJ New UI SVG icons, theme variants, sizes, and palette. |
Guidance for authoring SVG icons for the JetBrains plugin. This skill is the single source of truth for icon sizing, palette, dark variants, composition rules, and placement. Other docs (including packages/kilo-jetbrains/AGENTS.md) defer here for SVG authoring details.
Icons follow IntelliJ New UI conventions: a fixed canvas per role, a strict light/dark palette, and explicit per-shape colors (the IntelliJ SVG loader recolors by matching literal hex values, so currentColor and CSS do not work). The plugin loads icons directly from its resource folder — see Where the SVGs live.
add-file.svg) and one for the dark theme with the _dark suffix (add-file_dark.svg). Geometry must be identical between them; only the palette swaps.
name.svg / name_dark.svg) and a 20×20 stripe variant (name@20x20.svg / name@20x20_dark.svg), they must share the same metaphor. The stripe is only one surface — the 16×16 base also appears in Search Everywhere, Find Action, context menus, the Services tool window, recent locations, and the View ▸ Tool Windows menu. Changing only the @20x20 leaves users seeing two different icons for the same tool window depending on where they encounter it. Always update all four files together (this repo's tool-window quartet is kilo.svg / kilo_dark.svg + kilo@20x20.svg / kilo@20x20_dark.svg).<path>, <rect>, <circle>, <line>, <polyline>, <polygon>). Text must be converted to outlines.fill="none" on the root <svg> and set fill / stroke explicitly per shape — never rely on CSS or currentColor.stroke-width="1", stroke-linecap="round", stroke-linejoin="round" (or stroke-miterlimit="10" for hard joins). Heavier strokes are reserved for hero glyphs inside a circle badge (e.g. status checkmarks) and use stroke-width="1.5" or "2". The 1 applies to the primary glyph stroke — do not force every stroke to 1. Hairline/decorative strokes (e.g. a thin stroke used to fatten a filled dot) and strokes whose width is coupled to geometry (e.g. a badge ring meant to sit flush with a fill edge) must keep their intended weight (scale with the artwork), or they fatten and misalign.x.5) and fills on whole pixels so the icon stays crisp at 1× rendering. Getting the base grid right also keeps it crisp on HiDPI/Retina; fine sub-pixel detail blurs at fractional scales (125%/150%), so keep geometry simple rather than chasing detail that won't survive scaling. SVGs are resolution-independent — ship one vector per theme, never @2x raster variants.arrow-down-to-line.svg, book-open-check.svg, kilo@20x20.svg), matching every existing icon in packages/kilo-jetbrains/frontend/src/main/resources/icons/.Pick the canvas size from the role, not the other way around. All icons land in this repo's packages/kilo-jetbrains/frontend/src/main/resources/icons/ (with a views/ subfolder for in-view icons — see Where the SVGs live).
| Role | Canvas | Filename pattern |
|---|---|---|
| Action icons (menus, popups, toolbars) | 16×16 | name.svg + name_dark.svg |
| Tree node icons (PSI, structure view) | 16×16 | name.svg + name_dark.svg |
| Tool-window stripe icons (compact/16) | 16×16 | name.svg + name_dark.svg |
| Tool-window stripe icons (New UI) | 20×20 | name@20x20.svg + name@20x20_dark.svg |
| Main toolbar (New UI) | 20×20 | name@20x20.svg + name@20x20_dark.svg |
| Editor gutter icons | 14×14 (small marks 12×12, 9×9) | name.svg + name_dark.svg |
| Status bar / inline status | 16×16 | name.svg + name_dark.svg |
| Breakpoint marks | 14×14 (12×12 for sub-marks) | name.svg + name_dark.svg |
| Run-config tags & disclosure chevrons | 16×16 (chevron*.svg may be 9×9 to 16×16) | name.svg + name_dark.svg |
| Welcome/onboarding & logos | 16, 20, 28, 48 (per surface) | name.svg + name_dark.svg |
When in doubt, find a sibling icon of the same role already in the icons folder and copy its width / height / viewBox.
Plugin icons go into packages/kilo-jetbrains/frontend/src/main/resources/icons/ (action icons, tool-window icons) or the icons/views/ subfolder (in-view icons used by the chat/session UI). Icons are loaded directly via IconLoader — there is no role-based subfolder structure and no mapping file. Place both the light SVG and its _dark sibling in the folder and reference them from the plugin's icon-holder class.
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<!-- shapes, ordered back-to-front -->
</svg>
The dark variant is the same file with light-palette colors swapped for their dark-theme partner — see palette.md. Never change geometry between the two.
(cx=8, cy=8) for 16×16 and (cx=10, cy=10) for 20×20.1..15). For 20×20 use 2 px of padding. Stripe icons must stay visually balanced inside their 20×20 cell.stroke-linecap/stroke-linejoin extends half the stroke width past the endpoint, so a 1px round-capped stroke ending at 0 or 16 is clipped by the canvas. Keep stroke endpoints within 0.5..15.5 (this is stricter than the fill keep-out).<circle cx="8" cy="8" r="6.5" fill="<accent-bg-light>" stroke="<accent-light>"/> then glyph fill="<accent-light>".fill="<accent-bg-dark>" stroke="<accent-dark>" and glyph filled with <accent-dark>.#6C707E light / #CED0D6 dark) at stroke-width="1". Use #818594 (light) / #6F737A (dark) for "secondary" stroke glyphs like dropdown chevrons.white.#5E4D33 inside #F2C55C warning) — never plain white.The full lookup is in palette.md. Most icons only need:
| Role | Light | Dark |
|---|---|---|
| Primary stroke / fill | #6C707E | #CED0D6 |
| Secondary stroke | #818594 | #6F737A |
| Disabled / faint fill | #EBECF0 | #43454A |
| Accent — Blue | #3574F0 | #548AF7 |
| Accent — Blue (bg) | #EDF3FF / #E7EFFD | #25324D |
| Accent — Red | #DB3B4B | #DB5C5C |
| Accent — Red (bg) | #FFF7F7 | #402929 |
| Status — Error fill | #E55765 | #DB5C5C |
| Status — Warning fill | #FFAF0F | #F2C55C |
| Status — Success fill | #55A76A | #57965C |
| Accent — Green | #208A3C | #57965C |
| Accent — Green (bg) | #F2FCF3 | #253627 |
| Accent — Orange | #E66D17 | #C77D55 |
| Accent — Orange (bg) | #FFF4EB | #45322B |
| Accent — Yellow/Gold | #FFAF0F / #C27D04 | #F2C55C / #D6AE58 |
| Accent — Purple | #834DF0 | #B589EC |
| Accent — Purple (bg) | #FAF5FF | #2F2936 |
Do not use plain #000000 or off-the-palette grays.
width/height/viewBox matching the role and fill="none" on <svg>._dark filename and swap each color for its dark-theme partner from the palette mapping. Keep paths byte-identical otherwise.packages/kilo-jetbrains/frontend/src/main/resources/icons/ (action icons, tool-window icons) or icons/views/ (in-view chat/session icons), then reference the icon from the plugin's icon-holder class.Importing a Lucide/Codicon-style icon (often drawn on a 20- or 24-unit grid) or moving one onto the 16×16 grid is not a blanket "set everything to the 16 defaults" operation:
stroke-width by the same factor (16 ÷ source size). This keeps the render faithful before you change anything intentionally.1 if it wasn't already ~1px effective. Leave hairlines and geometry-coupled strokes at their scaled value (see rule 6).0.5..15.5.currentColor, CSS, or <style> blocks. The IntelliJ icon loader requires explicit colors on every shape so it can do palette-based recoloring._dark variant. The icon will look fine in Light theme then turn invisible in Dark.#000) or pure-white (#FFF) fills outside the status-badge glyph pattern. They break under accent recoloring.stroke-width to 1 when rescaling. Only the primary glyph stroke is 1px; hairlines and fill-coupled/ring strokes must scale with the geometry or they fatten and misalign.0 or 16 clips — keep stroke endpoints within 0.5..15.5.packages/kilo-jetbrains/AGENTS.md — repository-specific JetBrains plugin constraints; use it together with this skill for icon work.packages/kilo-jetbrains/frontend/src/main/resources/icons/ (with its views/ subfolder) — where plugin icons live; this is the ground truth for placement.+*-stroke.svg): outline-only, same neutral stroke color, no fills.| White on dark badge |
white |
matching muted-dark fill (e.g. #5E4D33) |