mcpField
A
android-ui-states-validation

android-ui-states-validation

github.com/krutikjainデザイン・UI1476 回インストール31 週間前に更新
リポジトリ

android-ui-states-validation について

リリース前に Android の UI フローを確認するスキルです。テストフレームワークの選定より、状態の網羅性と復旧時の UX に重点を置き、状態マトリクスや関連画面、作業の引き継ぎ先を整理します。

主な機能

  1. 01UI フローの状態マトリクス作成
  2. 02読み込み・空・エラー・オフライン状態の確認
  3. 03権限と古いデータの挙動確認
  4. 04関連画面と状態管理の特定
  5. 05自動化とアクセシビリティ作業の引き継ぎ

活用シーン

  1. 01リリース前の Android フロー確認
  2. 02エラーや権限拒否後の復旧経路の確認
  3. 03Android 画面のエッジケース確認

インストール

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

$npx skills add https://github.com/krutikjain/android-agent-skills --skill android-ui-states-validation

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

同梱ファイル

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

agents/
openai.yaml
references/
official-links.md
patterns.md
scenarios.md
scripts/
run_examples.sh

詳細

Android UI 状態の検証

使用するタイミング

  • 次のようなリクエストの場合に、このスキルを使用します:Android UI の状態を検証する、Android の読み込み・空・エラーのフローを確認する、Android 画面のエッジケースを確認する。
  • 主な目的:リリース前に、Android UI フローの空・読み込み・エラー・オフライン・エッジケースでの挙動をレビューします。
  • 中心となる質問が状態の網羅性や復旧時の UX に関するもので、使用するテストフレームワークやアサーションライブラリではない場合に、このスキルを使用します。
  • このスキルでは、状態マトリクスの各分岐でユーザーに何を表示するかを決定します。android-testing-ui は、アサーションとスクリーンショットを使ってその設計を検証します。
  • 対象範囲が広がった場合は、次のスキルに引き継ぎます:
  • android-compose-accessibility
  • android-testing-ui

ワークフロー

  1. ユーザーから見える操作の流れ、対象デバイスでの挙動、重要な失敗状態を確認します。
  2. 該当する範囲で、読み込み・コンテンツ・空・エラー・オフライン・古いデータ・権限拒否・操作後の確認状態を網羅する状態マトリクスを作成します。
  3. そのマトリクスの各分岐を担う画面、アクティビティ、デスティネーション、状態ホルダーを特定します。
  4. ショーケースアプリで復旧時の UX、アクセシビリティ、構成変更、バックスタックの挙動を検証します。
  5. 不足している作業が状態設計ではなくアサーションや自動化に関する場合に限り、テストへ引き継ぎます。

ガードレール

  • 読み込み・空・エラー・オフライン・権限拒否の状態を、UI の第一級の状態として扱います。
  • 再利用可能な UI コンポーネント内に、ナビゲーションや権限による副作用を隠さないでください。
  • 手動のコールバックチェーンより、ライフサイクル対応 API を優先してください。
  • ディープリンク、インテント、権限プロンプトは、テスト可能かつ観測可能な状態に保ちます。
  • 一時的なメッセージ、永続的なエラー状態、古くても利用可能なコンテンツを区別し、一般的な失敗画面にまとめないでください。

アンチパターン

  • プロダクトのフローでは正常系だけで十分だと考えること。
  • リクエストコードやルート文字列を複数箇所にハードコードすること。
  • リポジトリやネットワーク層から直接ナビゲーションを実行すること。
  • 権限拒否や状態の破損に対する復旧 UI がないままフローをリリースすること。
  • 各失敗モードでプロダクトに何を表示するか決める代わりに、テストを使用すること。

例

正常系
  • シナリオ:OrbitTasks の読み込み、コンテンツ、成功確認の状態を検証します。
  • コマンド:cd examples/orbittasks-compose && ./gradlew :app:connectedDebugAndroidTest
エッジケース
  • シナリオ:XML フィクスチャで長いコンテンツ、空のリスト、同期エラーを確認します。
  • コマンド:cd examples/orbittasks-xml && ./gradlew :app:connectedDebugAndroidTest
失敗からの復旧
  • シナリオ:UI 検証の作業を、アクセシビリティ専用またはテスト専用のスキルに誤って振り分けないようにします。
  • コマンド:python3 scripts/eval_triggers.py --skill android-ui-states-validation

完了チェックリスト

  • 実装手順が明確かつ最小限で、適切な Android の対象箇所に結び付いています。
  • 関連する例のコマンドとベンチマーク用プロンプトを実行するか、更新しています。
  • リクエストが隣接するスキルの範囲にまたがる場合は、引き継ぎについて記載しています。
  • 選択したパターンと、主な移行またはトラブルシューティングの手順を、公式リファレンスで確認できます。

公式リファレンス

コメント