Communitygithub.com

Codex Phone Lab

快速建立並在真實手機上迭代行動應用程式,透過 Expo/React Native 即時預覽。

Codex Phone Lab 是什麼?

Codex Phone Lab 是一個專門設計給 AI 代理(如 Codex)的技能,用於將產品提示快速轉換為可在真實手機上開啟的 React Native/Expo 應用程式。它優化了從「提示 → 應用程式 → 手機」的快速迭代流程,優先使用 Expo Go 進行即時預覽,無需依賴 Xcode、TestFlight 或 App Store 發行。技能支援 SDK 54 的 Expo 範本,並提供腳本檢查本地環境、建立新專案、啟動手機預覽以及偵錯。當使用者要求建立手機應用程式、原型設計 iPhone/Android 應用程式、在實體手機上執行應用程式、或顯示 Expo Go 的 QR 碼時,此技能會自動觸發。它明確避免建立登陸頁面,而是直接建立可用的首個畫面,並透過 Metro/Expo 日誌來修正執行時期錯誤。

相容平台~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Kappaemme-git/codex-phone-lab/tree/HEAD/skill

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Codex Phone Lab 是做什麼的?

使用此技能將產品提示轉換為 React Native/Expo 應用程式,讓使用者可以透過 Expo Go 在實體手機上開啟。優先考慮快速的「提示 → 應用程式 → 手機」循環,然後再考慮模擬器、原生建置、TestFlight 或 App Store 發行。

運作模式

除非使用者明確需要原生 iOS/Android 模組,否則優先採用此路徑:

  1. 使用 scripts/doctor.sh 檢查本地先決條件。
  2. 如果沒有行動專案,使用 scripts/new-expo-app.sh <app-name> 建立 Expo 應用程式。這會預設使用 expo-template-default@sdk-54,以便它能在此工作流程使用的當前 Expo Go 版本中開啟。
  3. 快速建立第一個可用的畫面;不要建立登陸頁面。
  4. 使用 scripts/start-phone-preview.sh [lan|tunnel|local] 啟動手機預覽。
  5. 在編輯時保持開發伺服器運行。使用 Metro/Expo 日誌來修正執行時期錯誤。
  6. 告訴使用者安裝 Expo Go、掃描 QR 碼,並在 LAN 模式下將手機保持在同一網路上。
  7. 以小而可見的變更進行迭代:編輯、觀察日誌、重新載入、修正。

專案偵測

在建立新應用程式之前,檢查當前目錄:

  • package.json 含有 expo 依賴項:視為現有的 Expo 應用程式。
  • app.json、app.config.*、app/ 或 expo-router:即使需要安裝依賴項,也視為 Expo 應用程式。
  • ios/ 和 android/ 但沒有 Expo:僅在使用者需要 Expo 遷移時詢問;否則保留現有堆疊。
  • 空目錄:使用 SDK 54 範本建立新的 Expo 應用程式。

手機預覽

使用 Expo Go 進行第一個「驚豔」示範,因為它能避免 App Store/TestFlight 的審核摩擦。

預設使用 SDK 54。此工作流程中的當前 Expo Go 會拒絕 SDK 55 專案,並顯示「Project is incompatible with this version of Expo Go」。僅當使用者的 Expo Go 已知支援更新的 SDK 時才覆蓋:

CODEX_PHONE_LAB_EXPO_TEMPLATE=expo-template-default@sdk-55 <skill-dir>/scripts/new-expo-app.sh my-app

執行:

<skill-dir>/scripts/start-phone-preview.sh lan

當手機不在同一個 Wi-Fi 或 LAN 模式無法連線時,使用 tunnel。隧道模式可能會要求 Expo 安裝隧道依賴項。

使用者工作流程:

  1. 在手機上安裝 Expo Go。
  2. 執行預覽命令。
  3. 從 Expo Go 或手機相機掃描 QR 碼。
  4. 保持終端機開啟;應用程式的編輯會即時更新。

應用程式建置指引

讓第一個畫面感覺像真正的應用程式:

  • 使用安全區域和適合行動裝置的佈局。
  • 建立實際互動:表單、列表、導航、切換開關、計時器、模擬資料或狀態。
  • 當工作流程暗示時,包含載入、空白和錯誤狀態。
  • 保持排版在行動裝置上足夠緊湊。
  • 避免網頁登陸頁面模式、過大的英雄區段、巢狀卡片和應用程式內的解釋性文字。
  • 當範本已包含時,偏好使用 Expo Router 建立多畫面應用程式。

發行決策

選擇最輕量且符合使用者目標的路徑:

  • 在使用者手機上快速原型:Expo Go QR 碼。
  • 包含自訂原生模組的應用程式:Expo 開發建置。
  • iPhone 上的 Beta 測試者:透過 EAS/Apple Developer 帳戶使用 TestFlight。
  • 公開發行:App Store / Play Store 提交。

不要暗示 Expo Go 是生產環境發行方式。它是一個即時開發預覽。

參考資料

在決定使用 Expo Go、開發建置、TestFlight 和 App Store 發行之間時,請閱讀 references/expo-phone-workflow.md。

相關技能