ship-fastlanelisted
Install: claude install-skill RonenMars/threadbase-mobile
# Ship via Fastlane
Standard fastlane setup for archiving the iOS app and uploading to TestFlight.
TestFlight only — no App Store submission, no polling until VALID, no
1Password integration. The lane is intentionally minimal; if you need the
full pipeline, use `/expo-local-ship`.
## When this skill applies
Only when the user explicitly types `/ship-fastlane`.
Do **not** invoke on:
- "ship", "ship it", "ship to TestFlight" — those go to `/expo-local-ship`.
- "build", "archive", "upload" — same.
- "fastlane" appearing in conversation context — wait for the explicit slash command.
If a user asks "should I ship?" or "how do I ship?", point them at
[`docs/deployment.md`](../../../docs/deployment.md) and let them pick a path.
## Project quick reference
| Key | Value |
|-----|-------|
| Workspace | `ios/$APP_SCHEME.xcworkspace` |
| Scheme | from `$APP_SCHEME` env var |
| Bundle ID | from `$APP_BUNDLE_ID` env var |
| Marketing version | read from `app.json` → `expo.version` |
| Build number | derived from App Store Connect on every run |
| Signing | automatic, via ASC API key |
| Output | TestFlight (no App Store submission) |
## Prerequisites
1. **Ruby + bundler** — System Ruby on macOS is fine. `gem list bundler` should show something.
2. **App Store Connect API key** — `.p8` file with the **App Manager** role, downloaded once from <https://appstoreconnect.apple.com/access/integrations/api>. Store outside the repo (`~/.appstoreconnect/keys/` recommended).
3. **`fastlane/