android-viewsystem-foundations について
XML レイアウト、Fragment、RecyclerView、バインディングのライフサイクルを扱う Android 開発スキルです。従来の View システムの所有権と描画に重点を置き、Compose 連携や UI テストの深掘りが必要な場合は引き継ぎます。
主な機能
- 01XML と ConstraintLayout の指針
- 02Fragment とビューのライフサイクル管理
- 03ViewBinding と DataBinding のパターン
- 04RecyclerView と描画の問題修正
- 05構成変更と文字サイズの確認
活用シーン
- 01XML レイアウトの問題解決
- 02Fragment 再生成時のバインディング参照の修正
- 03RecyclerView や長文表示の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ krutikjain/ android-agent-skills --skill android-viewsystem-foundationsインストール後、Claude Code で/android-viewsystem-foundationsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/official-links.mdpatterns.mdscenarios.mdscripts/run_examples.sh詳細
Android ViewSystem の基礎
使用する場面
- 次のようなリクエストでこのスキルを使用します:XML レイアウトの Android の問題、Android の Fragment ライフサイクル、ConstraintLayout の整理。
- 主な成果:XML レイアウト、ConstraintLayout、Fragment、ViewBinding、DataBinding、および従来の Android UI ライフサイクルパターンに対応します。
- 主な対象が Compose 優先の UI ではなく、XML、Fragment、RecyclerView、またはバインディングのライフサイクル作業である場合に、このスキルを使用します。
- 対象範囲が広がる場合は、次のスキルに引き継ぎます:
android-compose-xml-interoperabilityandroid-testing-ui
ワークフロー
- 対象の画面が Fragment、Activity、カスタムビュー、RecyclerView、または Compose と View の相互運用が混在する画面のいずれであるかを特定します。
- 所有関係を適切に設定します。ビューのバインディングはビューのライフサイクルに、アダプターは明示的なアイテムモデルに紐付け、ナビゲーションやトランザクションは子ビューの外で扱います。
- レイアウトや描画の問題は、まず従来の View ツールで解決します。ConstraintLayout、RecyclerView の差分更新、ウィンドウインセット、バインディングの安全な更新を活用します。
- 変更を完了とする前に、Fragment の再生成、長いテキスト、フォントスケール、RTL、プロセスライフサイクルの境界ケースを確認します。
- View システムの所有モデルが安定してから、Compose との相互運用や UI テストの詳細を関連スキルに引き継ぎます。
ガードレール
- アニメーションや抽象化を追加する前に、状態の安定性と予測可能な描画を優先します。
- アクセシビリティのセマンティクス、コントラスト、フォーカス順、タッチターゲットのガイダンスを標準で遵守します。
- 明確な相互運用の境界なしに、Compose と View システムの所有関係を混在させないでください。
- 早すぎるマイクロ最適化より、計測に基づいたパフォーマンス改善を優先します。
- Fragment のビューが破棄されたら ViewBinding の参照をクリアし、ビューのライフサイクルを越えてビュー参照を保持しないでください。
アンチパターン
- ナビゲーションやビジネスロジックを子 UI コンポーネントに直接埋め込む。
- ローカライズや動的テキストで崩れる固定サイズを使用する。
- セマンティクスを無視し、視覚的な変更だけを通知する。
- メンタルモデルを適応させずに、XML のパターンをそのまま Compose に移植する。
- ビューの再生成後も古いバインディング、ビュー参照、アダプターで Fragment のビュー状態を保持する。
例
期待どおりのケース
- シナリオ:ViewBinding と Fragment に安全な明示的パターンを使って、XML の OrbitTasks 画面を改善します。
- コマンド:
cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest
エッジケース
- シナリオ:従来のレイアウトで、構成変更、ビューのライフサイクル、長いコンテンツに対応します。
- コマンド:
cd examples/orbittasks-xml && ./gradlew :app:connectedDebugAndroidTest
障害からの復旧
- シナリオ:XML や Fragment のリクエストが Compose 優先のスキルに振り分けられないようにします。
- コマンド:
python3 scripts/eval_triggers.py --skill android-viewsystem-foundations
完了チェックリスト
- 実装方針が明確かつ最小限で、適切な Android の対象に紐付いています。
- 関連するサンプルコマンドとベンチマーク用プロンプトを実行または更新しました。
- リクエストが境界をまたぐ場合は、関連スキルへの引き継ぎを記載しています。
- 選択したパターンと、主な移行またはトラブルシューティングの手順を公式リファレンスで確認できます。
公式リファレンス
コメント
Markdown 対応