本文へ移動
cccskills
無料GitHub で公開日本語紹介

code-style

IntelliJのKotlin・Javaコードを新規作成やレビューする際に、言語の選び方、書式、型の扱い、例外処理などのプロジェクト規約に沿って整えるスキルです。

原文原文の説明を見る

Apply IntelliJ Kotlin and Java code style when writing or reviewing.

JetBrains/intellij-communityスター 20,664(GitHub 20,664 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • IntelliJ規約に沿ってKotlinを書きたいとき
  • Javaコードをレビューしたいとき
  • 例外処理やsealed型の分岐を確認したいとき

日本語での紹介

できること

IntelliJのコーディングガイドラインに沿って、KotlinやJavaのコード作成・レビューを進めます。新規ファイルでは原則Kotlinを使い、既存のJavaファイルは必要がない限りJavaのまま扱います。Kotlinでは拡張関数、データクラス、null安全などの慣用的な書き方を促し、実験的APIには@ApiStatus.Experimentalを付けます。書式確認では適用される.editorconfigを参照します。

また、sealed型やenumの網羅的なwhen、スレッド要件アノテーションの既定値、例外処理のルールも確認します。ThrowableやExceptionを捕捉する場合は、制御フロー例外をログに流さないよう、所定のrethrowControlFlowExceptionを先に呼び出す方針です。ビルドスクリプト向けKotlinの規約も扱います。

こんなときに便利

IntelliJのコードベースで機能を追加するとき、既存コードのレビューや書式調整をするときに役立ちます。KotlinとJavaの使い分け、sealed型の分岐、スレッド関連アノテーション、例外処理がプロジェクトのルールに合っているか確認できます。

使い方の例

  • 「このKotlinコードをIntelliJの規約に合わせてレビューして」
  • 「例外処理とsealed型の分岐に問題がないか確認して」

注意点

Javaコードの作成・レビュー前にはreferences/modern-java.mdを読みます。ビルドスクリプトでは別途指定されたKotlinスタイルの推奨事項を参照します。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(3)

  • SKILL.md3.2 KB
  • references/modern-java.LICENSE.txt1.0 KB
  • references/modern-java.md8.2 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

<!-- Generated by community/.ai/render-guides.mjs; edit community/.agents/skills/code-style/SKILL.md -->

Code Style

Follow the IntelliJ Coding Guidelines with these IntelliJ-specific rules.

Language

  • Use Kotlin for new files unless the user explicitly requests Java.
  • Keep existing Java files in Java unless the task requires a language conversion.
  • Before writing or reviewing Java, read Modern Java.
  • Use idiomatic Kotlin: extension functions, data classes, null safety
  • Mark experimental APIs with @ApiStatus.Experimental
  • Build scripts Kotlin style: Follow community/platform/build-scripts/kotlin-style-recommendations.md for build-scripts code:
    • Use @JvmField for internal data class fields
    • Use .put()/.get() instead of [] operator
    • Use explicit HashMap/HashSet/LinkedHashMap instead of mutableMapOf()/mutableSetOf()

Sealed hierarchies

  • Before you list several subtypes in a when branch, an is check, or a catch, open the declaration of the type.
  • If a common supertype covers exactly those subtypes, use the supertype. It stays correct when someone adds a new subtype.
  • Check the value of a sealed type or an enum with an exhaustive when. Do not use an is check, an as? cast, an == comparison, or else. In Eel and IJent code, this is a rule, also for a private type. See community/platform/eel/docs/api/exhaustive-when.md.

Formatting

  • Read every applicable .editorconfig before you review or change formatting.
  • Use the effective .editorconfig value for each setting. If no file defines a setting, use these defaults:
    • Indentation: 2 spaces (4 for Go files)
    • Line length: 140 characters max
    • Braces: else, catch, and finally on new lines
  • Only in /rustrover directory you must always use standard Kotlin formatting rules with 4 spaces indentation.

Threading annotations

  • When you add @RequiresEdt, @RequiresBackgroundThread, @RequiresReadLock, @RequiresWriteLock, or @RequiresReadLockAbsence, do not pass generateAssertion. Keep the default value unless the user explicitly requests a different one.
  • Never write generateAssertion = false /* IJPL-115548 */. It is a legacy mass-migration marker. Do not copy it from existing code.
  • Set generateAssertion = false only when the user explicitly requests it, or when the runtime assertion is known to fail. State the reason in a comment.
@RequiresEdt
fun updateUi() { ... }

Error handling

  • In a catch block for Throwable or Exception, call com.intellij.diagnostic.rethrowControlFlowException(e) first. It rethrows a control flow exception, such as CancellationException. A control flow exception must never reach the log.
  • Do not catch or rethrow CancellationException explicitly, and do not test the exception type by hand.
  • In Java, static-import com.intellij.diagnostic.ControlFlowExceptionsKt.rethrowControlFlowException.
  • Do not use the deprecated com.intellij.openapi.diagnostic.rethrowControlFlowException.
try {
  doWork()
}
catch (e: Throwable) {
  rethrowControlFlowException(e)
  LOG.error(e)
}

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

actions

無料概要あり

IntelliJプラグインのAnActionと登録設定を実装・変更し、表示文言やアイコンの定義、非同期処理の起動方法を整えます。

  • IDEに新しいアクションを追加したいとき
  • アクションの登録やアイコンを変更したいとき
  • 表示名と説明文の定義を整理したいとき
JetBrains/intellij-community2.1万2026年10月26日 更新

bazel-test-migration

無料概要あり

IntelliJのJPSテストモジュールをBazelへ移行し、Bazelだけで起きる失敗を依存関係や実行環境から切り分ける手順を案内します。

  • JPSテストをBazelへ移行したいとき
  • Bazelだけで起きるテスト失敗を調べたいとき
  • テストの依存関係やデータ設定を確認したいとき
JetBrains/intellij-community2.1万2026年10月26日 更新

commits

無料概要あり

IntelliJ向けの変更を適切な単位に分け、チケットの有無に応じた形式で、理由や判断も伝わるコミットメッセージを作成・修正するスキルです。

  • チケット付き変更のメッセージを作りたいとき
  • テストやドキュメントのコミットを整理したいとき
  • 既存のコミットメッセージを修正したいとき
JetBrains/intellij-community2.1万2026年10月26日 更新

compare-python-typecheckers

無料概要あり

Pythonコードの型推論や型エラーを複数の型チェッカーで比較し、各ツールの判定と診断内容をまとめたレポートを作成します。

  • 型推論の違いを比較したいとき
  • 型エラーになるか確かめたいとき
  • 複数チェッカーの診断を見比べたいとき
JetBrains/intellij-community2.1万2026年10月26日 更新

compose-ui-architecture

無料概要あり

Compose Desktopの画面で状態や副作用をどこに持たせるか整理し、表示と判断の境界、再利用部品やリストの設計を整えます。

  • 画面とプレゼンターの責務を分けたいとき
  • UI状態の置き場所を整理したいとき
  • Effectやコルーチンの使い方を見直したいとき
JetBrains/intellij-community2.1万2026年10月26日 更新

compose-ui-audit

無料概要あり

Compose DesktopのUIコードを読み、状態管理、画面構成、副作用、コルーチン、再描画の性能など、設計と実行時の問題を具体例とともに監査するスキルです。

  • Compose画面の状態管理を監査したいとき
  • 副作用やコルーチンの使い方を点検したいとき
  • 再描画や遅延リストの性能を調べたいとき
JetBrains/intellij-community2.1万2026年10月26日 更新

JetBrains のスキルをすべて見る

このスキルの問題を報告する