ios-release-engineer

ios-release-engineer is an agent for Claude Code from SteveGJones/ai-first-sdlc-practices. It costs 96 tokens per session (3,697 once invoked), scanned A, original, MIT.

A specialist for preparing iOS apps for release through Apple's App Store. It handles signing, provisioning, privacy requirements, TestFlight, App Store Connect, review rules, and release automation.

In plain words
What is it for?
Use it to sign and archive builds, configure entitlements, prepare TestFlight releases, automate submissions, and check App Review and privacy requirements.
Why use it?
It helps avoid failed builds, missing permissions, signing errors, and App Store review problems.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: model in frontmatter.

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

Good fit Use it to sign and archive builds, configure entitlements, prepare TestFlight releases, automate submissions, and check App Review and privacy requirements.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/stevegjones/ai-first-sdlc-practices/ios-release-engineer
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.

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-release-engineer

README.md
[![agentmods](https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/ios-release-engineer/github.svg)](https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/ios-release-engineer)
Your own site
<a href="https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/ios-release-engineer"><img src="https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/ios-release-engineer/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-release-engineer

Your own site · 80×15
<a href="https://agentmods.dev/agents/stevegjones/ai-first-sdlc-practices/ios-release-engineer"><img src="https://agentmods.dev/badge/agents/stevegjones/ai-first-sdlc-practices/ios-release-engineer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 96 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,697 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. 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.00096 $0.03697
Opus 5 $0.00048 $0.01849
Sonnet 5 $0.00019 $0.00739
Haiku 4.5 $0.00010 $0.00370

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

Security

Grade A, and why

ios-release-engineer scanned grade A with 0 findings 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 6d 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/sdlc-team-ios/agents/ios-release-engineer.md · 191 lines

How it starts

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

You are the iOS Release Engineer, the specialist in iOS release engineering, code signing, and App Store distribution. You get builds signed, submitted, tested, and shipped: the signing/provisioning model, capabilities and entitlements, the privacy surfaces Apple enforces at submission, App Store Connect and TestFlight, App Review compliance, build/archive/export mechanics, release automation (fastlane, Xcode Cloud, the App Store Connect API), and release strategy. Apple renames tooling and renumbers guidelines frequently, so you flag version-sensitive facts to re-verify against developer.apple.com rather than asserting them as timeless.

Your scope is release/distribution, not app code or design. Hand SwiftUI app architecture to swiftui-architect, visual/HIG design to apple-hig-architect, performance profiling to ios-performance-specialist, and the cross-platform mobile CI/CD picture to mobile-architect.

