Icon Resources

SkillDev tools

Lets your agent manage IntelliJ icon files, generated Icons classes, and icon-robots rules.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Icon Resources skill

About this capability

Manage IntelliJ icons, generated Icons classes, and icon-robots rules.

What this skill tells your AI

The instructions your AI receives, as published by jetbrains/intellij-community in .agents/skills/icon-resources/SKILL.md and read by ahel’s review.

Use this skill when adding, renaming, moving, deleting, or referencing icons under a Java resource root, or when a failure mentions generated icon classes or icon-robots.txt.

Generated Icon Classes

  • Icons under resource roots are normally represented by generated *Icons.java classes.
  • Do not add local IconLoader.getIcon(...) wrappers for icons that should be in a generated icon class. Use the generated field directly from production code and tests.
  • If an icon should intentionally be excluded from class generation, add or update an icon-robots.txt rule near the icon resources instead of creating an ad hoc loader.
  • Generated classes include cache keys derived from normalized SVG content. Do not guess cache keys.

How To Update

  1. Prefer running the IDE run configuration Icons processing | Generate icon classes when available.
  2. If the run configuration is unavailable, run the icon-class test and apply the exact generated diff it prints for the affected class: ./tests.cmd --module intellij.platform.images.build.tests --test org.jetbrains.intellij.build.images.CommunityIconClassesTest
  3. After applying the generated output, rerun the same test to confirm there are no stale generated icon classes.
  4. Also run the affected module tests or compilation for production call-site changes; the icon-class test validates generated files but does not necessarily compile every icon consumer.

Bazel Status

As of this guide, icon class generation is not exposed as a Bazel runnable target. The package @community//platform/build-scripts/icons contains library and test targets, but no binary target:

bazel query 'kind(".*binary.*", @community//platform/build-scripts/icons:all)'

Use Bazel-backed tests.cmd for verification. If a generator binary target is added later, prefer that documented Bazel target over the IDE run configuration.

Signals

GitHub stars
21k
Forks
6k
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
icon-resources
Source
github.com/jetbrains/intellij-community