Android スキルの概要

Android スキルは、AI ツールとエージェントが Android 開発に関するベスト プラクティスとガイダンスに沿った特定のパターンをより適切に理解して実行できるように、AI 向けに最適化された指示です。Android スキルは、 Android スキル GitHub リポジトリに格納されています。

Android スキルを使用して、次のようなタスクを行うことができます。

  • XML から Compose に移行する
  • AGP 9 にアップグレードする
  • Navigation 3 などの新しいフレームワークを設定する
  • アプリの UI をエッジ ツー エッジ対応にしてモダナイズする
  • R8 構成を監査してパフォーマンスを改善する

Android スキルを使用すると、LLM を最新の知識と、Android 固有のワークフローのコンテキストでグラウンディングできます。

Android スキルはエージェント スキルのオープン 標準に準拠しているため、スキルをサポートするあらゆる AI ツールと互換性があります。この ページでは、Android Studio でスキルを使用する方法と、 Android CLI を使用してスキルをインストールし、任意のツールやエージェントで使用する方法について説明します。

Android スキルの主なメリット

Android スキルには、エージェント ワークフローを加速させ、高品質の Android コードをより効率的に生成することを目的とした、次のような主なメリットがあります。

  • 専門知識によるグラウンディング: エージェントに Android 固有のコンテキストを提供し、オンデマンドでグラウンディングすることで、通常のモデル トレーニング サイクルを超えてデフォルトの知識と専門知識を拡張します。
  • 再現可能なワークフロー: Android 開発の複数ステップのタスクを確実に一貫して実行できるように、標準的な手順を提供します。
  • リソースのバンドル: メインの SKILL.md 手順とともにスクリプト、テンプレート、追加のドキュメントを含めることで、エージェントは必要なものをすべて 1 か所に集約し、プロンプトに手動でファイルを添付する必要がなくなります。
  • 専門知識の共有: チームの Android 開発パターンを共有フォルダにパッケージ化して、統一されたアクセスとコラボレーションを実現します。

Android スキルを使用する

Android スキルは Android CLI に統合されており、任意のツールやエージェントで使用できます。

gemini_cli_skills_demo.gif

Android CLI

Android CLI を使用して Android スキルをインストールすることをおすすめします。これにより、任意のツールやエージェントのスキルを簡単に検出、ダウンロード、 管理できます。

  • 使用可能なスキルのリストを表示するには、android skills list を実行します。
  • スキルをインストールするには、android skills add --skill skill-name を実行します。 スキルがすでにインストールされている場合は、skills add を実行すると最新バージョンに更新されます。

Android Studio

Android スキル GitHub リポジトリからスキルをダウンロードして、Android Studio のプロジェクトにインポートできます。

スキルを有効にする

エージェントは、タスクに関連するスキルを自動的に有効にします。スキルを使用するには、エージェントにスキルに関連するタスクの完了を促します(例: 「アプリの UI をエッジ ツー エッジ対応にする」)。 スキルが使用可能な場合は、エージェントが自動的にスキルを検索して使用します。

Android Studio では、チャット ウィンドウに @skill-name と入力して、スキルを 手動で呼び出すこともできます。

独自のスキルを作成する

独自のスキルを作成して、チームのワークフローをパッケージ化して共有できます。 スキルの要件の詳細については、 エージェント スキルの仕様をご覧ください。

エージェントは、プロジェクト ルートにある .skills/ ディレクトリまたは .agent/skills/ ディレクトリからスキルを検索します。カスタムスキルを作成する手順は次のとおりです。

  1. スキルのディレクトリを作成 します(例: my-new-skill/)。
  2. 新しいディレクトリ内に SKILL.md ファイルを 作成します(大文字と小文字が区別されます)。

スキルは次のルールに従う必要があります。

  • スキルごとに 1 つのディレクトリ: 各スキルには、独自のディレクトリ が必要です。これには、SKILL.md ファイルと追加のリソースが含まれます。
  • ネスト: すべてのスキルは、プロジェクト ルートの .skills/ ディレクトリまたは .agent/skills/ ディレクトリに配置する必要があります。ただし、サブディレクトリを使用して整理することもできます(例: skills/ui-flows/<skill name>/SKILL.md または skills/testing/<skill name>/SKILL.md)。
  • スコープ: プロジェクトのコードベース内にあるスキルのみがサポートされます。
プロジェクト内のスキルファイルの場所を示すディレクトリ構造
スキルファイルの構造。

SKILL.md ファイルでは、メタデータに YAML ブロックを使用し、手順に標準の Markdown を使用します。

  • name: スキルの固有識別子。ディレクトリ名と一致する必要があります。
  • description: スキルの機能と、エージェントがスキルを使用するタイミングを明確に説明します。
  • 本文: YAML ブロックの下の Markdown 本文には、スキルが有効なときにエージェントの動作をガイドする手順が含まれています。
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
  author: example-org
  version: "1.0"
---

Skill content

形式に関するガイドライン

省略可能なスキル ディレクトリ

SKILL.md ファイルを簡潔でモジュール化された状態に保つため、スキルのフォルダ内の次の省略可能なディレクトリに追加のリソースを含めることができます。

  • scripts/: エージェントが実行できる実行可能コード(Python、Bash など)が含まれます。
  • references/: 詳細な技術ドキュメント、API リファレンス、ドメイン固有のガイドが含まれます。
  • assets/: ドキュメント テンプレート、UI 図、JSON スキーマなどの静的リソースが含まれます。

SKILL.md 手順内でこれらのファイルを参照する場合は、スキルルートからの相対パスを使用します。例: Run the script at scripts/cleanup.py

スキルの仕組み

スキルはオンデマンドの専門知識を表します。この構造により、エージェントはモデルの直接的なコンテキスト ウィンドウを煩雑にすることなく、多数の特殊な機能を維持できます。

モデルは、リクエストとスキルの説明に基づいて、スキルを使用するタイミングを自律的に決定します。関連するスキルが特定されると、モデルはタスクの完了に必要な手順とリソースを動的にプルします。