App Store Preflight Skills
truongduy2611/app-store-preflight-skills
Scan an iOS/macOS Xcode project for common App Store rejection patterns before submission.
Use the asc (App Store Connect CLI) to manage iOS/macOS apps — TestFlight builds, beta groups, distribution, App Store submissions, release, user reviews, analytics reports, crash logs, and more.
$ npx skills add OpenMinis/MinisSkills --skill asc-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OpenMinis/MinisSkills asc-cli --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/OpenMinis/MinisSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/asc-cli .claude/skills/asc-cli && 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 "asc-cli" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/asc-cli into .claude/skills/asc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asc-cli", 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/OpenMinis/MinisSkills/tree/main/asc-cliType 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 OpenMinis/MinisSkills --skill asc-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OpenMinis/MinisSkills asc-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/asc-cli .agents/skills/asc-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "asc-cli" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/asc-cli into .agents/skills/asc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asc-cli", 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 OpenMinis/MinisSkills --skill asc-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OpenMinis/MinisSkills asc-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/asc-cli .cursor/skills/asc-cli && 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 "asc-cli" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/asc-cli into .cursor/skills/asc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asc-cli", 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/OpenMinis/MinisSkills.git --path asc-cli--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 OpenMinis/MinisSkills --skill asc-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OpenMinis/MinisSkills asc-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/asc-cli .gemini/skills/asc-cli && 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 "asc-cli" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/asc-cli into .gemini/skills/asc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asc-cli", 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 OpenMinis/MinisSkills asc-cliInstalls 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 OpenMinis/MinisSkills --skill asc-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/asc-cli .github/skills/asc-cli && 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 "asc-cli" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/asc-cli into .github/skills/asc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asc-cli", 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 OpenMinis/MinisSkills --skill asc-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OpenMinis/MinisSkills asc-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/asc-cli .opencode/skills/asc-cli && 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 "asc-cli" agent skill from https://github.com/OpenMinis/MinisSkills/tree/main/asc-cli into .opencode/skills/asc-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asc-cli", 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.
asc-cliUse the asc (App Store Connect CLI) to manage iOS/macOS apps — TestFlight builds, beta groups, distribution, App Store submissions, release, user reviews, analytics reports, crash logs, and more.
Asc CLI is an agent skill from OpenMinis/MinisSkills. Use the asc (App Store Connect CLI) to manage iOS/macOS apps — TestFlight builds, beta groups, distribution, App Store submissions, release, user reviews, analytics reports, crash logs, and more. Triggers when user mentions "asc", "TestFlight", "beta test", "app store review", "App Store Connect", "release v1.x", "public tester", "add build to test", "check crashes", "what's new", "store listing", "submit to app store review", "approve and release", or any App Store Connect operation.
Its SKILL.md is about 1.8k 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 Mobile, covering App store release. It works with App Store Connect, macOS and iOS. The repository describes itself as: Skills collection for Minis. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cb72d91. 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:
curlbrewFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comAlso links to:
appstoreconnect.apple.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Asc CLI loads about 1.8k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 624 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 found no risky patterns in SKILL.md.
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.
The full file from OpenMinis/MinisSkills at commit cb72d91, republished under its MIT licence (© OpenMinis). 624 words, ~1,810 tokens.
.claude/skills/asc-cli/SKILL.md (or your agent's skills folder).Use asc to manage App Store Connect from the command line.
iSH (Alpine Linux, aarch64) uses the prebuilt linux_arm64 binary from GitHub Releases.
# 1. Check latest version at https://github.com/rorkai/App-Store-Connect-CLI/releases/latest
# 2. Download linux_arm64 binary
VERSION="1.2.6" # or latest
curl -L -o /usr/local/bin/asc \
"https://github.com/rorkai/App-Store-Connect-CLI/releases/download/${VERSION}/asc_${VERSION}_linux_arm64"
chmod +x /usr/local/bin/asc
# 3. Verify
asc versionUpdating: Repeat the same curl + chmod with the new version.
macOS (separate machine): Use brew install asc or the macOS_arm64 binary.
App Store Connect uses API keys for machine-to-machine access. The user needs an Apple Developer account with the appropriate role: Account Holder, Admin, or App Manager.
Step 1 - Open the API Keys page:
Tell the user to visit App Store Connect -> Users and Access -> Integrations -> API Keys. They must sign in with their Apple Developer account.
Step 2 - Generate a private key:
Click the "+" button, give the key a name (for example, "Minis CI"), and choose the access role:
After clicking "Generate", a .p8 private key file downloads immediately. Save it. Apple only shows the download link once.
Step 3 - Collect three pieces of information:
The API Keys page shows a table. Find the newly created key row:
ABC123XYZ9.aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee..p8 file downloaded in Step 2.Step 4 - Get the .p8 file into iSH:
The user can share the .p8 file to Minis as an attachment, or place it in a mounted folder under /var/minis/mounts/.
Step 5 - Run auth login:
iSH has no system keychain, so use --bypass-keychain:
# Copy the .p8 into /root/ (not /tmp/ - /tmp is wiped on restart)
cp /var/minis/attachments/AuthKey_XXXX.p8 /root/AuthKey_XXXX.p8
chmod 600 /root/AuthKey_XXXX.p8
asc auth login --bypass-keychain \
--name "ProfileName" \
--key-id "KEY_ID" \
--issuer-id "ISSUER_ID" \
--private-key /root/AuthKey_XXXX.p8Step 6 - Verify:
asc auth status --validate
# Should show "validation: works"
asc apps list --output table
# Should list the user's appsWhen a user asks to do something with asc but auth is not set up yet, do not run the command blindly. Instead:
asc auth status --validate 2>&1 to check the current state."asc has not been configured for authentication yet. You need an App Store Connect API Key. Would you like me to walk you through generating one step by step?"
.p8 file but has not configured auth, just do Steps 5-6.asc is not installed, see Installation first./root/.asc/config.json/root/AuthKey_*.p8Both must be in /root/ for persistence across iSH restarts. /tmp/ is lost on reboot.
/usr/local/bin/asc (linux_arm64 binary, iSH Alpine)/root/.asc/config.json, private key at /root/AuthKey_*.p8asc apps list --output tableGet APP_ID from the output. All subsequent commands need --app APP_ID.
List builds:
asc builds list --app APP_ID --output tableList beta groups:
asc testflight groups list --app APP_ID --output tableAdd build to public beta group + submit review:
asc publish testflight \
--app APP_ID \
--build BUILD_ID \
--group "GROUP_ID" \
--test-notes "Notes" \
--locale "en-US" \
--submit --confirmView tester metrics:
asc testflight metrics app-testers --app APP_ID --paginate --output jsonList crash submissions:
asc testflight crashes list --app APP_ID --paginate --output jsonGet crash log:
asc testflight crashes log --submission-id SUBMISSION_IDStage version (create version + copy metadata + attach build):
asc release stage \
--app APP_ID \
--version "1.X" \
--build BUILD_ID \
--copy-metadata-from "1.Y" \
--exclude-fields "whatsNew" \
--confirmUpdate what's new (en-US):
asc localizations update \
--version VERSION_ID \
--locale "en-US" \
--whats-new "Release notes text..."Create Chinese locale:
asc localizations create --version VERSION_ID --locale "zh-Hans"Fill required fields for new locale:
asc localizations update \
--version VERSION_ID \
--locale "zh-Hans" \
--description "App description" \
--keywords "keyword1,keyword2" \
--support-url "https://..." \
--whats-new "Release Notes"Validate readiness:
asc validate --app APP_ID --version "1.X"Submit for review:
asc review submit --app APP_ID --version "1.X" --build BUILD_ID --confirmRelease after approval (manual release):
asc versions release --version-id VERSION_ID --confirmasc reviews list --app APP_ID --output tableasc auth status --validate # Check auth health
asc version # Show version
asc <command> --help # Built-in help is authoritativerelease stage with --confirm is idempotent. It creates the version only if it does not already exist.builds list always shows the latest builds at the top; use head -N to limit the output.--confirm on destructive commands; try --dry-run first where available.© OpenMinis, 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 asc-cli of OpenMinis/MinisSkills.
Open the folder on GitHubat commit cb72d91
Asc CLI 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 |
|---|---|---|---|---|---|---|
| Asc CLI this skillOpenMinis/MinisSkills | 440 | — | ~1.8k | Automated safety check: Pass | MIT | |
| App Store Preflight Skillstruongduy2611/app-store-preflight-skills | 1.4k | — | ~1.4k | Automated safety check: Pass | MIT | |
| OdevioOdevio/Odevio-CLI | 423 | — | ~7.6k | Automated safety check: Pass | MIT | |
| Releasevaayne/mori | 303 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Asc Xcode Buildrorkai/app-store-connect-cli-skills | 1.1k | 2 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Releasemovieclaw/MovieClaw | 132 | — | ~2.3k | Automated safety check: Pass | Custom licence |
truongduy2611/app-store-preflight-skills
Scan an iOS/macOS Xcode project for common App Store rejection patterns before submission.
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.
vaayne/mori
Release workflow for Mori macOS workspace terminal and MoriRemote iOS app.
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.
movieclaw/MovieClaw
发布 movieclaw 新版本。当用户要求发版、发布新版本、打 tag、发布 NER 模型、发布 Docker 镜像,或打包上传 iOS App 到 TestFlight / App Store、补传发版附件(IPA、Mac 转码器、Mac 版 App)时使用。涵盖版本号三处同步、应用/模型/镜像/iOS 的完整流程、可选附件失败补救与检查清单。
kmworks/kmreader
Coordinate the KMReader App Store release workflow. An agent skill from kmworks/kmreader.
OpenMinis/MinisSkills
Automate Android apps that have no public API or web version by driving the UI layer through the Accessibility Service.
OpenMinis/MinisSkills
Install and run OpenAI Codex CLI inside the Minis/iSH Alpine sandbox on iOS, where rustls TLS and async sockets are broken.
OpenMinis/MinisSkills
Score a claim against the evidence behind it. An agent skill from OpenMinis/MinisSkills.
OpenMinis/MinisSkills
HyperFrames CLI and Minis rendering. An agent skill from OpenMinis/MinisSkills.
OpenMinis/MinisSkills
Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice.
OpenMinis/MinisSkills
Generate a mobile-first, immersive, Amap(Gaode)-style custom landmark marker HTML map for travel itinerary planning, place showcasing, location sharing, etc.
Works with
Categories
Use the asc (App Store Connect CLI) to manage iOS/macOS apps — TestFlight builds, beta groups, distribution, App Store submissions, release, user reviews, analytics reports, crash logs, and more. Asc CLI is an agent skill from OpenMinis/MinisSkills. Use the asc (App Store Connect CLI) to manage iOS/macOS apps — TestFlight builds, beta groups, distribution, App Store submissions, release, user reviews, analytics reports, crash logs, and more.
Asc CLI fits situations like: user mentions asc; app store review; app Store Connect; add build to test.
Run `npx skills add OpenMinis/MinisSkills --skill asc-cli -a claude-code`. Or copy the skill folder (asc-cli in OpenMinis/MinisSkills) into .claude/skills/asc-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OpenMinis/MinisSkills --skill asc-cli -a codex`. Or copy the skill folder (asc-cli in OpenMinis/MinisSkills) into .agents/skills/asc-cli 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 OpenMinis/MinisSkills --skill asc-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/asc-cli, .gemini/skills/asc-cli, .github/skills/asc-cli and .opencode/skills/asc-cli in your project.
Going by SKILL.md and its folder, Asc CLI needs the command-line tools its instructions call (curl and brew).
SKILL.md names 2 domains. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. As links in the text: appstoreconnect.apple.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Asc CLI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.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 Asc CLI: App Store Preflight Skills (truongduy2611/app-store-preflight-skills, 1.4k stars), Odevio (Odevio/Odevio-CLI, 423 stars), Release (vaayne/mori, 303 stars) and Asc Xcode Build (rorkai/app-store-connect-cli-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OpenMinis (a GitHub organization) maintains it in OpenMinis/MinisSkills, which has 440 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.
Source: OpenMinis/MinisSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.