CatalogOpenAI Codex Plugins · OpenAI

expo-ui-swift-ui

`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.

AnalyzedOfficial7.5k stars

Savant verdict: Analyzed

Scanned or evaluated by Savant; not yet both passing.

Live evaluation

37overall
35quality
29compliance
42grounding
40actionability
47efficiency
Why this score may understate the skillThe live evaluation is a chat-only run: the model follows the skill's instructions but can't execute its scripts, call tools or reach the network.
  • Expects tools, MCP servers, installs or network access that a chat-only run doesn't have.
Live telemetry from real runs (via the Savant skill router) replaces this estimate as it accumulates.

0 pass · 2 investigate · 7 fail across 9 cases. Jev accepted 9 of 16 LLM-drafted cases. Drafted and run by nvidia/nemotron-3-super-120b-a12b, validated and scored by jev-latest.

  • I want to create a vertically stacked layout with a text label and a button using Expo UI SwiftUI. The text should say 'Welcome' and the button should trigger an alert when pressed. Show me the complete code snippet.positive case · fail
  • I need to embed a React Native MapView component inside a SwiftUI ZStack so it appears behind some SwiftUI text overlays. Provide the correct structure using RNHostView and Host.positive case · investigate
  • How do I apply padding and a background color to a SwiftUI VStack containing two text fields using Expo UI modifiers? Show the full code.positive case · fail
  • Create a screen with a list of items where each item has a icon on the left and text on the right. Use Expo UI SwiftUI.edge case · fail
  • Write a SwiftUI view that accesses the user's health data from HealthKit and displays heart rate over time.negative case · fail
  • I want to create a button that changes color when pressed using Expo UI SwiftUI. The button should start blue and turn green when pressed, but I'm not sure which modifier to use for the color change.edge case · fail
  • I need to display a list of items where each item has a subtitle below the main text. Should I use VStack inside a ForEach loop, or is there a specific component like ListItem that I should use from @expo/ui/swift-ui?edge case · investigate
  • I want to create a screen that records audio from the microphone and saves it to the device using Expo UI SwiftUI for the interface. The audio should be saved in MP3 format and accessible later.negative case · fail

Safety (NVIDIA SkillSpector)

Risk score
10/100
Recommendation
SAFE
Severity
LOW
Savant decision
Passed
SkillSpector rated the package safe. SkillSpector 2.12.0, static analysis.

2 patterns found

  • MCP Rug Pull: npx expomedium · SKILL.md:11 · npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
  • MCP Rug Pull: npx expomedium · SKILL.md:14 · npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Structure

  • No license declaredConfirm you may reuse this skill before importing it into your repository.

SKILL.md

---
name: expo-ui-swift-ui
description: "`@expo/ui/swift-ui` package lets you use SwiftUI 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 SwiftUI docs for that version for the most accurate information.

## Installation

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

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

## Instructions

- Expo UI's API mirrors SwiftUI's API. Use SwiftUI knowledge to decide which components or modifiers to use.
- Components are imported from `@expo/ui/swift-ui`, modifiers from `@expo/ui/swift-ui/modifiers`.
- When about to use a component, fetch its docs to confirm the API - https://docs.expo.dev/versions/v55.0.0/sdk/ui/swift-ui/{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/swift-ui/modifiers/index.md
- Every SwiftUI tree must be wrapped in `Host`.
- `RNHostView` is specifically for embedding RN components inside a SwiftUI tree. Example:

```jsx
import { Host, VStack, RNHostView } from "@expo-ui/swift-ui";
import { Pressable } from "react-native";

<Host matchContents>
  <VStack>
    <RNHostView matchContents>
      // Here, `Pressable` is an RN component so it is wrapped in `RNHostView`.
      <Pressable />
    </RNHostView>
  </VStack>
</Host>;
```

- If a required modifier or View is missing in Expo UI, it can be extended via a local Expo module. See: https://docs.expo.dev/guides/expo-ui-swift-ui/extending/index.md. Confirm with the user before extending.
expo-ui-swift-ui · Skill catalog | Savant