Actions
SkillDev toolsGuidelines 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.
No other account needed.
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
- Action System - Architecture and usage of the action system
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:
- Set the
idattribute for the action in plugin.xml - Optionally set the
iconattribute if an icon is needed - Set text and description in the message bundle (e.g., GitBundle.properties):
action.<action-id>.text=Translated Action Textaction.<action-id>.description=Translated Action Description
- Set the
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