Development skills
Browse reusable Agent Skills, each with a clear purpose and practical guidance.
extract-module
Extract an optional dependency from a plugin module into a new content module. Use when making a library dependency optional by separating integration code into its own module.
icon-resources
Work with IntelliJ icon resources, generated *Icons.java classes, icon-robots.txt rules, IconLoader wrappers, or CommunityIconClassesTest failures.
kotlin-ui-swing-component-architecture
Design, review, and refactor Kotlin or Java Swing UI in IntelliJ-based IDEs as isolated feature components with explicit state, semantic intents, unidirectional data flow, EDT-safe asynchronous work, and lifecycle ownership. Use when creating or changing Swing panels, dialogs, tool windows, or Kotlin UI DSL components; separating UI from services or business logic; fixing widget-driven state, blocking EDT work, listener leaks, or oversized god panels; or reviewing Swing UI architecture without overengineering small components.
module-dependencies
How to manage module dependencies in IntelliJ codebase. Use when adding or modifying module dependencies in iml files.
module-set-pluginization
Pluginize a Product DSL module set by hand-writing a wrapper plugin module next to its feature modules. Use when promoting modules out of an aggregate module set (e.g. `essential`, `ide.common`) into a bundled plugin so products can include or omit them through normal plugin wiring, when updating bundled plugin registration for such a wrapper, or when fixing tests whose plugin loading logs show a missing wrapper plugin for a former module set.
plugin-model-analyzer
Query IntelliJ Product DSL module sets, products, plugin graph ownership, dependencies, reachability, loading rules, validation, and packaging composition by running the repo's Bazel `//platform/buildScripts:plugin-model-tool` target with JSON requests. Use instead of the retired PluginModelAnalyzer MCP server whenever Codex needs module/product/plugin-model facts in the IntelliJ monorepo.
pseudo-kmp
Working with pseudo-KMP (Kotlin Multiplatform) modules in the IntelliJ monorepo. Use when creating, migrating, or modifying modules that use the expects-compiler-plugin for expect/actual emulation in JPS projects.