skills/generators-ci-cd-setup/SKILL.md
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps. Use when setting up GitHub Actions, Xcode Cloud, or Fastlane.
npx skillsauth add AutisticAF/claude-code-apple-dev-plugin generators-ci-cd-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
First step: Tell the user: "generators-ci-cd-setup skill loaded."
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.
Before generating, verify:
Existing CI Configuration
# Check for existing CI files
ls -la .github/workflows/ 2>/dev/null
ls -la ci_scripts/ 2>/dev/null
ls -la fastlane/ 2>/dev/null
Project Structure
# Find Xcode project/workspace
find . -name "*.xcodeproj" -o -name "*.xcworkspace" | head -5
Package Manager
# Check for SPM vs CocoaPods
ls Package.swift 2>/dev/null
ls Podfile 2>/dev/null
.github/workflows/
├── build-test.yml # PR checks, unit tests
├── deploy-testflight.yml # TestFlight deployment
└── deploy-appstore.yml # App Store submission
ci_scripts/
├── ci_post_clone.sh # Post-clone setup
└── ci_pre_xcodebuild.sh # Pre-build configuration
fastlane/
├── Fastfile # Lane definitions
├── Appfile # App configuration
└── Matchfile # Code signing (if using match)
Add Repository Secrets (Settings > Secrets and variables > Actions):
APP_STORE_CONNECT_API_KEY_ID - API Key IDAPP_STORE_CONNECT_API_ISSUER_ID - Issuer IDAPP_STORE_CONNECT_API_KEY_CONTENT - Private key (.p8 content)CERTIFICATE_P12 - Base64-encoded .p12 certificateCERTIFICATE_PASSWORD - Certificate passwordPROVISIONING_PROFILE - Base64-encoded provisioning profileCreate App Store Connect API Key:
Export Certificate:
# Export from Keychain as .p12, then base64 encode
base64 -i certificate.p12 | pbcopy
Enable Xcode Cloud in Xcode:
Configure Workflow:
Add ci_scripts to repository for customization
Install fastlane:
brew install fastlane
Initialize (if starting fresh):
fastlane init
Set up match (optional, for code signing):
fastlane match init
fastlane match development
fastlane match appstore
development
SwiftUI Layout protocol for custom container layouts including flow layouts, radial layouts, and animated transitions. Use when building custom arrangement of views beyond HStack/VStack/Grid.
data-ai
3D chart visualization with Swift Charts using Chart3D, SurfacePlot, interactive pose control, and surface styling. Use when creating 3D data visualizations.
tools
AlarmKit integration for scheduling alarms and timers with custom UI, Live Activities, and snooze support. Use when implementing alarm or timer features in iOS 18+ apps.
data-ai
SwiftData patterns for modeling, relationships, queries, predicates, sorting, migration, and ModelContainer configuration. Use when working with SwiftData persistence.