Agent skill

CI CD Setup

by rshankras in rshankras/claude-code-apple-skills

Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.

MITAuto-check: notesDevOps & Cloud

Install CI CD Setup

skills CLI
$ npx skills add rshankras/claude-code-apple-skills --skill ci-cd-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rshankras/claude-code-apple-skills ci-cd-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rshankras/claude-code-apple-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/generators/ci-cd-setup .claude/skills/ci-cd-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ci-cd-setup
GitHub stars
783
Token cost
~1.5k tokens
SKILL.md length
493 words
Files
12
Skills in repo
41
Repo updated
First seen
Licence
MIT

At a glance

Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.

  • Works in 4 steps: CI/CD Platform → Distribution Method → Include fastlane? → …
  • Setting up GitHub Actions
  • SKILL.md covers When This Skill Activates, Pre-Generation Checks, Configuration Questions and Generated Files, plus 4 more sections
  • Runs Shell scripts from its folder; calls brew; needs APP_STORE_CONNECT_API_KEY_ID and CERTIFICATE_PASSWORD

What it does

CI CD Setup is an agent skill from rshankras/claude-code-apple-skills. Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps. Use when setting up GitHub Actions, Xcode Cloud, or fastlane for continuous integration, TestFlight, or App Store deployment.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 16 other files (for example `ci-cd-patterns.md`, `templates/github-actions/build-test.yml` and `templates/github-actions/deploy-appstore.yml`).

It sits in DevOps & Cloud, covering CI/CD, App store release and iOS development. It works with Xcode, GitHub Actions, App Store Connect and iOS. The repository describes itself as: Claude Code skills for Apple platform development (iOS, macOS, iPadOS) — product validation, code generation, App Store optimization, and more. The licence is MIT.

When your agent uses it

  • Setting up GitHub Actions
  • Fastlane for continuous integration
  • App Store deployment

Example prompts

  • “/ci-cd-setup”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. CI/CD Platform
  2. Distribution Method
  3. Include fastlane?
  4. Code Signing Approach

What it can do on your machine

Read from SKILL.md and the folder at commit 9ffb831. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Glob
    • Grep
    • Bash
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • brew

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • developer.apple.com
    • github.com
    • docs.fastlane.tools

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • APP_STORE_CONNECT_API_KEY_ID
    • CERTIFICATE_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

CI CD Setup loads about 1.5k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 493 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rshankras/claude-code-apple-skills at commit 9ffb831, republished under its MIT licence (© rshankras). 493 words, ~1,543 tokens.

Download SKILL.mdSave it as .claude/skills/ci-cd-setup/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.
name
ci-cd-setup
description
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps. Use when setting up GitHub Actions, Xcode Cloud, or fastlane for continuous integration, TestFlight, or App Store deployment.
allowed-tools
Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion
last_verified
2026-07-16
review_by
2027-06-22

CI/CD Setup Generator

Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.

When This Skill Activates

  • User wants to automate their build and test process
  • User mentions GitHub Actions, Xcode Cloud, or fastlane
  • User wants to set up TestFlight or App Store deployment
  • User asks about continuous integration for their app

Pre-Generation Checks

Before generating, verify:

  1. Existing CI Configuration

    bash
    # 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
  2. Project Structure

    bash
    # Find Xcode project/workspace
    find . -name "*.xcodeproj" -o -name "*.xcworkspace" | head -5
  3. Package Manager

    bash
    # Check for SPM vs CocoaPods
    ls Package.swift 2>/dev/null
    ls Podfile 2>/dev/null

Configuration Questions

1. CI/CD Platform
  • GitHub Actions (Recommended) - Full control, extensive marketplace
  • Xcode Cloud - Native Apple integration, simpler setup
  • Both - GitHub for PRs/tests, Xcode Cloud for releases
2. Distribution Method
  • TestFlight - Beta testing via App Store Connect
  • App Store - Production releases
  • Direct (macOS only) - Notarized DMG/PKG distribution
  • All - Full pipeline from dev to production
3. Include fastlane?
  • Yes - Advanced automation, match for code signing
  • No - Simpler setup using xcodebuild directly
4. Code Signing Approach
  • Manual - Certificates in GitHub Secrets
  • match (fastlane) - Git-based certificate management
  • Xcode Cloud Managed - Apple handles signing

Generated Files

GitHub Actions
.github/workflows/
├── build-test.yml        # PR checks, unit tests
├── deploy-testflight.yml # TestFlight deployment
└── deploy-appstore.yml   # App Store submission
Xcode Cloud
ci_scripts/
├── ci_post_clone.sh      # Post-clone setup
└── ci_pre_xcodebuild.sh  # Pre-build configuration
fastlane
fastlane/
├── Fastfile              # Lane definitions
├── Appfile               # App configuration
└── Matchfile             # Code signing (if using match)
SwiftLint
.swiftlint.yml            # from templates/swiftlint/swiftlint.yml

Merging Skill Rule Fragments

