common-accessibility
Enforce WCAG 2.2 AA compliance with semantic HTML, ARIA roles, keyboard navigation, and color contrast standards for web UIs. Use…
Migrate a Jetpack Compose app to edge-to-edge display and fix system bar inset issues. Use when UI components are obscured by navigation/status bars, fixing IME insets, or enabling edge-to-edge for SDK 35+.
Claude Code
$ npx -y skills add hoangnguyen0403/agent-skills-standard --skill android-edge-to-edge --agent claude-code
Codex
$ npx skills add hoangnguyen0403/agent-skills-standard --skill android-edge-to-edge -a codex -y
Cursor
$ npx skills add hoangnguyen0403/agent-skills-standard --skill android-edge-to-edge -a cursor -y
Gemini CLI
$ npx skills add hoangnguyen0403/agent-skills-standard --skill android-edge-to-edge -a gemini-cli -y
GitHub Copilot
$ npx skills add hoangnguyen0403/agent-skills-standard --skill android-edge-to-edge -a github-copilot -y
OpenCode
$ npx skills add hoangnguyen0403/agent-skills-standard --skill android-edge-to-edge -a opencode -y
Windsurf
$ npx skills add hoangnguyen0403/agent-skills-standard --skill android-edge-to-edge -a windsurf -y
name: android-edge-to-edge
description: Migrate a Jetpack Compose app to edge-to-edge display and fix system bar inset issues. Use when UI components are obscured by navigation/status bars, fixing IME insets, or enabling edge-to-edge for SDK 35+.
metadata:
triggers:
files:
- '**/*Activity.kt'
- '**/*Screen.kt'
- 'AndroidManifest.xml'
keywords:
- edge-to-edge
- enableEdgeToEdge
- system bars
- WindowInsets
- safeDrawingPadding
- imePadding
- status bar
- navigation barStructured workflow for migrating a Compose app to edge-to-edge display.
1. Locate all Activity classes. For each without `enableEdgeToEdge()`, plan to add it. 2. In each Activity, find all lists, FABs, and text fields that need inset handling. 3. If `TextField`/`OutlinedTextField` is present, plan IME inset handling.
1. Add `enableEdgeToEdge()` before `setContent` in every `Activity.onCreate`. 2. Add `android:windowSoftInputMode="adjustResize"` in AndroidManifest for Activities with soft keyboard.
Choose ONE method per component to avoid double padding:
1. **PREFERRED — Scaffold**: Pass `PaddingValues` to content lambda. 2. **Material 3 components**: Use built-in inset handling (`TopAppBar`, `NavigationBar`, etc.). 3. **Outside Scaffold**: Use `Modifier.safeDrawingPadding()` or `windowInsetsPadding`.
See [inset patterns](references/inset-patterns.md) for RIGHT/WRONG code examples.
For Activities with soft keyboard:
See [inset patterns](references/inset-patterns.md) for IME-specific RIGHT/WRONG patterns.
The portable standards layer for AI coding agents. Sync once, then work in your own runtime.
Enforce WCAG 2.2 AA compliance with semantic HTML, ARIA roles, keyboard navigation, and color contrast standards for web UIs. Use…
Define deterministic guardrails for agent tool calls — protected paths, test-file locks during bug fixes, post-edit formatters,…
Apply REST API conventions — HTTP semantics, status codes, versioning, pagination, and OpenAPI standards for any framework. Use…
Audit structural debt, logic leakage, and monolithic components across Web, Mobile, and Backend codebases. Use when reviewing…
Draws architecture diagrams as editable draw.io files with a fixed house style, C4 levels, evidence-tagged shapes, and optional…
Enforce SOLID principles, guard-clause style, function size limits, and intention-revealing naming across all languages. Use when…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.