| name | expo-ui-jetpack-compose |
| description | ALWAYS use this when the user mentions Expo UI Jetpack Compose, asks to build, debug, review, document, automate, test, configure, migrate, or make decisions in this domain, or the task clearly depends on Expo UI Jetpack Compose; scope: Expo UI Jetpack Compose work. Apply the bundled workflow, references, scripts, Senior Master standard, and Codex strict review gate before final output. |
Selective Reading Rule
Start with:
references/senior-master-standard.md
references/usage-routing.md
references/quality-checklist.md
Then load only the inherited docs, scripts, assets, or examples that match the user's actual task.
name: expo-ui-jetpack-compose
description: @expo/ui/jetpack-compose package lets you use Jetpack Compose Views and modifiers in your app.
The instructions in this skill apply to SDK 55 only. For other SDK versions, refer to the Expo UI Jetpack Compose docs for that version for the most accurate information.
When to Use
- You need to build Android-native UI in Expo using
@expo/ui/jetpack-compose.
- The task involves choosing Compose views or modifiers, embedding them in
Host, or translating Jetpack Compose patterns into Expo UI code.
- You are working specifically against Expo SDK 55 behavior for Jetpack Compose integration.
Installation
npx expo install @expo/ui
A native rebuild is required after installation (npx expo run:android).
Instructions
import { Host, Column, Button, Text } from "@expo/ui/jetpack-compose";
import { fillMaxWidth, paddingAll } from "@expo/ui/jetpack-compose/modifiers";
<Host matchContents>
<Column verticalArrangement={{ spacedBy: 8 }} modifiers={[fillMaxWidth(), paddingAll(16)]}>
<Text style={{ typography: "titleLarge" }}>Hello</Text>
<Button onPress={() => alert("Pressed!")}>Press me</Button>
</Column>
</Host>;
Key Components
- LazyColumn — Use instead of react-native
ScrollView/FlatList for scrollable lists. Wrap in <Host style={{ flex: 1 }}>.
- Icon — Use
<Icon source={require('./icon.xml')} size={24} /> with Android XML vector drawables from Material Symbols.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.