IntelliJプラグインのAnActionと登録設定を実装・変更し、表示文言やアイコンの定義、非同期処理の起動方法を整えます。
- IDEに新しいアクションを追加したいとき
- アクションの登録やアイコンを変更したいとき
- 表示名と説明文の定義を整理したいとき
Compose Desktopの画面で状態や副作用をどこに持たせるか整理し、表示と判断の境界、再利用部品やリストの設計を整えます。
Write Compose Desktop UI state, effects, and presenter boundaries.
実行スコア 未検証
インストール方法を見るCompose Desktopの画面を変更するときに、コンポーザブル、プレゼンターやコーディネーター、状態保持層の役割を整理します。基本方針は「画面は描画し、プレゼンターが判断する」ことです。ホバーやフォーカスなど表示に限る一時状態は画面側に置き、アプリ状態、永続化、通信、ファイル操作、権限や業務判断は状態を持つ層に委ねます。rememberや各種Effectのキー、再利用コンポーネントのModifier、不変データとイベントコールバック、遅延リストの安定キーやcontentType、アニメーション、再コンポーズの負荷も確認項目に含みます。
Compose画面に機能を追加するとき、画面内に状態や業務ロジックを持たせすぎていないかを確認できます。Effectの依存関係や再利用コンポーネントのAPIを整えたいとき、リストやアニメーションの実装を見直したいときにも向いています。個別のUI変更を対象とし、コードベース全体の体系的な監査には別スキルが案内されています。
LaunchedEffectのキーと処理範囲を見直してください」プロジェクトにアーキテクチャ文書がある場合は、内容が異なるときにそちらを優先します。Jewel部品の選択やSwing/AWTとの連携は関連する別スキルの対象です。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill to keep Compose Desktop UI code architecturally correct while editing IntelliJ-style desktop surfaces.
This skill provides authoring and review guardrails for individual changes. When the user asks for a systemic Compose UI
architecture assessment across a codebase, use compose-ui-audit instead.
For general post-change review or cleanup, use the review subagents available in the current harness instead of stretching this skill beyond UI architecture. If subagent delegation is unavailable, run those review passes sequentially yourself.
Do not use this skill to replace project docs. If the project has architecture docs, treat them as authoritative when details conflict.
Pair it with:
jewel-ui when selecting Jewel components, theme wrappers, icons, typography, and
IntelliJ-style controls.jewel-swing-interop when configuring Swing/AWT hosting, ComposePanel, LocalComponent,
popups, and bridge theme mechanics.Defer these adjacent tasks instead of stretching this skill:
jewel-ui for component choice, label rules, icons, theme wrappers, typography, and Jewel visual style.jewel-swing-interop for ComposePanel, AWT popup forwarding, LocalComponent, and host Swing component access.compose-ui-audit for a whole-surface systemic Compose UI architecture assessment.Be precise with names:
ViewModel roughly maps to a desktop UI presenter/coordinator layer.ScreenState, RowModel, or SurfaceModel. Avoid ambiguity by naming whether you mean lifecycle owner or render
model.ViewModel, Hilt/Koin, Android lifecycle, or Navigation guidance into desktop Compose UI
unless the project already uses those concepts.Compositions render. Presenters decide.
Composables may own ephemeral visual state: hover, focus, animation progress, expansion toggles, tooltip visibility, and layout wiring. They must not own app state, persistence, RPC, file/process/network work, JSON parsing, model selection, permission policy, review workflow decisions, or workspace/config lookup.
Route those through presenters/coordinators or equivalent state-owning layers and expose ready-to-render view models to UI.
Before returning Compose UI code, silently check these questions:
modifier: Modifier = Modifier to the outermost layout?key = parameter and a matching
contentType = parameter?remember, and read per-frame values in the layout or draw phase?If an answer is no, fix the shape before writing more code rather than documenting the violation.
Also check for false positives. Local hover state, focus requesters, text-field state, expansion toggles, scroll commands, and one-shot UI labels are usually fine in composition when they do not shadow app/session state.
Read only the reference files needed for the current task:
references/state-boundaries.md for rules on presenter/coordinator vs. state-holder vs. composition boundaries,
desktop lifecycle, flow collection, CompositionLocal guardrails, and testing ownership.references/effects.md for rules on remember, LaunchedEffect, DisposableEffect, snapshotFlow, coroutine
scopes, and effect keys.references/animation.md when choosing animation APIs, remembering Animatable state, launching target-driven
effects, deferring animated reads, or using AnimatedContent, infinite transitions, and gesture-driven motion.references/component-api-lists-performance.md for rules on reusable composable API shape, modifier contracts,
lazy-list keys and content types, recomposition and performance smells, and healthy patterns to preserve.references/desktop-seams-review-output.md for guidance on desktop dialogs, popups, shortcuts, clipboard and URI
opening, window state, protocol and runtime seams, and the file-grounded review output format.When reviewing code with this skill, keep output short and file-grounded:
### path/to/File.kt
- Issue: [rule name]
- Why it matters: [one sentence]
- Fix: [specific direction or tiny before/after]
End with the top three fixes, highest impact first. Do not list clean files.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
IntelliJプラグインのAnActionと登録設定を実装・変更し、表示文言やアイコンの定義、非同期処理の起動方法を整えます。
IntelliJのJPSテストモジュールをBazelへ移行し、Bazelだけで起きる失敗を依存関係や実行環境から切り分ける手順を案内します。
IntelliJのKotlin・Javaコードを新規作成やレビューする際に、言語の選び方、書式、型の扱い、例外処理などのプロジェクト規約に沿って整えるスキルです。
IntelliJ向けの変更を適切な単位に分け、チケットの有無に応じた形式で、理由や判断も伝わるコミットメッセージを作成・修正するスキルです。
Pythonコードの型推論や型エラーを複数の型チェッカーで比較し、各ツールの判定と診断内容をまとめたレポートを作成します。
Compose DesktopのUIコードを読み、状態管理、画面構成、副作用、コルーチン、再描画の性能など、設計と実行時の問題を具体例とともに監査するスキルです。