asc-release-flow — скилл для Claude Code: релизы App Store через asc
Ведёт релиз iOS-приложения от подготовленного плана до отправки на ревью в App Store. Полезен, когда версия уже собрана и её надо застейджить, залить или опубликовать.
npx skills add rorkai/app-store-connect-cli-skills --skill asc-release-flow -a claude-codeЧто делает asc-release-flow
Скилл описывает порядок работы с CLI asc: застейджить метаданные и прикрепить сборку, загрузить IPA или собрать проект локально, отправить подготовленную версию на ревью, собрать мультиэлементную отправку. Под каждый сценарий — своя команда: asc release stage, asc review submit, asc publish appstore, либо низкоуровневые команды asc review для версий с IAP, подписками и элементами Game Center.
Перед мутирующей командой скилл требует dry run, а для отправки — флаг --confirm. Проверка готовности идёт через asc validate --app "APP_ID" --version "1.2.3" --platform IOS; в строгом режиме предупреждения останавливают автоматизацию. Цифровые товары — жёсткий гейт: если в релиз входят IAP или подписки, поток останавливается и уходит в asc-submission-health, и вернуться можно только после того, как проверки продуктов не дадут блокеров. Смешивать lanes после создания review submission нельзя — сначала смотрят на существующую отправку.
Что нужно заранее: APP_ID, строка версии, при необходимости VERSION_ID и BUILD_ID, авторизация через asc auth login или переменные окружения ASC_*, подтверждённая платформа (по умолчанию IOS) и канонические метаданные в ./metadata. Если в плане метаданных есть удаления, и dry run, и подтверждённый запуск требуют --allow-deletes, причём этот флаг отключает откат к существующей локали, когда её нет локально.
Какие задачи решает
- застейджить метаданные версии и прикрепить к ней сборку
- залить готовый IPA и сразу отправить его на ревью
- собрать приложение локально из workspace или project
- собрать отправку с IAP, подписками и элементами Game Center
- проверить версию перед отправкой и поймать предупреждения
Примеры запросов агенту
- Застейджи версию 1.2.3 с метаданными из
./metadataи сборкойBUILD_ID, сначала dry run - Отправь подготовленную версию 1.2.3 на ревью через
asc review submitс--confirm - Опубликуй IPA
./App.ipaкак версию 1.2.3 и отправь на ревью
Как установить asc-release-flow
1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-release-flow -a claude-code2Вручную: положить файлы
~/.claude/skills/asc-release-flow/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/asc-release-flow/
1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-release-flow -a codex2Вручную: положить файлы
.agents/skills/asc-release-flow/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-release-flow -a cursor2Вручную: положить файлы
.cursor/skills/asc-release-flow/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install rorkai/app-store-connect-cli-skills asc-release-flow2Вручную: положить файлы
.github/skills/asc-release-flow/SKILL.md1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-release-flow -a gemini-cli2Командой платформы
gemini skills install https://github.com/rorkai/app-store-connect-cli-skills --path skills/asc-release-flowВручную: положить файлы
.devin/skills/asc-release-flow/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-release-flow -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о asc-release-flow
Как установить asc-release-flow в Claude Code?
Выполните npx skills add rorkai/app-store-connect-cli-skills --skill asc-release-flow -a claude-code. Скилл окажется в ~/.claude/skills/asc-release-flow/SKILL.md.
Что делает asc-release-flow?
Проводит релиз App Store через CLI asc: стейджинг метаданных, прикрепление сборки, загрузка или локальная сборка, публикация и отправка на ревью. Для версий с IAP, подписками и элементами Game Center используются низкоуровневые команды asc review.
Чем asc-release-flow отличается от asc-submission-health?
Этот скилл отвечает за подготовку и выполнение релиза, включая подготовку элементов Game Center. Диагностика прочих блокеров готовности, зависшие отправки, отмена и решения о повторе передаются в asc-submission-health.
Исходный текст
SKILL.md · MIT
--- name: asc-release-flow description: Orchestrate App Store releases with asc, including staging a version, uploading or building an artifact, publishing, and submitting for review. Use when the user wants to prepare or execute a release. Keep Game Center item preparation in this skill; route other readiness failures, stuck submissions, cancellation, and retry decisions to asc-submission-health. --- # App Store release orchestration Use this skill to carry a release from an approved plan to App Store review. Keep Game Center item preparation here; keep other blocker diagnosis and review recovery in `asc-submission-health`. ## Ownership boundary This skill owns: - staging metadata and attaching a build; - publishing an IPA or building locally; - submitting a prepared version; - assembling a multi-item review submission. Use [the preparation section](references/multi-item-submissions.md#prepare-every-item) for Game Center item preparation or attachment blockers. Use that reference's assembly and submission sections only after the app version is staged and the multi-item lane is selected. Switch to `asc-submission-health` for other validation blockers, a stuck submission, cancellation, or retry decisions. Switch skills within the current task, preserving resolved targets, authorization, and verified progress. A failing gate blocks dependent mutations, not diagnosis or independent authorized work. Continue authorized repairs and resume this flow; request new authority only when repairs exceed the agreed scope. ## Preconditions - Resolve `APP_ID`, the version string, `VERSION_ID` when needed, and `BUILD_ID` when a build already exists. - Configure auth with `asc auth login` or `ASC_*` environment variables. - Confirm the intended platform. Use `IOS` unless the app targets another platform. - Keep canonical metadata in `./metadata` when the workflow applies metadata. - Require a dry run before a mutating high-level command, then require `--confirm` for submission. ## Choose the release lane | Intent | Command | | --- | --- | | Prepare metadata and attach an existing build without submitting | `asc release stage` | | Submit an already prepared version | `asc review submit` | | Upload an IPA or build locally, then optionally submit | `asc publish appstore` | | Submit the app version with IAP, subscription, or Game Center version items | lower-level `asc review` submission commands | Do not mix lanes after one has already created a review submission. Inspect the existing submission first and continue through the matching lower-level commands. ## Run the readiness gate Apply this gate to a version that already has the intended build attached. For the staging lane, first complete [Stage an existing build](#stage-an-existing-build); `asc release stage` attaches the build and runs validation, after which this gate can be evaluated. Do not route an expected pre-staging "build not attached" result to `asc-submission-health`. Validate before any submission: ```bash asc validate --app "APP_ID" --version "1.2.3" --platform IOS --output table ``` Use strict mode when warnings must stop automation: ```bash asc validate --app "APP_ID" --version "1.2.3" --platform IOS --strict --output table ``` Digital goods are a hard gate. If the release includes IAPs or subscriptions, stop and run the relevant product checks in `asc-submission-health`. Resume this flow only after those checks have no blocking issues and the intended product versions are prepared. For Game Center items, complete only [Prepare every item](references/multi-item-submissions.md#prepare-every-item), then return to this flow. Do not assemble or submit the multi-item review submission during readiness. If app validation reports a Game Center item blocker, stop and use that preparation section. If the only blocker is an unattached build in the staging lane, continue to the staging section. For every other blocker, pause dependent release actions and use `asc-submission-health`; resume after authorized repairs pass validation. ## Stage an existing build Use `asc release stage` to verify the selected build belongs to the app before changing the version, apply or copy metadata, attach the build, and run validation without creating a review submission. Preview metadata-driven staging: ```bash asc release stage \ --app "APP_ID" \ --version "1.2.3" \ --build-id "BUILD_ID" \ --metadata-dir "./metadata" \ --dry-run \ --output table ``` Apply the reviewed plan: ```bash asc release stage \ --app "APP_ID" \ --version "1.2.3" \ --build-id "BUILD_ID" \ --metadata-dir "./metadata" \ --confirm ``` `--metadata-dir` takes the canonical metadata root that contains `app-info/` and `version/<version>/`, the same layout as `asc metadata push --dir`. Use `--copy-metadata-from "1.2.2"` instead of `--metadata-dir` when carrying localization metadata forward. Add `--strict-validate` when warnings should fail the stage. If the metadata plan contains deletes, the dry run and confirmed run both require `--allow-deletes`. Review those deletes first; the flag also disables fallback to an existing locale when that locale is absent locally. Use `--routing-coverage-file "./coverage.geojson"` when the release includes routing app coverage. This experimental step validates the GeoJSON before mutation and stages it before readiness checks. Structured output includes a `validate_build` step at the start of `steps[]`. Match steps by name rather than array position. ## Submit a prepared version Use `asc review submit` after metadata, review details, availability, build processing, and product readiness are already resolved. ```bash asc review submit --app "APP_ID" --version "1.2.3" --build-id "BUILD_ID" --dry-run --output table asc review submit --app "APP_ID" --version "1.2.3" --build-id "BUILD_ID" --confirm ``` Use `--version-id "VERSION_ID"` instead of `--version` when the exact version ID is known. Select the build with `--build-id`, or with `--build-number "45"` to skip the build-ID lookup; it matches only builds of that app, version string, and platform. Right after an upload, prefer `--build-number` over `--latest`, which can still pick the previous upload. Add `--wait` to wait for processing before attaching. ## Upload or build, then publish Use `asc publish appstore` when the release starts from an IPA or a local Xcode project/workspace. Preview an IPA upload and submission: ```bash asc publish appstore \ --app "APP_ID" \ --ipa "./App.ipa" \ --version "1.2.3" \ --submit \ --dry-run \ --output table ``` Run it after reviewing the plan: ```bash asc publish appstore \ --app "APP_ID" \ --ipa "./App.ipa" \ --version "1.2.3" \ --submit \ --wait \ --confirm ``` For local-build mode, provide `--workspace` or `--project` with `--scheme` instead of `--ipa`. Use `--metadata-dir` when the publish command should apply canonical version metadata after ensuring the version. Omit `--submit` when the user wants upload and attachment only. ## Submit multiple review items Read [references/multi-item-submissions.md](references/multi-item-submissions.md) when the app version must ship with versioned IAP, subscription, subscription-group, or Game Center items. Add only items the user has resolved and inspected. ## Handoff after submission Report: - the app, version, platform, build, and submission IDs; - which lane ran and whether it completed; - mutations performed under the user's authorization; - the exact command to monitor the resulting submission. Use `asc-submission-health` for monitoring, cancellation, rejection diagnosis, or retry decisions. ## Guardrails - Do not use removed `submit-preflight`, `submit-create`, or `release-run` shortcuts. - Do not add `--confirm` until the dry-run plan matches the requested release. - Do not create a second review submission when one already exists for the version. - Do not turn a validation failure into a partial release; stop at the failing gate. - Keep data on stdout and diagnostics on stderr when wrapping commands in automation.
© rorkai · MIT · rorkai/app-store-connect-cli-skills