Skills in this library may ship graduated enforcement as a rules/swiftlint.yml fragment (opt_in_rules + custom_rules) — prose rules turned into deterministic lint. When generating .swiftlint.yml:

  1. Start from templates/swiftlint/swiftlint.yml.
  2. For each skill the project actually uses, check for skills/<category>/<skill>/rules/swiftlint.yml; append its custom_rules entries and union its opt_in_rules.
  3. Respect fragment scoping comments — e.g. observable_object_legacy applies only to iOS 17+/macOS 14+ deployment targets, and xctest_in_unit_tests must keep its UITests exclusion (XCUITest legitimately requires XCTest).
  4. The generated build-test.yml runs the lint job automatically once .swiftlint.yml exists (if: hashFiles('.swiftlint.yml') != '').

Current fragments: security/ (hardcoded secrets), ios/coding-best-practices (print-in-production, legacy ObservableObject, force_unwrapping/force_try), testing/tdd-feature (XCTest scoped out of unit tests), swift/concurrency (@unchecked Sendable without justification).

Integration Steps

Show full SKILL.md (242 more words)Show less
GitHub Actions Setup
  1. Add Repository Secrets (Settings > Secrets and variables > Actions):

    • APP_STORE_CONNECT_API_KEY_ID - API Key ID
    • APP_STORE_CONNECT_API_ISSUER_ID - Issuer ID
    • APP_STORE_CONNECT_API_KEY_CONTENT - Private key (.p8 content)
    • CERTIFICATE_P12 - Base64-encoded .p12 certificate
    • CERTIFICATE_PASSWORD - Certificate password
    • PROVISIONING_PROFILE - Base64-encoded provisioning profile
  2. Create App Store Connect API Key:

    • Go to App Store Connect > Users and Access > Keys
    • Generate API Key with "App Manager" role
    • Download the .p8 file (only available once)
  3. Export Certificate:

    bash
    # Export from Keychain as .p12, then base64 encode
    base64 -i certificate.p12 | pbcopy
Xcode Cloud Setup
  1. Enable Xcode Cloud in Xcode:

    • Product > Xcode Cloud > Create Workflow
    • Connect to App Store Connect
  2. Configure Workflow:

    • Set start conditions (branch, PR, tag)
    • Configure environment variables
    • Set up post-actions (TestFlight, App Store)
  3. Add ci_scripts to repository for customization

fastlane Setup
  1. Install fastlane:

    bash
    brew install fastlane
  2. Initialize (if starting fresh):

    bash
    fastlane init
  3. Set up match (optional, for code signing):

    bash
    fastlane match init
    fastlane match development
    fastlane match appstore

Best Practices

Caching
  • Cache Swift Package Manager dependencies
  • Cache DerivedData for faster builds
  • Use selective caching to avoid stale artifacts
Secrets Management
  • Never commit certificates or keys
  • Use environment variables for sensitive data
  • Rotate API keys periodically
Build Optimization
  • Use incremental builds where possible
  • Parallelize test execution
  • Skip unnecessary steps on draft PRs
Notifications
  • Slack/Discord integration for build status
  • Email notifications for failures
  • GitHub status checks for PRs

References

© rshankras, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 11 other files in skills/generators/ci-cd-setup of rshankras/claude-code-apple-skills.

  • SKILL.md
  • ci-cd-patterns.md
  • templates/fastlane/Appfile
  • templates/fastlane/Fastfile
  • templates/fastlane/Matchfile
  • templates/github-actions/build-test.yml
  • templates/github-actions/deploy-appstore.yml
  • templates/github-actions/deploy-testflight.yml
  • templates/swiftlint/swiftlint.yml
  • templates/xcode-cloud/XcodeCloudSetup.md
  • templates/xcode-cloud/ci_post_clone.sh
  • templates/xcode-cloud/ci_pre_xcodebuild.sh

Open the folder on GitHubat commit 9ffb831

Compare with similar skills

CI CD Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

CI CD Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
CI CD Setup this skillrshankras/claude-code-apple-skills783—~1.5kAutomated safety check: NotesMIT
Wjs Auditing Projectjianshuo/claude-skills130—~2.5kAutomated safety check: PassMIT
Releasearul28/ADE114—~17kAutomated safety check: PassAGPL-3.0
OdevioOdevio/Odevio-CLI423—~7.6kAutomated safety check: PassMIT
iOS App Store SubmitZestfulPulse/ios-app-store-submit142—~4.7kAutomated safety check: PassMIT
Releasevaayne/mori303—~1.2kAutomated safety check: PassMIT

