rorkai/asc-signing-setup
Set up bundle IDs, capabilities, signing certificates, provisioning profiles, and encrypted signing sync with the asc cli. Use when onboarding a new app, rotating signing assets, or sharing them across a team.
npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-signing-setup
Use this skill when you need to create or renew signing assets for iOS/macOS apps.
asc auth login or ASC_* env vars).asc certificates create --generate-csr create one.asc bundle-ids list --paginateasc bundle-ids create --identifier "com.example.app" --name "Example" --platform IOSasc bundle-ids capabilities list --bundle "BUNDLE_ID"asc bundle-ids capabilities add --bundle "BUNDLE_ID" --capability ICLOUD--settings '[{"key":"ICLOUD_VERSION","options":[{"key":"XCODE_13","enabled":true}]}]'asc certificates list --certificate-type IOS_DISTRIBUTIONasc certificates create --certificate-type IOS_DISTRIBUTION --csr "./cert.csr"asc certificates create --certificate-type IOS_DISTRIBUTION --generate-csr --key-out "./signing/dist.key" --csr-out "./signing/dist.csr"asc profiles create --name "AppStore Profile" --profile-type IOS_APP_STORE --bundle "BUNDLE_ID" --certificate "CERT_ID"asc profiles create --name "Dev Profile" --profile-type IOS_APP_DEVELOPMENT --bundle "BUNDLE_ID" --certificate "CERT_ID" --device "DEVICE_ID"asc profiles download --id "PROFILE_ID" --output "./profiles/AppStore.mobileprovision"asc profiles inspect --path "./profiles/AppStore.mobileprovision" --output tableasc profiles inspect --path "./profiles/AppStore.mobileprovision" --entitlements --output markdownasc profiles local install --path "./profiles/AppStore.mobileprovision"asc profiles local list --output tableasc certificates revoke --id "CERT_ID" --confirmasc profiles list --profile-state ACTIVE,INVALID --paginate --output jsonprofileState is not a complete expiration signal: some profiles can have a past expirationDate while still reporting ACTIVE. For true expired-profile audits, compare expirationDate against the current date instead of relying only on INVALID.asc profiles delete --id "PROFILE_ID" --confirmasc profiles local clean --expired --dry-runasc profiles local clean --expired --confirmasc signing syncUse this when you want a lightweight, non-interactive alternative to fastlane match for encrypted git-backed certificate/profile storage.
# Push current ASC signing assets into an encrypted git repo
asc signing sync push \
--bundle-id "com.example.app" \
--profile-type IOS_APP_STORE \
--repo "[email protected]:team/certs.git" \
--password "$MATCH_PASSWORD"
# Pull and decrypt them into a local directory
asc signing sync pull \
--repo "[email protected]:team/certs.git" \
--password "$MATCH_PASSWORD" \
--output-dir "./signing"
Notes:
--password falls back to ASC_MATCH_PASSWORD.pull writes files to disk; keychain import or profile installation is a separate step.--help for the exact enum values (certificate types, profile types).--paginate for large accounts.--certificate accepts comma-separated IDs when multiple certificates are required.asc devices commands (UDID required).asc profiles inspect and asc profiles local ... operate on local disk state, not App Store Connect API resources.Take rorkai/asc-signing-setup from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.