Actions

SkillDev tools

Guidelines for implementing IntelliJ actions (AnAction). Use those rules when you need to create or change an action in the intellij platform.

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 Actions skill

What this skill tells your AI

The instructions your AI receives, as published by jetbrains/mps in .agents/skills/actions/SKILL.md and read by ahel’s review.

Guidelines for implementing IntelliJ actions (AnAction).

Documentation

Best Practices

  • NEVER instantiate Presentation in action constructors - Use no-argument constructors
  • Define text, description, and icon in plugin.xml - Not in constructor parameters
  • Follow the convention:
    1. Set the id attribute for the action in plugin.xml
    2. Optionally set the icon attribute if an icon is needed
    3. Set text and description in the message bundle (e.g., GitBundle.properties):
    • action.<action-id>.text=Translated Action Text
    • action.<action-id>.description=Translated Action Description

Good example:

Kotlin:

class MyAction : AnAction()

plugin.xml:

<action id="My.Action.Id"
        class="my.package.MyAction"
        icon="my.package.MyIcons.ICON"/>

Bundle.properties:

action.My.Action.Id.text=My Action
action.My.Action.Id.description=Description of my action

Signals

GitHub stars
2k
Forks
309
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
actions-2
Source
github.com/jetbrains/mps