android-viewsystem-foundations
Handle XML layouts, ConstraintLayout, Fragments, ViewBinding, DataBinding, and classic Android UI lifecycle patterns.
Works with
--- name: android-viewsystem-foundations description: Handle XML layouts, ConstraintLayout, Fragments, ViewBinding, DataBinding, and classic Android UI lifecycle patterns. license: MIT --- # Android ViewSystem Foundations ## When To Use - Use this skill when the request is about: xml layout android issue, fragment lifecycle android, constraintlayout cleanup. - Primary outcome: Handle XML layouts, ConstraintLayout, Fragments, ViewBinding, DataBinding, and classic Android UI lifecycle patterns. - Reach for this skill when the main surface is XML, Fragment, RecyclerView, or binding lifecycle work rather than Compose-first UI. - Handoff skills when the scope expands: - `android-compose-xml-interoperability` - `android-testing-ui` ## Workflow 1. Identify whether the target surface is Fragment, Activity, custom view, RecyclerView, or a mixed Compose/View interoperability screen. 2. Anchor ownership correctly: view bindings to the view lifecycle, adapters to explicit item models, and navigation/transactions outside leaf views. 3. Fix layout and rendering issues with classic View tools first: ConstraintLayout, RecyclerView diffing, window insets, and binding-safe updates. 4. Exercise Fragment recreation, long text, font scaling, RTL, and process-lifecycle edges before considering the change complete. 5. Hand off Compose interoperability or UI test depth only after the View-system ownership model is stable. ## Guardrails - Optimize for stable state and predictable rendering before adding animation or abstraction. - Respect accessibility semantics, contrast, focus order, and touch target guidance by default. - Do not mix Compose and View system ownership without an explicit interoperability boundary. - Prefer measured performance work over premature micro-optimizations. - Clear ViewBinding references when the Fragment view is destroyed; do not keep view references alive past the view lifecycle. ## Anti-Patterns - Embedding navigation or business logic directly in leaf UI components. - Using fixed dimensions that break on localization or dynamic text. - Ignoring semantics and announcing only visual changes. - Porting XML patterns directly into Compose without adapting the mental model. - Holding Fragment view state in stale bindings, view references, or adapters across view recreation. ## Examples ### Happy path - Scenario: Refine the XML OrbitTasks screen with ViewBinding and explicit fragment-safe patterns. - Command: `cd examples/orbittasks-xml && ./gradlew :app:testDebugUnitTest` ### Edge case - Scenario: Handle configuration changes, view lifecycle, and long content in classic layouts. - Command: `cd examples/orbittasks-xml && ./gradlew :app:connectedDebugAndroidTest` ### Failure recovery - Scenario: Prevent XML or Fragment requests from being routed to Compose-first skills. - Command: `python3 scripts/eval_triggers.py --skill android-viewsystem-foundations` ## Done Checklist - The implementation path is explicit, minimal, and tied to the right Android surface. - Relevant example commands and benchmark prompts have been exercised or updated. - Handoffs to adjacent skills are documented when the request crosses boundaries. - Official references cover the chosen pattern and the main migration or troubleshooting path. ## Official References - [https://developer.android.com/guide/fragments](https://developer.android.com/guide/fragments) - [https://developer.android.com/topic/libraries/view-binding](https://developer.android.com/topic/libraries/view-binding) - [https://developer.android.com/training/constraint-layout](https://developer.android.com/training/constraint-layout) - [https://developer.android.com/topic/libraries/data-binding](https://developer.android.com/topic/libraries/data-binding)
More Mobile skills
animation-vocabulary
emilkowalski/skills
Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.
cross-border-ecommerce
nexscope-ai/ecommerce-skills
Cross-border e-commerce expansion advisor. Scores target markets on 8 weighted dimensions (market size, ecommerce penetration, competition, regulatory complexity, logistics infrastructure, payment ecosystem, cultural distance, IP protection), compares 5 fulfillment models with cost and transit data, provides country-by-country tax/duty compliance guides (EU VAT/IOSS, UK VAT, US sales tax, CA GST, AU GST, JP consumption tax), maps local payment preferences by market, and builds a phased expansion roadmap. No API key required.
developing-genkit-dart
firebase/agent-skills
Generates code and provides documentation for the Genkit Dart SDK. Use when the user asks to build AI agents in Dart, use Genkit flows, or integrate LLMs into Dart/Flutter applications.

