Install
$ agentstack add skill-kewklw-claude-testflight-skill-testflight ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
TestFlight Deploy Skill
Deploy an iOS app to TestFlight in one command. Works locally on a Mac or remotely via SSH to a Mac build host.
Usage
/testflight — bump build, archive, export, upload. Auto-increments build number. /testflight — deploy with a specific build number. /testflight sync — sync web assets from the dev machine first, then deploy.
Modes
- Local (running Claude Code on a Mac): Set
TF_MAC_HOSTtolocalor leave it unset. The deploy script runs directly on this machine. - Remote (running Claude Code on Windows/Linux, building on a Mac): Set
TF_MAC_HOSTtouser@host. The skill SSHs to the Mac to run the deploy script.
Configuration
All values come from environment variables or a .testflight.env file in your project root. Copy examples/.testflight.env.example and fill in your values.
| Variable | Description | Example | |---|---|---| | TF_MAC_HOST | local or SSH user@host. If unset, defaults to local | user@192.168.1.68 | | TF_PROJECT_DIR | Project directory (local path or path on the Mac) | ~/my-app | | TF_DEPLOY_SCRIPT | Deploy script filename (relative to project) | deploy-testflight.sh | | TF_SYNC_SOURCE | Local directory to sync (for sync mode, remote only) | /path/to/public/ | | TF_SYNC_DEST | Remote directory to sync to (remote only) | ~/my-app/public/ | | TF_SYNC_FILES | Space-separated list of files to sync (optional, syncs all if omitted) | app.js style.css index.html |
What it does
Local mode (TF_MAC_HOST unset or local)
- (If
sync) Copy files fromTF_SYNC_SOURCEtoTF_SYNC_DESTlocally - Run
TF_PROJECT_DIR/TF_DEPLOY_SCRIPT [build_number]directly - Report the result (delivery UUID, build number)
Remote mode (TF_MAC_HOST set to user@host)
- (If
sync) SCP files fromTF_SYNC_SOURCEtoTF_SYNC_DESTon the Mac - SSH to
TF_MAC_HOST - Run
TF_PROJECT_DIR/TF_DEPLOY_SCRIPT [build_number] - Report the result (delivery UUID, build number)
Steps to run
# Load config
source /path/to/project/.testflight.env
# Determine mode
if [ -z "$TF_MAC_HOST" ] || [ "$TF_MAC_HOST" = "local" ]; then
# Local: run directly
cd ${TF_PROJECT_DIR} && ./${TF_DEPLOY_SCRIPT} [build_number]
else
# Remote: SSH
ssh ${TF_MAC_HOST} "cd ${TF_PROJECT_DIR} && ./${TF_DEPLOY_SCRIPT} [build_number]"
fi
The deploy script
The skill expects a deploy-testflight.sh in your project that handles:
- Build number bump — auto-increment or accept as argument
- Keychain unlock — so codesigning works (required over SSH, optional locally)
- Archive —
xcodebuild archive - Export IPA —
xcodebuild -exportArchivewith App Store Connect method - Upload —
xcrun altool --upload-apporxcrun notarytool
See scripts/deploy-testflight.sh for a complete, configurable template.
Troubleshooting
errSecInternalComponent: Keychain not unlocked. Ensure the deploy script runssecurity unlock-keychain.CURRENT_PROJECT_VERSION duplicate: Build number already uploaded. Bump manually or let auto-increment handle it.Missing code-signing certificate: Export step failed. Ensuresecurity default-keychain -sran before export.- SSH hangs: Use LAN IP, not Tailscale/VPN, for build machines on the same network.
- Local mode, keychain prompt: If running locally and the GUI keychain dialog appears, either enter your password or set
TF_KEYCHAIN_PASSto unlock programmatically.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: KewkLW
- Source: KewkLW/claude-testflight-skill
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.