/ ディレクトリ / プレイグラウンド / claude-android-skill
● コミュニティ dpconde ⚡ 即起動

claude-android-skill

作者 dpconde · dpconde/claude-android-skill

Claude Codeに最新のAndroidアプリ開発をGoogle推奨の方法で教えます — Clean Architecture、Compose、Hilt、Room、Flow、オフラインファースト、フィーチャー単位のマルチモジュール構成。

最新のAndroidベストプラクティス(NowInAndroidリファレンスに準拠)をClaude Codeに組み込むスキルです。UI/Domain/Dataレイヤーによる Clean Architecture、MVVM + UDF、Jetpack ComposeによるUI構築、HiltによるDI、Roomによるデータ永続化、Kotlin Flowによるリアクティブストリーム、Retrofitによるネットワーク通信、そしてフィーチャーファーストのマルチモジュールプロジェクト構成をサポートします。

なぜ使うのか

主な機能

ライブデモ

実際の動作

claude-android-skill.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "claude-android-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/dpconde/claude-android-skill",
        "~/.claude/skills/claude-android-skill"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "claude-android-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/dpconde/claude-android-skill",
        "~/.claude/skills/claude-android-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "claude-android-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/dpconde/claude-android-skill",
        "~/.claude/skills/claude-android-skill"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "claude-android-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/dpconde/claude-android-skill",
        "~/.claude/skills/claude-android-skill"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "claude-android-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/dpconde/claude-android-skill",
        "~/.claude/skills/claude-android-skill"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "claude-android-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/dpconde/claude-android-skill",
          "~/.claude/skills/claude-android-skill"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add claude-android-skill -- git clone https://github.com/dpconde/claude-android-skill ~/.claude/skills/claude-android-skill

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: claude-android-skill

モダンアーキテクチャで新しいAndroidアプリを雛形生成する

👤 新規プロジェクトを立ち上げるAndroid開発者 ⏱ ~60 min intermediate

使うタイミング: 新しいアプリを始めるにあたり、半年後に修正するはめになるアーキテクチャ上のミスを避けたいとき。

前提条件
  • スキルをクローン済み — git clone https://github.com/dpconde/claude-android-skill ~/.claude/skills/claude-android-skill
  • Android Studio + JDK 17 — 最新安定版のAndroid Studioをインストール
フロー
  1. Claudeにモジュール構成の雛形生成を依頼する
    Use claude-android-skill. Scaffold a multi-module Android app called 'HabitTracker' with features: home, tracking, settings. Compose UI, Hilt DI, Room DB, offline-first.✓ コピーしました
    → :app, :core:database, :core:ui, :feature:home… などのモジュールが生成される
  2. 最初のフィーチャーをエンドツーエンドで追加する
    Implement the tracking feature: data layer with Room entity, domain layer with use cases, UI with Compose and ViewModel. Include unit tests.✓ コピーしました
    → 3つのレイヤーにまたがるファイルとテストがすべてコンパイルを通る

結果: NowInAndroidスタイルのパターンに準拠した、動作するアプリが完成します。

注意点
  • 小さなアプリを8モジュールに過剰分割してしまう — シンプルなプロジェクトの場合は「シングルモジュールで十分」とスキルに明示的に伝える
組み合わせ: filesystem · github

Fragment/XMLの画面をComposeに移行する

👤 レガシー画面をモダナイズするAndroidチーム ⏱ ~45 min intermediate

使うタイミング: XML画面があり、一度にすべてを書き換えずにComposeへ移行したいとき。

フロー
  1. 既存の画面を分析する
    Here's the Fragment + XML for SettingsScreen. Plan a Compose migration keeping the ViewModel intact.✓ コピーしました
    → ステップ計画: ComposeViewでラップ → Viewを移植 → XMLを削除
  2. 移行を実施する
    Implement step 1 — add ComposeView and move the header to Compose.✓ コピーしました
    → ハイブリッド画面が動作し、後続ステップの準備が整う

結果: ViewModelのコントラクトを維持したまま、Compose画面が完成します。

注意点
  • 移行中に状態が失われる — 同じViewModelを維持する — 変更するのはUIレイヤーのみ
組み合わせ: github

オンラインのみのフィーチャーにオフラインファースト対応を追加する

👤 ネットワーク未接続時にアプリが壊れてしまう開発者 ⏱ ~90 min advanced

使うタイミング: Retrofitのみのフィーチャーがあり、キャッシュやキューイングの仕組みを導入したいとき。

フロー
  1. Room + リポジトリを導入する
    Use claude-android-skill to convert the profile feature to offline-first. Add Room entity, repository returning Flow, and a sync worker.✓ コピーしました
    → データレイヤーが再構成され、リポジトリが信頼できる唯一のデータソースになる
  2. UIをFlowに接続する
    Update ViewModel to collect from the repository Flow; handle loading/empty/error states in Compose.✓ コピーしました
    → 同期後の初回起動でオフラインでもUIが正常に動作する

結果: 機内モードでも動作するフィーチャーが完成します。

注意点
  • コンフリクト解決の戦略を忘れる — 事前に戦略を決定する: LWW、サーバー優先、またはマージ — スキルが確認を促します

組み合わせ

他のMCPと組み合わせて10倍の力を

claude-android-skill + github

フィーチャーごとにPRを作成し、雛形をレビューしやすくする

Generate the home feature and open a GitHub PR with just those files.✓ コピーしました
claude-android-skill + filesystem

1セッションで複数モジュールにまたがる編集を行う

Apply the Hilt migration across every :feature:* module.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
scaffold_module_tree app name, feature list 新規プロジェクトの立ち上げ時 0
generate_feature feature name, data model 新しいフィーチャーの追加時 0
migrate_to_compose fragment/xml path レガシー画面のモダナイズ時 0

コストと制限

運用コスト

APIクォータ
スキル自体からの消費はなし。Android SDKは無料
呼び出しあたりのトークン
大 — 雛形生成+テストで20,000トークン以上になることがあります
金額
無料
ヒント
雛形生成は一度だけ行い、その後はフィーチャーごとに反復する — 「アプリ全体を生成して」というプロンプトは避けてください

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: APIキーはlocal.properties + BuildConfigに格納し、コミットには含めないこと
データ送信先: スキル自体からのデータ送信はありません

トラブルシューティング

よくあるエラーと対処法

Hilt compile error: missing @HiltAndroidApp

Applicationクラスにアノテーションが付与され、マニフェストに宣言されていることを確認してください

確認: grep -r '@HiltAndroidApp' app/src/
Room schema mismatch on migration

Migrationを提供するか、開発環境ではfallbackToDestructiveMigrationを設定してください

Compose preview won't render

Composeプレビュー用の依存関係を追加し、@Previewアノテーションを正しく付与してください

代替案

claude-android-skill 他との比較

代替案代わりに使う場面トレードオフ
Google's NowInAndroid repoコピー元として参照プロジェクトが欲しいだけのとき静的 — コードを自動生成する機能はありません

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る