Streamlines updating iOS and Xcode versions in Eigen projects while verifying compatibility with CI systems.
Install
mkdir -p .claude/skills/bump-ios-version && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2672" && unzip -o skill.zip -d .claude/skills/bump-ios-version && rm skill.zipInstalls to .claude/skills/bump-ios-version
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Bump iOS and Xcode versions in Eigen. Use when the user wants to upgrade iOS SDK version, update Xcode version, change simulator version, or update CI configuration for new iOS/Xcode releases.Key capabilities
- →Verifies Xcode version support in CircleCI and GitHub Actions
- →Validates iPhone simulator availability for target iOS versions
- →Updates project-wide iOS configuration files
- →Configures CI pipeline parameters for new releases
How it works
The skill cross-references requested versions against CI provider manifests and updates a central JSON configuration file that propagates changes to CI and test scripts.
Inputs & outputs
When to use bump-ios-version
- →Updating project Xcode version
- →Configuring CI for new iOS releases
- →Checking iOS simulator compatibility
- →Validating CI runner support
About this skill
Bump iOS/Xcode Version
This skill guides you through bumping the iOS and Xcode version in Eigen.
Before You Start
Prompt the user for the target version:
- Ask which iOS version they want to bump to (e.g., "26.2")
- Ask which Xcode version they want to use (e.g., "26.2")
- Ask which iPhone model to use for simulators (e.g., "iPhone 17 Pro")
Verify version support before making changes:
CircleCI Support
Check supported Xcode versions at: https://circleci.com/developer/machine/image/xcode
Currently supported versions include:
- 26.2, 26.1.1, 26.1, 26.0.1, 26.0
- 16.4, 16.3, 16.2
GitHub Actions Support
Check macOS runner images at: https://github.com/actions/runner-images
For macOS 15 runners, available Xcode versions include:
- 26.2, 26.1.1, 26.0.1
- 16.4 (default), 16.3, 16.2, 16.1, 16.0
If the requested version is not supported by both CI systems, warn the user that CI builds may fail.
iPhone Device Compatibility
Different iOS versions require specific iPhone simulator models. You must verify the iPhone model is available for the target iOS version in CircleCI's image manifest.
How to verify:
- Go to https://circleci.com/docs/guides/test/testing-ios/#supported-xcode-versions
- Find the target Xcode version row
- Click on "Installed software" link in the "VM Software Manifest" column
- In the manifest, search for the iOS version to see which iPhone simulators are available
Example compatibility (from CircleCI Xcode 26.2 manifest):
| iOS Version | Available iPhone Models |
|---|---|
| iOS 18.x | iPhone 16 Pro, iPhone 16 Pro Max, iPhone 16, iPhone 16 Plus, iPhone 16e |
| iOS 26.x | iPhone 17 Pro, iPhone 17 Pro Max, iPhone 17, iPhone Air, iPhone 16e |
Important: iOS 26 simulators require iPhone 17 series devices. Using iPhone 16 Pro with iOS 26 will fail because it's not available in the manifest.
Steps
1. Update ios-config.json (single source of truth)
Update ALL fields in ios-config.json at the project root:
{
"xcode_version": "<NEW_XCODE_VERSION>",
"ios_version": "<NEW_IOS_VERSION>",
"iphone_model": "<NEW_IPHONE_MODEL>",
"simulator_device_type": "com.apple.CoreSimulator.SimDeviceType.<DEVICE-TYPE-ID>",
"simulator_runtime": "com.apple.CoreSimulator.SimRuntime.iOS-<MAJOR>-<MINOR>"
}
2. Update .circleci/config.yml (cannot read from JSON at runtime)
CircleCI pipeline parameter defaults must be static YAML values. Update these three values in the parameters section:
parameters:
xcode_version:
type: string
default: "<NEW_XCODE_VERSION>"
simulator_version:
type: string
default: "<NEW_IOS_VERSION>"
Also update the device in the macos/preboot-simulator step of the build-test-app-ios job:
- macos/preboot-simulator:
version: << pipeline.parameters.simulator_version >>
platform: "iOS"
device: "<NEW_IPHONE_MODEL>"
3. That's It!
The following files read directly from ios-config.json and need NO manual updates:
scripts/ci/ci-setup-export-vars(reads viajq)scripts/utils/doctor.js(reads viafs.readFileSync+JSON.parse)fastlane/Fastfile(reads viaFile.read+JSON.parse).github/actions/setup-ios-environment/action.yml(reads viajq).github/workflows/ios-e2e-maestro.yml(reads viajq)ios/ArtsyTests/Supporting_Files/ARTestHelper.m(reads viaNSJSONSerializationfrom test bundle)
Summary Checklist
- Verify target Xcode version is supported by CircleCI
- Verify target Xcode version is supported by GitHub Actions
- Verify iPhone model is available for target iOS version (check CircleCI manifest)
- Update
ios-config.json - Update
.circleci/config.yml(xcode_version, simulator_version, preboot-simulator device)
Testing (done by user)
After making changes:
- Push changes and verify CircleCI builds pass
- Verify GitHub Actions E2E tests create the simulator correctly
When not to use it
- →When the target version is not supported by both CI systems
Prerequisites
Limitations
- →Requires manual verification of iPhone model availability in CircleCI manifests
- →CI builds may fail if versions are not supported by both providers
How it compares
It automates the verification of compatibility across multiple CI providers, preventing build failures caused by unsupported version combinations.
Compared to similar skills
bump-ios-version side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| bump-ios-version (this skill) | 2 | 5mo | No flags | Intermediate |
| github-workflow-automation | 11 | 2mo | Review | Advanced |
| testing-workflow | 16 | 9mo | Review | Intermediate |
| github-actions-templates | 7 | 3mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by artsy
View all by artsy →You might also like
github-workflow-automation
ruvnet
Advanced GitHub Actions workflow automation with AI swarm coordination, intelligent CI/CD pipelines, and comprehensive repository management
testing-workflow
amo-tech-ai
Comprehensive testing workflow for E2E, integration, and unit tests. Use when testing applications layer-by-layer, validating user journeys, or running test suites.
github-actions-templates
wshobson
Create production-ready GitHub Actions workflows for automated testing, building, and deploying applications. Use when setting up CI/CD with GitHub Actions, automating development workflows, or creating reusable workflow templates.
glab
NikiforovAll
Expert guidance for using the GitLab CLI (glab) to manage GitLab issues, merge requests, CI/CD pipelines, repositories, and other GitLab operations from the command line. Use this skill when the user needs to interact with GitLab resources or perform GitLab workflows.
create-pr
n8n-io
Creates GitHub pull requests with properly formatted titles that pass the check-pr-title CI validation. Use when creating PRs, submitting changes for review, or when the user says /pr or asks to create a pull request.
gh-fix-ci
openai
Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions; use `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treat external providers (for example Buildkite) as out of scope and report only the details URL.