mcpField
C
claude-android-ninja

claude-android-ninja

github.com/drjacky開発129626 回インストール4 週間前に更新
リポジトリ

claude-android-ninja について

claude-android-ninjaは、KotlinとComposeによるAndroid開発向けのリファレンススキルです。既存・新規プロジェクトを対象に、アーキテクチャ、UI、Gradle、テスト、プラットフォームの作業を専門ガイドへ案内します。

主な機能

  1. 01タスク別のリファレンス案内
  2. 02KotlinとComposeの開発ガイド
  3. 03プロジェクトと依存関係の設定
  4. 04アーキテクチャ・ナビゲーション・データ設計
  5. 05ビルド・品質・テストのガイド

活用シーン

  1. 01Androidプロジェクトの新規作成
  2. 02既存アプリへのCompose機能追加
  3. 03オフラインファーストのデータフロー設計
  4. 04SDKやビルドツールのバージョン移行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/drjacky/claude-android-ninja --skill claude-android-ninja

インストール後、Claude Code で/claude-android-ninjaを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
LICENSE.md
README.md
.github/
FUNDING.yml
.github/ISSUE_TEMPLATE/
bug_report.md
feature_request.md
.github/scripts/
check-skill-index-line-counts.sh
check-skill-links.sh
check-skill-ergonomics.sh
check_skill_ergonomics.py
check-skill-voice.sh
check_skill_index_line_counts.py
check-skill-typography.sh
validate-skill.sh
check_skill_typography.py
check_skill_links.py
check_skill_voice.py
normalize_reference_links.py
.github/workflows/
validate-skill.yml
assets/convention/
AndroidApplicationBaselineProfileConventionPlugin.kt
AndroidApplicationComposeConventionPlugin.kt
AndroidApplicationJacocoConventionPlugin.kt
AndroidFeatureConventionPlugin.kt
AndroidLibraryConventionPlugin.kt
AndroidApplicationConventionPlugin.kt
AndroidLibraryComposeConventionPlugin.kt
AndroidLibraryJacocoConventionPlugin.kt
AndroidLintConventionPlugin.kt
AndroidRoomConventionPlugin.kt
AndroidTestConventionPlugin.kt

詳細

Android Kotlin Compose 開発

