asc-id-resolver — скилл для Claude Code: ID из имён в App Store
Превращает человеческие имена приложений, сборок и тестеров в ID, которые требуют команды asc. Пригодится, когда не помнишь, какой идентификатор подставлять.
npx skills add rorkai/app-store-connect-cli-skills --skill asc-id-resolver -a claude-codeЧто делает asc-id-resolver
Скилл описывает, как через CLI asc находить идентификаторы для App Store Connect. Список приложений фильтруется по --bundle-id или --name, а --paginate вытягивает всё сразу. Найденный ID можно закрепить в переменной ASC_APP_ID, чтобы не повторять его в каждой команде.
Для сборок есть два пути: взять последнюю через asc builds info --latest или посмотреть недавние списком с сортировкой по дате загрузки. Если сборка нужна только для прикрепления или отправки на ревью, искать её ID не придётся: asc versions attach-build и asc review submit принимают --app, --version и --build-number.
Отдельный раздел — цифровые товары. Версии IAP, подписок и групп подписок живут в своих поддеревьях, и их ID не совпадают с ID самих продуктов. Сначала резолвится владеющий ресурс, потом его версия, потом локализации и картинки. Скилл советует ставить --paginate на списочные команды, иначе часть ID просто не попадёт в вывод. Вывод по умолчанию зависит от окружения: таблица в терминале, сжатый JSON в пайпе или CI.
Какие задачи решает
- найти ID приложения по bundle ID
- вытащить ID последней сборки для версии
- прикрепить сборку к версии без поиска её ID
- различить ID версии IAP и ID самого продукта
- собрать список тестеров TestFlight для приложения
Примеры запросов агенту
- Найди ID приложения по bundle ID com.example.app
- Покажи последнюю сборку версии 1.2.3 для iOS и её ID
- Выведи список групп TestFlight в JSON
Как установить asc-id-resolver
1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-id-resolver -a claude-code2Вручную: положить файлы
~/.claude/skills/asc-id-resolver/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/asc-id-resolver/
1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-id-resolver -a codex2Вручную: положить файлы
.agents/skills/asc-id-resolver/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-id-resolver -a cursor2Вручную: положить файлы
.cursor/skills/asc-id-resolver/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install rorkai/app-store-connect-cli-skills asc-id-resolver2Вручную: положить файлы
.github/skills/asc-id-resolver/SKILL.md1Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-id-resolver -a gemini-cli2Командой платформы
gemini skills install https://github.com/rorkai/app-store-connect-cli-skills --path skills/asc-id-resolverВручную: положить файлы
.devin/skills/asc-id-resolver/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add rorkai/app-store-connect-cli-skills --skill asc-id-resolver -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о asc-id-resolver
Как установить asc-id-resolver в Claude?
Выполните npx skills add rorkai/app-store-connect-cli-skills --skill asc-id-resolver -a claude-code. После этого файл скилла окажется в ~/.claude/skills/asc-id-resolver/SKILL.md.
Что делает asc-id-resolver?
Подсказывает команды asc, которые превращают имена приложений, сборок, версий, групп и тестеров в их ID. Нужен, когда другая команда требует идентификатор, а у вас на руках только название.
Чем ID версии цифрового товара отличается от ID продукта?
Это разные значения. Сначала резолвится владеющий ресурс — IAP, подписка или группа подписок, — а уже потом его версия отдельной командой.
Исходный текст
SKILL.md · MIT
--- name: asc-id-resolver description: Resolve App Store Connect IDs (apps, builds, app and digital-goods versions, groups, testers) from human-friendly names using asc. Use when commands require IDs. --- # asc id resolver Use this skill to map names to IDs needed by other commands. ## App ID - By bundle ID or name: - `asc apps list --bundle-id "com.example.app"` - `asc apps list --name "My App"` - Fetch everything: - `asc apps list --paginate` - Set default: - `ASC_APP_ID=...` ## Build ID - Latest build: - `asc builds info --app "APP_ID" --latest --version "1.2.3" --platform IOS` - Recent builds: - `asc builds list --app "APP_ID" --sort -uploadedDate --limit 5` - Skip the lookup when attaching or submitting: `asc versions attach-build` and `asc review submit` accept `--app`, `--version`, and `--build-number "45"`. ## Version ID - `asc versions list --app "APP_ID" --paginate` ## Digital-goods version IDs API 4.4.1 version IDs are distinct from IAP product, subscription, and subscription-group IDs: Resolve the owning resources first: - IAPs: `asc iap list --app "APP_ID" --paginate --output json` - Subscription groups: `asc subscriptions groups list --app "APP_ID" --paginate --output json` - Subscriptions: `asc subscriptions list --app "APP_ID" --paginate --output json` or `asc subscriptions list --group-id "GROUP_ID" --paginate --output json` Then resolve their version IDs: - IAP versions: `asc iap versions list --iap-id "IAP_ID" --paginate --output json` - Subscription versions: `asc subscriptions versions list --subscription-id "SUB_ID" --paginate --output json` - Subscription group versions: `asc subscriptions groups versions list --group-id "GROUP_ID" --paginate --output json` Resolve child localization or image IDs from the corresponding version subtree: - IAP localizations: `asc iap versions localizations list --version-id "VERSION_ID" --paginate --output json` - IAP primary image: `asc iap versions image --version-id "VERSION_ID" --output json` - IAP image collection: `asc iap versions images list --version-id "VERSION_ID" --paginate --output json` - Subscription localizations: `asc subscriptions versions localizations list --version-id "VERSION_ID" --paginate --output json` - Subscription primary image: `asc subscriptions versions images primary --version-id "VERSION_ID" --output json` - Subscription image collection: `asc subscriptions versions images list --version-id "VERSION_ID" --paginate --output json` - Subscription-group localizations: `asc subscriptions groups versions localizations list --version-id "VERSION_ID" --paginate --output json` ## TestFlight IDs - Groups: - `asc testflight groups list --app "APP_ID" --paginate` - Testers: - `asc testflight testers list --app "APP_ID" --paginate` ## Pre-release version IDs - `asc testflight pre-release list --app "APP_ID" --platform IOS --paginate` ## Review submission IDs - `asc review submissions list --app "APP_ID" --paginate` ## Output tips - Output defaults are TTY-aware: table in a terminal and minified JSON in pipes or CI. An explicit `--output` wins. - Use explicit `--output json` for automation and add `--pretty` only for human-readable JSON. - For human viewing, use `--output table` or `--output markdown`. ## Guardrails - Prefer `--paginate` on list commands to avoid missing IDs. - Use `--sort` where available to make results deterministic.
© rorkai · MIT · rorkai/app-store-connect-cli-skills