Similar skills

  • Wjs Auditing Project

    jianshuo/claude-skills

    A skill your agent uses when the user asks to audit what's wrong with a project, "make it right", "看看项目出了什么问题", "为什么用户的需求还没上线", "为什么没提交App Store", "为什么没新build", or wants a holistic…

    130 GitHub stars~2.5k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Release

    arul28/ADE

    ADE release conductor: detect whether desktop, iOS, and/or the Cloudflare web tier actually changed, bump desktop patch versions, keep iOS marketing versions fixed while bumping build numbers, ship…

    114 GitHub stars~17k tokensUpdated today
    MobileAuto-check passed
  • Odevio

    Odevio/Odevio-CLI

    Take a Flutter project to an iPhone or the App Store with Odevio - build, sign and publish iOS apps from Windows, Linux or macOS with no Mac and no Xcode.

    423 GitHub stars~7.6k tokensUpdated 13 days ago
    MobileAuto-check passed
  • iOS App Store Submit

    ZestfulPulse/ios-app-store-submit

    Build, sign, and submit a Flutter/iOS app to the App Store Connect — covers Xcode archive/export, code signing (including headless-Mac keychain workarounds), the asc CLI for App Store Connect…

    142 GitHub stars~4.7k tokensUpdated 6 days ago
    MobileAuto-check passed
  • Release

    vaayne/mori

    Release workflow for Mori macOS workspace terminal and MoriRemote iOS app.

    303 GitHub stars~1.2k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Asc Xcode Build

    rorkai/app-store-connect-cli-skills

    Build, archive, generate export options, export, upload, and manage Xcode version/build numbers with the current asc xcode helpers.

    1.1k GitHub starsUsed in 2 repos~2.1k tokens
    MobileAuto-check passed

More from rshankras/claude-code-apple-skills

All 41 skills in this repo
  • Accessibility Generator

    rshankras/claude-code-apple-skills

    Generate accessibility infrastructure for VoiceOver, Dynamic Type, and accessibility features.

    783 GitHub stars~1.4k tokensUpdated 2 mo ago
    Auto-check: notes
  • Animation Patterns

    rshankras/claude-code-apple-skills

    SwiftUI animation patterns including springs, transitions, PhaseAnimator, KeyframeAnimator, SF Symbol effects, scroll-driven effects, mesh gradients, text renderers, and shader effects.

    783 GitHub stars~2.1k tokensUpdated 2 mo ago
    Auto-check passed
  • App Description Writer

    rshankras/claude-code-apple-skills

    Generate compelling App Store descriptions that convert browsers into users.

    783 GitHub stars~1.3k tokensUpdated 2 mo ago
    Auto-check passed
  • App Icon Generator

    rshankras/claude-code-apple-skills

    Generates an app icon for macOS or iOS — a fast CoreGraphics placeholder and/or flat layered source art to finish in Icon Composer (the Liquid Glass / iOS 26+ standard).

    783 GitHub stars~5.1k tokensUpdated 2 mo ago
    Auto-check: notes
  • App Namer

    rshankras/claude-code-apple-skills

    Turn an app idea into validated, App-Store-ready name candidates.

    783 GitHub stars~3.4k tokensUpdated 2 mo ago
    Auto-check passed
  • Bundles And Licensing

    rshankras/claude-code-apple-skills

    Revenue beyond the single-app price tag — own-app bundles, Family Sharing as a conversion lever, cross-developer bundles & suites, and institutional licensing via Group Purchases / Apple School &…

    783 GitHub stars~1.8k tokensUpdated 2 mo ago
    Auto-check passed

Questions about CI CD Setup

What does CI CD Setup do?

Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps. CI CD Setup is an agent skill from rshankras/claude-code-apple-skills. Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.

When should I use CI CD Setup?

CI CD Setup fits situations like: setting up GitHub Actions; fastlane for continuous integration; app Store deployment.

How do I install CI CD Setup in Claude Code?

Run `npx skills add rshankras/claude-code-apple-skills --skill ci-cd-setup -a claude-code`. Or copy the skill folder (skills/generators/ci-cd-setup in rshankras/claude-code-apple-skills) into .claude/skills/ci-cd-setup in your project. Claude Code loads it when a task matches its description.

How do I install CI CD Setup in Codex?

Run `npx skills add rshankras/claude-code-apple-skills --skill ci-cd-setup -a codex`. Or copy the skill folder (skills/generators/ci-cd-setup in rshankras/claude-code-apple-skills) into .agents/skills/ci-cd-setup in your project. Codex loads it when a task matches its description.

Can I use CI CD Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rshankras/claude-code-apple-skills --skill ci-cd-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ci-cd-setup, .gemini/skills/ci-cd-setup, .github/skills/ci-cd-setup and .opencode/skills/ci-cd-setup in your project.

What does CI CD Setup need to run?

Going by SKILL.md and its folder, CI CD Setup needs a shell for the scripts in its folder, the command-line tools its instructions call (brew) and credentials named APP_STORE_CONNECT_API_KEY_ID and CERTIFICATE_PASSWORD. Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion.

Does CI CD Setup access the network?

SKILL.md names 3 domains. As links in the text: developer.apple.com, github.com and docs.fastlane.tools. This is read from the text; nothing was executed.

Is CI CD Setup safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does CI CD Setup use?

CI CD Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does CI CD Setup use?

About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to CI CD Setup?

Skills that share tags, products or a category with CI CD Setup: Wjs Auditing Project (jianshuo/claude-skills, 130 stars), Release (arul28/ADE, 114 stars), Odevio (Odevio/Odevio-CLI, 423 stars) and iOS App Store Submit (ZestfulPulse/ios-app-store-submit, 142 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains CI CD Setup?

rshankras (a GitHub user) maintains it in rshankras/claude-code-apple-skills, which has 783 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on July 24, 2026.

Source: rshankras/claude-code-apple-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.