コンテキストの読み込み順(少ないものから。完全版のリファレンスは省略せず参照します):

  1. このファイル(SKILL.md)— ルーティング、停止ルール、例。
  2. 以下に記載されている場合は references/*-quick.md — 必須事項/禁止事項とセクションへのリンク(約40行)。
  3. 完全版の references/*.md にある対象セクション1つ — コードサンプルとチェックリストのみ。
  4. INDEX-sections.md — クイックルーティングで不十分な場合に限り、アンカー一覧を参照します。

禁止事項:1つのセクションまたはクイックファイルで対応できる場合、INDEX-sections.md や数千行に及ぶリファレンス全体を読み込まないでください。

タスクはクイックリファレンスの表から振り分けます。一致する項目がない場合、または新規プロジェクトのブートストラップが必要な場合は、workflows.md を参照してください。ファイル一覧全体は INDEX.md にあります。

必須事項:

  • 既存プロジェクト: assets/ からコピーする前に、settings.gradle.kts、gradle/libs.versions.toml、および app モジュールのビルドファイルを確認してください — dependencies.md、modularization.md。スタックの移行については migration.md を参照してください。
  • 新規プロジェクト: workflows.md → 「新しいプロジェクトの作成」
  • モジュール、DI、ナビゲーション、Room スキーマ、または AGP/Kotlin/KSP の変更後は、./gradlew help、続いて :app:assembleDebug を実行してください(実際のアプリモジュール名を使用します)— gradle-setup.md。

リポジトリ外の作業に関する停止ルール(リポジトリの編集で代替しないでください): Play へのアップロード、トラック、段階的公開、versionCode — android-ci-cd.md;Play Integrity の前提条件(Console/Cloud のセットアップ)— android-security-quick.md;本番環境での adb install/pm clear — testing.md。

クイックリファレンス

ここに記載されていない、まれなトピックやニッチなトピックは INDEX.md にあります(ファイル一覧全体)。

タスク参照
表にないタスク、新規プロジェクトのブートストラップ、複数トピックのセットアップworkflows.md
オプションの Android CLI によるプロジェクト検出、Studio の確認、プレビュー、テストデバイスの検査workflows.md(「エージェントのワークフローにオプションの Android CLI を使用する場合」)
すべての参照ファイルの完全な索引INDEX.md
バージョンカタログ、固定バージョン、アルファ版の方針、既存プロジェクトとの整合dependencies.md
依存関係の追加または更新(カタログのエイリアス)dependencies.md
マルチモジュールの依存関係dependencies.md
プロジェクト構造とモジュールmodularization.md
MVVM レイヤー、リポジトリ、DIarchitecture.md
Retrofit/OkHttp、NetworkModule、null 許容 DTO、AuthInterceptorarchitecture.md; dependencies.md
DataStore(設定、型指定)、Room と DataStore の使い分けarchitecture.md
コードフォーマット(Spotless、spotlessCheck/spotlessApply)assets/convention/QUICK_REFERENCE.md; gradle-setup.md
Compose のパターン、モーション、アニメーション、修飾子、安定性compose-patterns-quick.md
Paging 3 + Room + ネットワーク(RemoteMediator、リモートキー、initialize)compose-patterns.md
アクセシビリティ、TalkBack、ラベルの文言、ライブリージョン、Espresso のアクセシビリティandroid-accessibility-quick.md
通知、フォアグラウンドサービス、MediaStyle、PiP、共有シートandroid-notifications.md
メディア:API 37 のバックグラウンド再生、Media3、ピッカー、FileProvider、共有シートandroid-media.md
データ同期とオフラインファーストのパターンandroid-data-sync-quick.md
Material 3 のテーマ設定、間隔トークン、ダイナミックカラーandroid-theming-quick.md
Navigation3、ディープリンク、App Links、アダプティブレイアウトandroid-navigation-quick.md
Kotlin のパターン、View ライフサイクルとの相互運用kotlin-patterns.md
コルーチンのパターン(StateFlow、Channel、callbackFlow)coroutines-patterns-quick.md
Gradle、プロダクトフレーバー、BuildConfig、ビルドパフォーマンス、R8gradle-setup.md
コード品質(Detekt 規約プラグイン、CI)code-quality.md
テスト方針(ユニットテスト、インストルメンテーションテスト、Compose UI)testing-quick.md
国際化とローカライズandroid-i18n.md
実行時権限、Photo Picker、API 37 の位置情報プライバシーandroid-permissions.md
Kotlin の委譲パターンkotlin-delegation.md
クラッシュレポート(Firebase/Sentry のインターフェース、PII のスクラブ)crashlytics.md
デザインパターン(GoF スタイル、Room FTS)design-patterns-quick.md
パフォーマンス、Play Vitals、起動、再コンポジション、ジャンク、APA、Perfettoandroid-performance.md
制約のあるデバイスでの Android 17 QPR2 のメモリ予算(オプション)android-performance.md
デバッグ、Logcat、ANR、Gradle エラー、R8 マッピング、メモリリークandroid-debugging.md
移行(XML、RxJava、Navigation、Compose、Room 2→3、API 37、16 KB ネイティブ、Compose と XML の相互運用)migration.md; 16 KB ページサイズ; Compose と XML の相互運用

例

Convention Plugins を使った新規 Android アプリ

ユーザーの目標:スキルスタックに合った新しいリポジトリを作成します。

操作:assets/convention/QUICK_REFERENCE.md に従って、assets/settings.gradle.kts.template、assets/libs.versions.toml.template、assets/convention/ を build-logic/ にコピーします。includeBuild("build-logic") を設定し、modularization.md と gradle-setup.md を読みます。

結果:バージョンカタログを備え、Convention Plugins が適用されたルートモジュール、app モジュール、コアモジュールができます。

新機能画面(Compose + ViewModel)

ユーザーの目標:機能モジュールに新しいフローを1つ追加します。

操作:モジュールの命名と依存関係の方向については modularization.md を、Screen、状態、エフェクトについては compose-patterns-quick.md を参照します。StateFlow / イベントについては kotlin-patterns.md と coroutines-patterns-quick.md を参照します。ドメインとデータの境界については architecture.md を参照します。

結果:Screen コンポーザブル、ViewModel、UiState を備え、既存のグラフに沿った DI を使う機能モジュールができます。

Room 3 とリモート API を使ったオフラインファーストのリスト

ユーザーの目標:キャッシュされたリストを表示し、ネットワークから更新します。

操作:Paging 3 と RemoteMediator については compose-patterns.md を、リポジトリの配置については architecture.md を参照します。workflows.md(データベースの操作)に従って Room 3 と SQLiteDriver を使用し、アップグレードする場合は migration.md を参照します。

結果:Room を唯一の信頼できる情報源とし、ガイドにある PagingData または同等のパターンで UI を駆動します。

Target SDK / compile SDK の引き上げ(例:API 37)

ユーザーの目標:ツールチェーンとプラットフォーム要件を移行します。

操作:migration.md に沿って作業し、gradle-setup.md と dependencies.md を使って AGP/Kotlin/KSP のバージョンを固定します。workflows.md(Target SDK 37 への移行)に従って、エッジツーエッジ、メディア、セキュリティを照合します。

結果:移行ドキュメントに従ってマニフェスト、Gradle、機能コードを調整し、compileSdk / targetSdk を引き上げます。

トラブルシューティング

症状考えられる原因対処方法
Gradle の同期に失敗する、プラグインが見つからない、またはバージョンカタログのエラーが発生するgoogle() / mavenCentral() の不足、プラグイン ID の誤り、またはカタログのエイリアスの不整合ブートストラップ時は gradle-setup.md を参照し、assets/libs.versions.toml.template に合わせてください
Room で KSP エラーが発生する、または Room 3 のビルダーでドライバーがないとエラーになるRoom 3(テンプレートでは 3.0.3)では setDriver(BundledSQLiteDriver())(またはプロジェクトに相当する設定)が必要ですmigration.md; modularization.md; architecture.md
@TypeConverter が解決されない、または DAO の戻り値の型が拒否されるRoom 3 では @ColumnTypeConverter に名前が変更されています。Flow / suspend 以外の戻り値の型には @DaoReturnTypeConverters が必要ですmigration.md
seeds.txt にクラスが記載されているのに、リリース時のみクラッシュするAGP 9 の strictFullModeForKeepRules:-keep class A ではコンストラクターが保持されなくなりましたandroid-debugging.md; gradle-setup.md
Compose、nav3、または androidx.hilt のバージョンを上げた直後に Gradle の同期に失敗するこれらのライブラリは compileSdk 37 に対してコンパイルされており、AGP >= 9.2.0 が必要ですmigration.md; gradle-setup.md
target 37 で LAN デバイスの検出やローカル HTTP 呼び出しが何も表示せず失敗するACCESS_LOCAL_NETWORK が必要です。または、権限不要の NsdManager ピッカーを使用してくださいandroid-permissions.md; migration.md
バックグラウンド音声が例外もなく無音になるAPI 37 のオーディオ強化により、MediaSession または mediaPlayback FGS がありませんandroid-media.md
Compose ランタイムで不安定またはスキップ可能な再コンポジションに関する警告が表示されるパラメーターの型が不安定、または状態が不適切に保持されていますcompose-patterns-quick.md; android-performance.md; kotlin-patterns.md
リリースビルドがクラッシュする、ClassNotFoundException が発生する、または R8 ルールが不足している縮小処理によってリフレクションまたは JNI のエントリポイントが削除されましたandroid-debugging.md; gradle-setup.md
根拠がないまま ANR やジャンクが主張されるメインスレッドまたは測定に関する前提に問題がありますアーキテクチャを変更する前に、android-performance.md または Perfetto を確認してください

コメント