CI CD Setup
rshankras/claude-code-apple-skills
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.
Publishes mobile applications to iOS App Store and Google Play with code signing, versioning, and CI/CD automation.
$ npx skills add secondsky/claude-skills --skill app-store-deployment -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install secondsky/claude-skills app-store-deployment --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/app-store-deployment/skills/app-store-deployment .claude/skills/app-store-deployment && rm -rf skills-srcUse ~/.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/
Install the "app-store-deployment" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/app-store-deployment/skills/app-store-deployment into .claude/skills/app-store-deployment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "app-store-deployment", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/secondsky/claude-skills/tree/main/plugins/app-store-deployment/skills/app-store-deploymentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add secondsky/claude-skills --skill app-store-deployment -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install secondsky/claude-skills app-store-deployment --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/app-store-deployment/skills/app-store-deployment .agents/skills/app-store-deployment && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "app-store-deployment" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/app-store-deployment/skills/app-store-deployment into .agents/skills/app-store-deployment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "app-store-deployment", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add secondsky/claude-skills --skill app-store-deployment -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install secondsky/claude-skills app-store-deployment --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/app-store-deployment/skills/app-store-deployment .cursor/skills/app-store-deployment && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "app-store-deployment" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/app-store-deployment/skills/app-store-deployment into .cursor/skills/app-store-deployment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "app-store-deployment", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/secondsky/claude-skills.git --path plugins/app-store-deployment/skills/app-store-deployment--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add secondsky/claude-skills --skill app-store-deployment -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install secondsky/claude-skills app-store-deployment --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/app-store-deployment/skills/app-store-deployment .gemini/skills/app-store-deployment && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "app-store-deployment" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/app-store-deployment/skills/app-store-deployment into .gemini/skills/app-store-deployment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "app-store-deployment", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install secondsky/claude-skills app-store-deploymentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add secondsky/claude-skills --skill app-store-deployment -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/app-store-deployment/skills/app-store-deployment .github/skills/app-store-deployment && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "app-store-deployment" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/app-store-deployment/skills/app-store-deployment into .github/skills/app-store-deployment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "app-store-deployment", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add secondsky/claude-skills --skill app-store-deployment -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install secondsky/claude-skills app-store-deployment --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/secondsky/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/app-store-deployment/skills/app-store-deployment .opencode/skills/app-store-deployment && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "app-store-deployment" agent skill from https://github.com/secondsky/claude-skills/tree/main/plugins/app-store-deployment/skills/app-store-deployment into .opencode/skills/app-store-deployment/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "app-store-deployment", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
app-store-deploymentPublishes mobile applications to iOS App Store and Google Play with code signing, versioning, and CI/CD automation.
App Store Deployment is an agent skill from secondsky/claude-skills. 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.
Its SKILL.md is about 800 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering App store release, CI/CD and Deployment. It works with iOS. The repository describes itself as: Production-ready skills for Claude Code CLI - Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.
Read from SKILL.md and the folder at commit 8837836. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
xcodebuildxcrunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
APP_SPECIFIC_PASSWORDRELEASE_STORE_PASSWORDRELEASE_KEY_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
App Store Deployment loads about 799 tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 85 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
sudo xcodebuild -license accept || trueAutomated 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.
The full file from secondsky/claude-skills at commit 8837836, republished under its MIT licence (© secondsky). 85 words, ~799 tokens.
.claude/skills/app-store-deployment/SKILL.md (or your agent's skills folder).Publish mobile applications to iOS App Store and Google Play with proper procedures.
# Build archive
xcodebuild -workspace App.xcworkspace \
-scheme App \
-sdk iphoneos \
-configuration Release \
-archivePath build/App.xcarchive \
archive
# Export IPA
xcodebuild -exportArchive \
-archivePath build/App.xcarchive \
-exportOptionsPlist ExportOptions.plist \
-exportPath build/xcrun altool --upload-app \
--type ios \
--file build/App.ipa \
--username "$APPLE_ID" \
--password "$APP_SPECIFIC_PASSWORD"# Generate keystore (once)
keytool -genkey -v -keystore release.keystore \
-alias app -keyalg RSA -keysize 2048 -validity 10000
# Build release bundle
./gradlew bundleReleaseRELEASE_STORE_FILE=release.keystore
RELEASE_KEY_ALIAS=app
RELEASE_STORE_PASSWORD=****
RELEASE_KEY_PASSWORD=****{
"version": "1.2.3",
"ios": { "buildNumber": "45" },
"android": { "versionCode": 45 }
}on:
push:
tags: ['v*']
jobs:
deploy-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
run: |
# Accept Xcode license if needed
sudo xcodebuild -license accept || true
- name: Build archive
run: |
xcodebuild -workspace App.xcworkspace \
-scheme App \
-sdk iphoneos \
-configuration Release \
-archivePath build/App.xcarchive \
archive
- name: Export IPA
run: |
xcodebuild -exportArchive \
-archivePath build/App.xcarchive \
-exportOptionsPlist ExportOptions.plist \
-exportPath build/
- name: Upload to App Store Connect
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APP_SPECIFIC_PASSWORD: ${{ secrets.APP_SPECIFIC_PASSWORD }}
run: |
xcrun altool --upload-app \
--type ios \
--file build/App.ipa \
--username "$APPLE_ID" \
--password "$APP_SPECIFIC_PASSWORD"
deploy-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./gradlew bundleRelease
- uses: r0adkll/upload-google-play@v1© secondsky, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/app-store-deployment/skills/app-store-deployment of secondsky/claude-skills.
Open the folder on GitHubat commit 8837836
App Store Deployment 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| App Store Deployment this skillsecondsky/claude-skills | 227 | — | ~799 | Automated safety check: Notes | MIT | |
| CI CD Setuprshankras/claude-code-apple-skills | 781 | — | ~1.5k | Automated safety check: Notes | MIT | |
| Mobile App Builderrevfactory/harness-100 | 1.3k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| ASC Ad Hoc Distributionrorkai/app-store-connect-cli-skills | 1.1k | 1 repos | ~1.8k | Automated safety check: Pass | MIT | |
| Wjs Auditing Projectjianshuo/claude-skills | 130 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Expo Deploymentkingstinct/react-native-healthkit | 715 | 4 repos | ~930 | Automated safety check: Pass | MIT |
rshankras/claude-code-apple-skills
Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.
revfactory/harness-100
Full mobile app development pipeline. An agent skill from revfactory/harness-100.
rorkai/app-store-connect-cli-skills
Prepares, publishes, resumes and verifies private iOS test installs for registered devices with `asc distribute`, using storage you own that speaks the S3 protocol.
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…
kingstinct/react-native-healthkit
Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes
vaayne/mori
Release workflow for Mori macOS workspace terminal and MoriRemote iOS app.
secondsky/claude-skills
TanStack AI (alpha) provider-agnostic type-safe chat with streaming for OpenAI, Anthropic, Gemini, Ollama.
secondsky/claude-skills
AutoAnimate (@formkit/auto-animate) zero-config animations for React.
secondsky/claude-skills
MUI Base UI unstyled React components with Floating UI. An agent skill from secondsky/claude-skills.
secondsky/claude-skills
This skill should be used when the user asks to "upload images to Cloudflare", "implement direct creator upload", "configure image transformations", "optimize WebP/AVIF", "create image variants"…
secondsky/claude-skills
Deploy Next.js to Cloudflare Workers via the OpenNext adapter (@opennextjs/cloudflare).
secondsky/claude-skills
Cloudflare Sandboxes SDK for secure code execution in Linux containers at edge.
Works with
Categories
Publishes mobile applications to iOS App Store and Google Play with code signing, versioning, and CI/CD automation. App Store Deployment is an agent skill from secondsky/claude-skills. Publishes mobile applications to iOS App Store and Google Play with code signing, versioning, and CI/CD automation.
App Store Deployment fits situations like: preparing app releases; configuring signing certificates; setting up automated deployment pipelines.
Run `npx skills add secondsky/claude-skills --skill app-store-deployment -a claude-code`. Or copy the skill folder (plugins/app-store-deployment/skills/app-store-deployment in secondsky/claude-skills) into .claude/skills/app-store-deployment in your project. Claude Code loads it when a task matches its description.
Run `npx skills add secondsky/claude-skills --skill app-store-deployment -a codex`. Or copy the skill folder (plugins/app-store-deployment/skills/app-store-deployment in secondsky/claude-skills) into .agents/skills/app-store-deployment in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add secondsky/claude-skills --skill app-store-deployment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/app-store-deployment, .gemini/skills/app-store-deployment, .github/skills/app-store-deployment and .opencode/skills/app-store-deployment in your project.
Going by SKILL.md and its folder, App Store Deployment needs the command-line tools its instructions call (xcodebuild and xcrun) and credentials named APP_SPECIFIC_PASSWORD, RELEASE_STORE_PASSWORD and RELEASE_KEY_PASSWORD.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
App Store Deployment is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 799 tokens (SKILL.md is roughly 3.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with App Store Deployment: CI CD Setup (rshankras/claude-code-apple-skills, 781 stars), Mobile App Builder (revfactory/harness-100, 1.3k stars), ASC Ad Hoc Distribution (rorkai/app-store-connect-cli-skills, 1.1k stars) and Wjs Auditing Project (jianshuo/claude-skills, 130 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
secondsky (a GitHub user) maintains it in secondsky/claude-skills, which has 227 GitHub stars. The repository holds 169 skills in this directory. The repository was last updated on September 28, 2026.
Source: secondsky/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.