Skip to main content
NEW · APP STORE Now on iOS · macOS · iPad Android & Windows soon GET IT
Prompts Expo SDK 55 Jetpack Compose UI Guide

agent coding skill risk: low

Expo SDK 55 Jetpack Compose UI Guide

Instructs the model on when and how to use the @expo/ui/jetpack-compose package for Android-native UI in Expo SDK 55, covering installation, component selection, Host wrapping, mod…

SKILL 1 file

SKILL.md
---
name: antigravity-awesome-skills-expo-ui-jetpack-compose
description: "expo-ui-jetpack-compose"
---
---
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

```bash
npx expo install @expo/ui
```

A native rebuild is required after installation (`npx expo run:android`).

## Instructions

- Expo UI's API mirrors Jetpack Compose's API. Use Jetpack Compose and Material Design 3 knowledge to decide which components or modifiers to use.
- Components are imported from `@expo/ui/jetpack-compose`, modifiers from `@expo/ui/jetpack-compose/modifiers`.
- When about to use a component, fetch its docs to confirm the API - https://docs.expo.dev/versions/v55.0.0/sdk/ui/jetpack-compose/{component-name}/index.md
- When unsure about a modifier's API, refer to the docs - https://docs.expo.dev/versions/v55.0.0/sdk/ui/jetpack-compose/modifiers/index.md
- Every Jetpack Compose tree must be wrapped in `Host`. Use `<Host matchContents>` for intrinsic sizing, or `<Host style={{ flex: 1 }}>` when you need explicit size (e.g. as a parent of `LazyColumn`). Example:

```jsx
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](https://fonts.google.com/icons).

## 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.

REQUIRED CONTEXT

  • user task involving Android-native UI with @expo/ui/jetpack-compose

ROLES & RULES

  1. Use Jetpack Compose and Material Design 3 knowledge to decide which components or modifiers to use.
  2. When about to use a component, fetch its docs to confirm the API.
  3. When unsure about a modifier's API, refer to the docs.
  4. Every Jetpack Compose tree must be wrapped in `Host`.
  5. Use this skill only when the task clearly matches the scope described above.
  6. Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  7. Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

EXPECTED OUTPUT

Format
markdown
Constraints
  • wrap Jetpack Compose trees in Host
  • fetch component docs before use
  • use only for SDK 55

SUCCESS CRITERIA

  • Build Android-native UI in Expo using @expo/ui/jetpack-compose for SDK 55.
  • Choose Compose views or modifiers, embed them in Host, or translate Jetpack Compose patterns into Expo UI code.

EXAMPLES

Includes one example of a Jetpack Compose tree wrapped in Host using modifiers.

CAVEATS

Missing context
  • Intended user or AI system consuming the skill
  • How to handle SDK version updates beyond 55

QUALITY

OVERALL
0.82
CLARITY
0.85
SPECIFICITY
0.90
REUSABILITY
0.70
COMPLETENESS
0.80

IMPROVEMENT SUGGESTIONS

  • Add a reusable placeholder for SDK version in URLs and constraints to support templating across versions
  • Specify expected output format or code style for generated examples

USAGE

Copy the prompt above and paste it into your AI of choice — Claude, ChatGPT, Gemini, or anywhere else you're working. Replace any placeholder sections with your own context, then ask for the output.

MORE FOR AGENT