К основному содержанию
скилл CX Codex GP ChatGPT официальный · OpenAI

ios-simulator-browser — скилл для Codex: что делает и как установить

Транслирует iOS Simulator во встроенный браузер Codex и обновляет предпросмотр SwiftUI из пакетов Swift на лету. Пригодится для интерактивной проверки экранов без Xcode Canvas.

Установить в Codex · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add openai/plugins --skill ios-simulator-browser -a codex
Открыть на GitHub

Что делает ios-simulator-browser

Скилл связывает симулятор iOS со встроенным браузером Codex через утилиту serve-sim. Идентификатор симулятора определяется через команду xcrun simctl list devices available. Картинка транслируется прямо в редактор. Перед стартом процесс убирает старые сессии, а при закрытии терминала срабатывает системная ловушка для остановки фонового помощника.

Для интерфейса запускается скрипт swiftui-preview-browser.mjs. Он создаёт временный проект за пределами пользовательского каталога и компилирует превью для выбранного таргета Package.swift. Изменения подхватываются на лету через замену динамической библиотеки без перезапуска программы. Инструмент поддерживает структуры PreviewProvider и макрос #Preview. Ваши файлы .xcodeproj и настройки сборки скрипт не модифицирует.

Ставьте этот скилл, если пишете интерфейс в изолированных пакетах Swift. Это ускоряет отладку верстки. Но для монолитных проектов Xcode без структуры пакетов он не годится.

Какие задачи решает

  • транслировать экран симулятора iOS во встроенный браузер Codex
  • просматривать компоненты SwiftUI без запуска Xcode Canvas
  • обновлять превью интерфейса на лету через горячую перезагрузку dylib
  • сохранять снимки экрана браузера для подтверждения верстки

Примеры запросов агенту

  • Запусти трансляцию симулятора iOS в браузере Codex через serve-sim.
  • Покажи превью компонента из Package.swift с горячей перезагрузкой.
  • Открой превью StatusRowView_Previews в симуляторе и сделай снимок экрана для проверки.

Как установить ios-simulator-browser

1Через Skills CLI (Vercel)

npx skills add openai/plugins --skill ios-simulator-browser -a codex

2Вручную: положить файлы

.agents/skills/ios-simulator-browser/SKILL.md

Для всех проектов — ~/.agents/skills/

Из того же набора201

Весь набор →
supabase официальный supabase Скилл помогает настраивать базу данных, аутентификацию и RLS в Supabase без скрытых дыр в безопасности. CX Codex GP ChatGPT 8установок remotion-render официальный Remotion Экспортирует видео и отдельные кадры из проектов Remotion через консольные команды. CX Codex GP ChatGPT 3установок figma-create-new-file официальный Figma Создаёт пустые файлы Figma, FigJam или Slides в черновиках нужной команды. Скилл готовит параметры и planKey перед запуском MCP-инструментов. CX Codex GP ChatGPT 6установок swiftui-performance-audit официальный OpenAI Находит причины просадок кадров, долгого рендеринга и утечек памяти в SwiftUI. Помогает разобрать код вьюшек или подготовить замеры для профилирования. CX Codex GP ChatGPT 109установок swiftui-liquid-glass официальный OpenAI Скилл помогает создавать и проверять интерфейсы SwiftUI с Liquid Glass для iOS 26+. Он нужен при внедрении эффекта, ревью и проверке fallback-сценариев. CX Codex GP ChatGPT 121установок swiftui-ui-patterns официальный OpenAI Скилл помогает собирать и рефакторить SwiftUI-интерфейсы: навигацию, состояние, компоновку и контролы. Подойдёт для новых экранов и правок существующего проекта. CX Codex GP ChatGPT 114установок swiftui-view-refactor официальный OpenAI Скилл наводит порядок в коде SwiftUI: делит разросшиеся экраны на отдельные структуры View и выносит побочные эффекты из body. CX Codex GP ChatGPT 113установок ios-memgraph-leaks официальный OpenAI Скилл захватывает и разбирает утечки памяти iOS из симулятора или .memgraph. Нужен для поиска удерживающих связей и проверки исправлений. CX Codex GP ChatGPT 1 054установок

Похожие