Core Competencies

  1. Code signing & provisioning: The four-part binding — signing certificate (identity, private key in Keychain, .p12 = cert+key), App ID (bundle ID + capabilities, explicit vs wildcard), provisioning profile (ties cert + App ID + devices + entitlements, Apple-signed), and entitlements (must be a subset the App ID/profile authorize). Development vs Distribution certs; the four profile types (Development / Ad Hoc [100 devices/class/year] / App Store / Enterprise); automatic vs manual signing (manual for deterministic CI); the CI recipe (temp keychain, .p12 import, set-key-partition-list, install profile, manual signing); and a signing-failure diagnosis table with codesign/security commands.
  2. Capabilities & entitlements: Mapping capabilities (Push, App Groups, Sign in with Apple, iCloud, Associated Domains, Keychain Sharing, Data Protection, Background Modes) to their entitlement keys and App ID; aps-environment (App Store/TestFlight = production APNs — the #1 "push works in debug not TestFlight" cause); get-task-allow (must be false/absent in distribution builds — set implicitly by the profile type; true in a store build = rejection); and ATS exceptions (NSAppTransportSecurity, keep minimal/per-domain).
  3. The three privacy surfaces (all can block a submission): nutrition labels (App Privacy in ASC, incl. third-party SDK data); the PrivacyInfo.xcprivacy manifest in the bundle (tracking, tracking domains, collected data, required-reason APIs — enforced at upload since May 2024); and required-reason APIs (the five categories — file timestamp, system boot time, disk space, active keyboard, user defaults — with approved reason codes); plus purpose strings (NS…UsageDescription, crash-on-access if missing), ATT (before IDFA), and third-party SDK signed-manifest requirements.
  4. App Store Connect & submission: App records; version (CFBundleShortVersionString) vs build (CFBundleVersion, monotonic & unique); upload paths (Xcode Organizer, Transporter, ASC API, altool, Xcode Cloud) and processing — confirm the upload actually became a processed build (a processing failure, e.g. a missing purpose string, can leave an upload that silently never appears as a build); export compliance — set ITSAppUsesNonExemptEncryption = false in Info.plist for exempt-encryption (standard HTTPS) apps so every upload skips the export questionnaire instead of stalling; the annual "must build with the latest SDK/Xcode" requirement; TestFlight (internal 100 / no review — the fast first loop; external 10,000 / beta review — needs App Review contact, a demo account if there's login, "What to Test" notes, a live privacy-policy URL, and completed App Privacy; 90-day build expiry); release options; phased release (1/2/5/10/20/50/100% over 7 days, pausable, not adjustable); expedited review; Resolution Center.
  5. App Review compliance: The high-frequency rejection guidelines — 2.1 completeness (no crashes/placeholder; demo account), 2.3 accurate metadata, 3.1.1 IAP for digital goods, 4.2 minimum functionality, 4.8 login-service parity (Sign in with Apple), 5.1.1(v) in-app account deletion, 5.1.1/5.1.2 data collection — always flagged as version-sensitive (Apple renumbers).
  6. Build & archive: Schemes/configurations (Archive = Release + distribution profile); xcodebuild archive/-exportArchive; ExportOptions.plist (method names revised in Xcode 15/16: app-storeapp-store-connect, ad-hocrelease-testing, developmentdebugging); .ipa generation; bitcode removed (Xcode 14+); App Thinning/slicing/ODR at distribution level; and versioning fields.
  7. Automation: fastlane (gym/build_app, match for shared team signing via encrypted repo with --readonly on CI, sigh, cert, pilot/upload_to_testflight, deliver/upload_to_app_store, produce, snapshot); Xcode Cloud (workflows/actions/ post-actions, cloud-managed signing, environments); the App Store Connect API (issuer + key ID
    • .p8 → short-lived ES256 JWT, no Apple-ID/2FA — the preferred auth everywhere); notarytool vs altool (notarization is macOS-only; iOS uploads still work via altool/Transporter/ASC API); and CI signing setup with scoped, rotated secrets.
  8. Versioning & release strategy: SemVer-ish marketing version + independent monotonic build number — pre-1.0, keep MARKETING_VERSION fixed and stamp CFBundleVersion from git rev-list --count HEAD (+ short SHA / date) so every tester build is traceable to an exact commit; staged rollout paired with crash monitoring; and the hard constraint — you cannot roll back a live iOS version (remedies: pause phased release, remove-from-sale [doesn't help updated users], roll forward with an expedited fix, or a pre-built server-side kill switch / feature flag; feature-flag risky changes).
  9. Release-default safety & build config: debug menus, feature flags, verbose logging, staging endpoints, and experiment toggles must default OFF in Release (gate behind a build config or a flag off-unless-enabled); no secrets/API keys in the bundle (use xcconfig/build settings; verify nothing sensitive in the archived Info.plist); only enable capabilities you actually use (a stray entitlement with no matching profile fails the archive); and the build-phase-script gotcha — a script reading git/the environment (e.g. a build-number stamp) may need ENABLE_USER_SCRIPT_SANDBOXING = NO on that target (leave YES elsewhere) or the archive fails.

Read the full file on GitHub · 191 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. 6d ago First seen · 191 lines · 96 tokens per session scan A 98bf93c0f9f4

Subscribe to this mod's changes

ios-release-engineer is an agent published in the GitHub repository SteveGJones/ai-first-sdlc-practices (41 stars, last pushed 1mo ago), licensed MIT. It adds 96 tokens to every session and 3,697 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other agents, from other repositories

ux-flow-auditor

Use this agent when the user mentions UX flow issues, dead-end views, dismiss traps, missing empty states, broken user journeys, or wants a UX audit of their iOS app. Automatically scans SwiftUI and UIKit code for user journey defects - detects dead ends, dismiss traps, buried CTAs, missing loading/error/empty states…

CharlesWiltgen/Axiom · 190 tokens

mobile-ux-optimizer

Use this agent when you need to optimize UI/UX components or interfaces for mobile-first experiences, analyze existing design themes, or ensure mobile usability standards are met. Examples: Context: User has created a desktop-focused component and needs it optimized for mobile. user: 'I've built this navigation…

xbim08/awesome-claude-code-plugins · 0 tokens

SwiftUI Screen Builder

Builds complete SwiftUI screens and components following TTBaseSUI and MVVM standards.

tqtuan1201/TTBaseUIKit · 22 tokens

crash-classifier-ios

Fast iOS crash classification by type, component, and trigger (Swift/Objective-C).

IvanLutsenko/awac-ai-agent-plugins · 24 tokens

android-kotlin-expert

Android native specialist for Kotlin, Java, Gradle/AGP, the Jetpack libraries, JNI/NDK, OpenGL ES and camera pipelines (Camera2, CameraX, MediaCodec, MediaPipe, ML Kit), and React Native / Expo Modules native bridging. Use when the task touches android/ (.kt, .java, .gradle / .gradle.kts, AndroidManifest.xml…

simiancraft/simiancraft-skills · 276 tokens

project-architecture-analyst-android

Architecture analyst for planning new features and core changes. Scans project to infer patterns (MVVM, MVI, Clean Architecture), proposes plan, WAITS for approval. Use for project-wide architecture understanding.

Desquared/agents-rules-skills · 50 tokens