ios-ci

ios-ci is a skill for Claude Code from SteveGJones/ai-first-sdlc-practices. It costs 63 tokens per session (857 once invoked), scanned B, original, MIT.

A setup tool for continuous integration on iOS, where automated services build and test code whenever changes are made.

In plain words
What is it for?
Use it to generate a GitHub Actions workflow that builds, tests, checks, and optionally signs and uploads an iOS app.
Why use it?
It removes repetitive manual setup for macOS runners, Xcode, dependency caches, simulator tests, and optional TestFlight uploads.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Part of the sdlc-team-ios plugin — 5 skills, 4 agents shipped together

Good fit Use it to generate a GitHub Actions workflow that builds, tests, checks, and optionally signs and uploads an iOS app.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/stevegjones/ai-first-sdlc-practices/ios-ci
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add SteveGJones/ai-first-sdlc-practices --skill ios-ci
Clone the repo
git clone --depth 1 https://github.com/SteveGJones/ai-first-sdlc-practices

Made for: Claude Code.

Or install sdlc-team-ios, the plugin that ships this one along with the rest of its 5 skills, 4 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ios-ci

README.md
[![agentmods](https://agentmods.dev/badge/skills/stevegjones/ai-first-sdlc-practices/ios-ci/github.svg)](https://agentmods.dev/skills/stevegjones/ai-first-sdlc-practices/ios-ci)
Your own site
<a href="https://agentmods.dev/skills/stevegjones/ai-first-sdlc-practices/ios-ci"><img src="https://agentmods.dev/badge/skills/stevegjones/ai-first-sdlc-practices/ios-ci/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ios-ci

Your own site · 80×15
<a href="https://agentmods.dev/skills/stevegjones/ai-first-sdlc-practices/ios-ci"><img src="https://agentmods.dev/badge/skills/stevegjones/ai-first-sdlc-practices/ios-ci.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 63 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 857 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00063 $0.00857
Opus 5 $0.00032 $0.00428
Sonnet 5 $0.00013 $0.00171
Haiku 4.5 $0.00006 $0.00086

Measured 7d ago against content hash eb1a1da2488b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade B, and why

ios-ci scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Asks for rootmediumPrivilege escalation

A mod that escalates privileges can change anything on the machine, not only the project.

`xcodes select` / `sudo xcode-select -s` pinned to the project's Xcode version.
plugins/sdlc-team-ios/skills/ios-ci/SKILL.md · 67 lines

How it starts

The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.

iOS CI

Generate a GitHub Actions workflow for an iOS app. Complements (does not replace) /sdlc-core:setup-ci — this adds the iOS-specific pieces (macOS runners, simulators, signing). Belongs to the ios-release-engineer discipline.

Arguments

  • path-to-ios-project — the project directory (defaults to the current directory).

Steps

1. Establish the project shape

  • Workspace vs project, the scheme name, the deployment target, and whether it uses SwiftPM, CocoaPods, or Carthage (affects caching and the resolve step). Confirm the Xcode version to pin.

2. Generate the workflow

Produce an iOS CI workflow file under the .github/workflows/ directory with:

  • Runner: runs-on: macos-14 (or the current macOS runner); select Xcode with xcodes select / sudo xcode-select -s pinned to the project's Xcode version.
  • Caching: cache SwiftPM (~/Library/Caches/org.swift.swiftpm, .build) and/or CocoaPods (Pods, ~/Library/Caches/CocoaPods); keyed on the lockfile.
  • Build & test: xcodebuild build test -scheme <Scheme> -destination 'platform=iOS Simulator,name=iPhone 16,OS=latest' — use a simulator matrix across the OS versions you support; pass -resultBundlePath and surface failures.
  • Lint/format: SwiftLint / swift-format if the project uses them.
  • iOS pre-flight: run python -m ios_preflight.cli . so config regressions (missing purpose strings, export compliance, entitlements) fail CI before a release ever reaches App Store Connect.

3. (Optional) Signing + TestFlight upload job

Only if the project releases from CI:

  • Secrets: base64-encoded .p12, the .mobileprovision, keychain + .p12 passwords, and the App Store Connect API key (.p8 + key ID + issuer ID) — all in GitHub Actions encrypted secrets, never in the repo.
  • Signing: create + unlock a temporary keychain, import the .p12, run security set-key-partition-list, install the profile; prefer manual signing or fastlane match --readonly.
  • Archive + upload: xcodebuild archive/-exportArchive (Release + distribution profile) then upload via fastlane pilot, xcrun altool, or the App Store Connect API.
  • Build number: stamp CFBundleVersion from git rev-list --count HEAD (+ short SHA) so every CI build is unique, monotonic, and traceable to a commit.
  • Sandboxing: if a build-phase script reads git/env, that target may need ENABLE_USER_SCRIPT_SANDBOXING = NO.

Read the full file on GitHub · 67 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 7d ago First seen · 67 lines · 63 tokens per session scan B eb1a1da2488b

Subscribe to this mod's changes

ios-ci is a skill published in the GitHub repository SteveGJones/ai-first-sdlc-practices (41 stars, last pushed 1mo ago), licensed MIT. It adds 63 tokens to every session and 857 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 1 finding (asks for root). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

eas-workflows

EAS service (paid). Helps understand and write EAS workflow YAML files for Expo projects. Use this skill when the user asks about CI/CD or workflows in an Expo or EAS context, mentions .eas/workflows/, or wants help with EAS build pipelines or deployment automation.

expo/skills · 63 tokens

flutter-cicd

Set up CI/CD pipelines for Flutter apps. Use when configuring automated testing, build, or deployment workflows with GitHub Actions or Fastlane.

HoangNguyen0403/agent-skills-standard · 33 tokens

android-tooling

Configure Android static analysis with Detekt, Ktlint, and Android Lint for CI/CD quality gates. Use for Android-specific lint and quality tooling; defer generic Java Checkstyle, SonarQube, and standalone CI configuration.

HoangNguyen0403/agent-skills-standard · 51 tokens

github-actions

GitHub Actions workflow patterns for React Native iOS simulator and Android emulator cloud builds with downloadable artifacts. Use when setting up CI build pipelines or downloading GitHub Actions artifacts via gh CLI and GitHub API.

callstackincubator/agent-skills · 44 tokens

app-store-deployment

Publishes mobile applications to iOS App Store and Google Play with code signing, versioning, and CI/CD automation. Use when preparing app releases, configuring signing certificates, or setting up automated deployment pipelines.

secondsky/claude-skills · 46 tokens

swift-preflight

Audit a Swift / iOS / macOS repo for Xcode Cloud and TestFlight release blockers before upload - pbxproj drift, static build numbers, missing ciscripts, macOS App Store entitlements/Info.plist, headless-CI keychain tests, ad-hoc signing entitlement rejections, and flaky-UITest release gating. Reports PASS/WARN/FAIL…

charlesjones-dev/claude-code-plugins-dev · 86 tokens