vercel-react-native-skills vercel Набор правил по React Native и Expo для ИИ-агента: списки, анимации, навигация. Пригодится, когда агент правит мобильный код и надо, чтобы он делал это одинаково. Claude Code CX Codex Cursor +1 253 900установок animate-expo emilkowalski Создаёт мобильные анимации для React Native и Expo на базе Reanimated и Gesture Handler. Помогает избежать просадок кадров на реальных устройствах. Claude Code CX Codex Cursor +1 135 900установок mobile-native emilkowalski Убирает мелочи, из-за которых веб-приложение на телефоне выдаёт себя: залипающий hover, вспышку при тапе, ошибку с 100vh. Claude Code CX Codex Cursor +1 84 500установок aso coreyhaines31 Анализирует страницы приложений в App Store и Google Play по правилам поисковой оптимизации. Находит слабые места в метаданных, графике и конверсии. Claude Code CX Codex Cursor +1 74 900установок swiftui-pro Paul Hudson Проверяет SwiftUI-код на устаревшие API, ошибки в структуре и проблемы доступности. Пригодится для ревью и доработки проектов на SwiftUI. Claude Code CX Codex Cursor +1 35 000установок orca-emulator stablyai Управляет iOS Simulator внутри Orca с живым экраном устройства. Пригодится для тапов, жестов, поворота экрана и сбора доказательств работы iOS-приложения. Claude Code CX Codex Cursor +1 5 800установок

Вопросы о ios-simulator-browser

Как установить ios-simulator-browser в Codex?

Выполните команду npx skills add openai/plugins --skill ios-simulator-browser в терминале проекта. Скилл сохранится по пути .agents/skills/ios-simulator-browser/SKILL.md.

Что делает ios-simulator-browser?

Скилл транслирует экран запущенного симулятора iOS во встроенный браузер Codex и обеспечивает горячую перезагрузку экранов SwiftUI. Он компилирует временный проект вне репозитория и подменяет код без перезапуска симулятора.

Меняет ли скилл исходный проект Xcode?

Нет, инструмент не редактирует файлы .xcodeproj, схемы или Package.swift. Скрипт разворачивает изолированный хост-проект в отдельном каталоге.

Исходный текст

SKILL.md · MIT
---
name: ios-simulator-browser
description: Mirror an iOS Simulator into the Codex in-app browser and render SwiftUI previews from importable Swift packages in that simulator with hot reload. Use when a user wants to watch or interact with an iOS app in the browser, see a SwiftUI preview outside Xcode Canvas, iterate live on a preview, or capture browser-visible simulator proof.
---

# iOS Simulator Browser

## Browser Workflow

1. Obtain an explicit Simulator UDID from the existing iOS build/run workflow or from `xcrun simctl list devices available`.
2. Start `serve-sim` in a long-running terminal pinned to that simulator. Clean up any tracked stale helper for this simulator before starting, and install a trap so the helper is cleaned up when this terminal exits:

   ```bash
   SIM="<simulator-udid>"
   cleanup_serve_sim() {
     npx --yes serve-sim@latest --kill "$SIM" >/dev/null 2>&1 || true
   }
   trap cleanup_serve_sim EXIT INT TERM HUP
   cleanup_serve_sim
   npx --yes serve-sim@latest "$SIM"
   ```

3. Open the exact local preview URL printed by `serve-sim` in the Codex in-app browser.
4. Verify that a real frame is rendering before reporting success. A loaded page alone is not proof that the simulator stream is healthy.

- Keep the terminal alive while the browser mirror is in use. When finished, stop the terminal and wait for it to exit so the trap runs.
- If the terminal disappeared or did not exit cleanly, run `npx --yes serve-sim@latest --kill "$SIM"` before starting another mirror for that simulator.
- Never run an unscoped `serve-sim --kill`; another thread may own a different simulator mirror.

## SwiftUI Preview Workflow

Use the bundled launcher when the requested previews live in an importable Swift package. Point it at the package manifest and select the target whose previews should be displayed. It generates a disposable host project outside the user's source tree, installs and launches that host in Simulator, and watches the package for edits.

```bash
node <skill-root>/scripts/swiftui-preview-browser.mjs \
  /absolute/path/to/Package.swift \
  --package-target "<target>" \
  --device "<simulator-udid>"
```

- Watch mode is enabled by default. On a Swift package source edit, the launcher rebuilds a generated dylib and hot-swaps it into the running host without relaunching the app.
- The generated host shows every preview variant discovered in the selected Swift Package target with in-simulator page controls. To show a subset instead, pass `--preview-filter <regex[, ...]>`; it matches display names and code identifiers such as `StatusRowView_Previews`.
- Once the launcher prints the selected Simulator UDID, start `serve-sim` for that same UDID and open its printed URL in the in-app browser.

## Support Boundary

- Support Swift Package-backed `PreviewProvider` and `#Preview` declarations through the generated host.
- Do not edit the user's `.xcodeproj`, `.xcworkspace`, `Package.swift`, schemes, or build settings to force preview support.

## Proof

For browser or preview QA, capture a browser screenshot showing the simulator frame. For hot reload QA, also report the launcher's `hot reloaded package preview ... in pid ...` output and show the changed frame after editing.

© OpenAI · MIT · openai/plugins

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой