{"id":"54b9dbad-4a04-4bf6-b694-7185ce90312c","shortId":"LQMUet","kind":"skill","title":"asc-release-flow","tagline":"Determine whether an app is ready to submit, then drive the App Store release flow with asc, including first-time submission fixes for availability, in-app purchases, subscriptions, Game Center, and App Privacy.","description":"# Release flow (readiness-first)\n\nUse this skill when the real question is \"Can my app be ready to submit?\" and then guide the user through the shortest path to a clean App Store submission, especially for first-time releases.\n\n## Preconditions\n- Ensure credentials are set (`asc auth login` or `ASC_*` env vars).\n- Resolve app ID, version string, and build ID up front.\n- For lower-level or first-time flows, also be ready to resolve `VERSION_ID`, `SUBMISSION_ID`, `DETAIL_ID`, `GROUP_ID`, `SUB_ID`, `IAP_ID`, and related resource IDs. Use `asc-id-resolver` when needed.\n- Have a metadata directory ready if you plan to use `asc release stage` or `asc release run`.\n- If you use experimental web-session commands, use a user-owned Apple Account session and treat those commands as optional escape hatches, not the default path.\n\n## How to answer\nWhen using this skill, answer readiness questions in this order:\n1. Is the app ready right now, or not yet?\n2. What are the blocking issues?\n3. Which blockers are API-fixable vs web-session-fixable?\n4. What exact command should run next?\n\nGroup blockers like this:\n- API-fixable: build validity, metadata, screenshots, review details, content rights, encryption, version/build attachment, IAP readiness, Game Center version and review-submission setup.\n- Web-session-fixable: initial app availability bootstrap, first-review subscription attachment, App Privacy publish state.\n- Manual fallback: first-time IAP selection from the app-version screen when no CLI attach flow exists, or any flow the user does not want to run through experimental web-session commands.\n\n## Canonical path\n\n### 1. Fast readiness check\nRun this first when the user wants the quickest answer to \"can I submit now?\":\n\n```bash\nasc submit preflight --app \"APP_ID\" --version \"1.2.3\" --platform IOS\n```\n\nThis is the fastest high-signal readiness check and prints fix guidance without mutating anything.\n\n### 2. Real staging pass without submit\nRun this when the user wants the version prepared in App Store Connect but wants a manual checkpoint before creating a review submission:\n\n```bash\nasc release stage \\\n  --app \"APP_ID\" \\\n  --version \"1.2.3\" \\\n  --build \"BUILD_ID\" \\\n  --metadata-dir \"./metadata/version/1.2.3\" \\\n  --confirm\n```\n\nUse `--copy-metadata-from \"1.2.2\"` instead of `--metadata-dir` when you want to carry metadata forward from an existing version. `asc release stage` requires exactly one metadata source and stops before submit.\n\n### 3. Full-pipeline dry run\nRun this when the user wants one command that approximates the whole release path:\n\n```bash\nasc release run \\\n  --app \"APP_ID\" \\\n  --version \"1.2.3\" \\\n  --build \"BUILD_ID\" \\\n  --metadata-dir \"./metadata/version/1.2.3\" \\\n  --dry-run \\\n  --output table\n```\n\nThis is the best single-command rehearsal for:\n1. ensuring or creating the version\n2. applying metadata and localizations\n3. attaching the build\n4. running readiness checks\n5. confirming the submission path is coherent\n\nAdd `--strict-validate` when you want warnings treated as blockers.\n\n### 4. Deep API readiness audit\nRun this when the user needs a fuller version-level checklist than `submit preflight`:\n\n```bash\nasc validate --app \"APP_ID\" --version \"1.2.3\" --platform IOS --output table\n```\n\nPrefer the version string form here so it stays aligned with `asc submit preflight` and `asc release run`. Switch to `VERSION_ID` only for lower-level commands that explicitly require it.\n\nIf the app sells digital goods, also run:\n\n```bash\nasc validate iap --app \"APP_ID\" --output table\nasc validate subscriptions --app \"APP_ID\" --output table\n```\n\nIn current asc, `asc validate subscriptions` expands `MISSING_METADATA` into per-subscription diagnostics. Use it to pinpoint missing review screenshots, promotional images, pricing or availability coverage, offer readiness, and app/build evidence before you retry submission or `attach-group`.\n\nWhen territory coverage is wrong, the newest diagnostics name the exact missing territories instead of only reporting count mismatches. Use `--output json --pretty` when you want machine-readable diagnostics.\n\n### 5. Actual submit\nWhen the dry run looks clean:\n\n```bash\nasc release run \\\n  --app \"APP_ID\" \\\n  --version \"1.2.3\" \\\n  --build \"BUILD_ID\" \\\n  --metadata-dir \"./metadata/version/1.2.3\" \\\n  --confirm\n```\n\n## First-time submission blockers\n\n### 1. Initial app availability does not exist yet\nSymptoms:\n- `asc pricing availability view --app \"APP_ID\"` reports no availability\n- `asc pricing availability edit ...` fails because it only updates existing availability\n\nCheck:\n\n```bash\nasc pricing availability view --app \"APP_ID\"\n```\n\nBootstrap the first availability record with the experimental web-session flow:\n\n```bash\nasc web apps availability create \\\n  --app \"APP_ID\" \\\n  --territory \"USA,GBR\" \\\n  --available-in-new-territories true\n```\n\nAfter bootstrap, use the normal public API command for ongoing updates:\n\n```bash\nasc pricing availability edit \\\n  --app \"APP_ID\" \\\n  --territory \"USA,GBR\" \\\n  --available true \\\n  --available-in-new-territories true\n```\n\n### 2. Subscriptions are READY_TO_SUBMIT but not attached to first review\nFor apps with subscriptions, check readiness explicitly:\n\n```bash\nasc validate subscriptions --app \"APP_ID\" --output table\n```\n\nIf the validator shows `MISSING_METADATA`, read the row-level diagnostics literally. The newest CLI surfaces missing promotional images, review screenshots, pricing or availability coverage, offer readiness, and app/build evidence in one matrix, which is the quickest way to understand why first-review attach still fails.\n\nList current first-review subscription state:\n\n```bash\nasc web review subscriptions list --app \"APP_ID\"\n```\n\nIf the app is going through its first review and the group needs attaching:\n\n```bash\nasc web review subscriptions attach-group \\\n  --app \"APP_ID\" \\\n  --group-id \"GROUP_ID\" \\\n  --confirm\n```\n\nIf `attach-group` still returns `MISSING_METADATA`, fix the validator-reported prerequisites first. The most common misses are broad pricing coverage and a subscription promotional image.\n\nFor one subscription instead of a whole group:\n\n```bash\nasc web review subscriptions attach \\\n  --app \"APP_ID\" \\\n  --subscription-id \"SUB_ID\" \\\n  --confirm\n```\n\nFor later reviews, use the normal submission path:\n\n```bash\nasc subscriptions review submit --subscription-id \"SUB_ID\" --confirm\n```\n\nIf review artifacts are missing, upload them before submission:\n\n```bash\nasc subscriptions review screenshots create --subscription-id \"SUB_ID\" --file \"./screenshot.png\"\nasc subscriptions images create --subscription-id \"SUB_ID\" --file \"./image.png\"\n```\n\nAlso make sure the app’s privacy policy URL is populated when the app sells subscriptions.\n\n### 3. In-App Purchases need review readiness or first-version inclusion\nFor apps with one-time purchases, consumables, or non-consumables, check readiness explicitly:\n\n```bash\nasc validate iap --app \"APP_ID\" --output table\n```\n\nIf the IAP is missing its App Review screenshot:\n\n```bash\nasc iap review-screenshots create --iap-id \"IAP_ID\" --file \"./review.png\"\n```\n\nFor IAPs on a published app, submit them directly:\n\n```bash\nasc iap submit --iap-id \"IAP_ID\" --confirm\n```\n\nIf this is the first IAP for the app, or the first time adding a new IAP type, Apple requires it to be included with a new app version. Current `asc` commands can validate and submit published-app IAPs, but there is no equivalent first-review attach flow like the subscription web commands yet. In that case:\n- prepare the IAP with `asc validate iap`, pricing, localization, and review screenshot data first\n- then select the IAP from the app version’s “In-App Purchases and Subscriptions” section in App Store Connect before submitting the app version\n\nAlso make sure the app’s privacy policy URL is populated when the app sells IAPs.\n\n### 4. Game Center is enabled but the app version or review submission is incomplete\nIf the app uses Game Center, make sure the App Store version is Game Center-enabled:\n\n```bash\nasc game-center app-versions list --app \"APP_ID\"\nasc game-center app-versions create --app-store-version-id \"VERSION_ID\"\n```\n\nIf you are adding Game Center components for the first time, include them in the same submission as the app version. Resolve component version IDs first:\n\n```bash\nasc game-center achievements v2 versions list --achievement-id \"ACH_ID\"\nasc game-center leaderboards v2 versions list --leaderboard-id \"LEADERBOARD_ID\"\nasc game-center challenges versions list --challenge-id \"CHALLENGE_ID\"\nasc game-center activities versions list --activity-id \"ACTIVITY_ID\"\n```\n\nThen use the review-submission flow so you can add the app version and the Game Center component versions to the same submission:\n\n```bash\nasc review submissions-create --app \"APP_ID\" --platform IOS\nasc review items-add --submission \"SUBMISSION_ID\" --item-type appStoreVersions --item-id \"VERSION_ID\"\nasc review items-add --submission \"SUBMISSION_ID\" --item-type gameCenterLeaderboardVersions --item-id \"GC_LEADERBOARD_VERSION_ID\"\nasc review submissions-submit --id \"SUBMISSION_ID\" --confirm\n```\n\n`asc review items-add` also supports `gameCenterAchievementVersions`, `gameCenterActivityVersions`, `gameCenterChallengeVersions`, and `gameCenterLeaderboardSetVersions`.\n\nIf Game Center component versions need to ship with the app version, prefer the explicit `asc review submissions-*` flow over `asc release run --confirm`, because you need a chance to add all submission items before final submit.\n\n### 5. App Privacy is still unpublished\nThe public API can warn about App Privacy readiness but cannot fully verify publish state.\n\nIf `asc submit preflight`, `asc validate`, or `asc release run` surfaces an App Privacy advisory, reconcile it with:\n\n```bash\nasc web privacy pull --app \"APP_ID\" --out \"./privacy.json\"\nasc web privacy plan --app \"APP_ID\" --file \"./privacy.json\"\nasc web privacy apply --app \"APP_ID\" --file \"./privacy.json\"\nasc web privacy publish --app \"APP_ID\" --confirm\n```\n\nIf the user does not want the experimental web-session flow, confirm App Privacy manually in App Store Connect:\n\n```text\nhttps://appstoreconnect.apple.com/apps/APP_ID/appPrivacy\n```\n\n### 6. Review details are incomplete\nCheck whether the version already has review details:\n\n```bash\nasc review details-for-version --version-id \"VERSION_ID\"\n```\n\nIf needed, create or update them:\n\n```bash\nasc review details-create \\\n  --version-id \"VERSION_ID\" \\\n  --contact-first-name \"Dev\" \\\n  --contact-last-name \"Support\" \\\n  --contact-email \"dev@example.com\" \\\n  --contact-phone \"+1 555 0100\" \\\n  --notes \"Explain the reviewer access path here.\"\n```\n\n```bash\nasc review details-update \\\n  --id \"DETAIL_ID\" \\\n  --notes \"Updated reviewer instructions.\"\n```\n\nOnly set `--demo-account-required=true` when App Review truly needs demo credentials.\n\n## Practical readiness checklist\nAn app is effectively ready to submit when:\n- `asc submit preflight --app \"APP_ID\" --version \"VERSION\"` reports no blocking issues\n- `asc validate --app \"APP_ID\" --version \"VERSION\"` is clean or only contains understood non-blocking warnings\n- `asc release stage --confirm` successfully prepared the target version when you want a real pre-submit checkpoint\n- `asc release run ... --dry-run` produces the expected plan\n- the build is `VALID` and attached to the target version\n- metadata, screenshots, and localizations are complete\n- content rights and encryption requirements are resolved\n- review details are present\n- app availability exists\n- if the app has IAPs or subscriptions, the privacy policy URL is present\n- if the app has IAPs, they have localization/pricing/review screenshots and first-time IAPs are selected with the app version\n- subscriptions, if any, are attached for first review or already submitted through the supported review path\n- if the app uses Game Center, the app version is Game Center-enabled and any required Game Center component versions are in the same review submission\n- any App Privacy advisory has been resolved through `asc web privacy ...` or manual confirmation\n\n## Lower-level fallback\nUse the lower-level flow only when the user needs explicit control over each step:\n\n```bash\nasc versions attach-build --version-id \"VERSION_ID\" --build \"BUILD_ID\"\nasc submit preflight --app \"APP_ID\" --version \"1.2.3\" --platform IOS\nasc submit create --app \"APP_ID\" --version \"1.2.3\" --build \"BUILD_ID\" --confirm\nasc submit status --version-id \"VERSION_ID\"\n# or, if you captured the review submission ID:\nasc submit status --id \"SUBMISSION_ID\"\n```\n\nIf the submission needs multiple review items, such as Game Center component versions, use the review-submission API directly instead:\n\n```bash\nasc review submissions-create --app \"APP_ID\" --platform IOS\nasc review items-add --submission \"SUBMISSION_ID\" --item-type appStoreVersions --item-id \"VERSION_ID\"\nasc review items-add --submission \"SUBMISSION_ID\" --item-type gameCenterChallengeVersions --item-id \"GC_CHALLENGE_VERSION_ID\"\nasc review submissions-submit --id \"SUBMISSION_ID\" --confirm\n```\n\n## Platform notes\n- Use `--platform MAC_OS`, `TV_OS`, or `VISION_OS` as needed.\n- For macOS, upload the `.pkg` separately, then use the same readiness and submission flow.\n- `asc publish testflight` is still the fastest TestFlight shortcut, but for App Store readiness prefer `asc submit preflight`, `asc release stage`, and `asc release run`.\n\n## Notes\n- `asc release stage --confirm` is the safest one-command way to prepare a version without submitting it.\n- `asc release run --dry-run` is the closest thing to a one-command answer for \"will this full release flow work?\"\n- `asc submit preflight` is the fastest first pass.\n- `asc validate` is the deeper API-side checklist for version readiness.\n- `asc validate subscriptions` now exposes much richer per-subscription diagnostics for `MISSING_METADATA` readiness failures.\n- Web-session commands are experimental and should be presented as optional escape hatches when the public API cannot complete the first-time flow.\n- First-time app-availability bootstrap now goes through the experimental `asc web apps availability create` flow or App Store Connect itself.\n- First-review subscriptions have a concrete CLI attach path; first-review IAP selection still may require the App Store Connect version UI.\n- Game Center can require explicit review-submission item management when components must ride with the app version.\n- If the user asks \"why did submission fail?\" map the failure back into the three buckets above: API-fixable, web-session-fixable, or manual fallback.","tags":["asc","release","flow","app","store","connect","cli","skills","rorkai","agent-skills","ai-skills","app-store-connect"],"capabilities":["skill","source-rorkai","skill-asc-release-flow","topic-agent-skills","topic-ai-skills","topic-app-store-connect","topic-apple","topic-asc","topic-automation","topic-cicd","topic-cli","topic-devops","topic-ios","topic-macos","topic-testflight"],"categories":["app-store-connect-cli-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/rorkai/app-store-connect-cli-skills/asc-release-flow","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add rorkai/app-store-connect-cli-skills","source_repo":"https://github.com/rorkai/app-store-connect-cli-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 776 github stars · SKILL.md body (14,565 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T18:53:02.479Z","embedding":null,"createdAt":"2026-04-18T21:56:48.284Z","updatedAt":"2026-05-02T18:53:02.479Z","lastSeenAt":"2026-05-02T18:53:02.479Z","tsv":"'+1':1674 '/apps/app_id/appprivacy':1614 '/image.png':1042 '/metadata/version/1.2.3':405,476,711 '/privacy.json':1564,1573,1582 '/review.png':1118 '/screenshot.png':1031 '0100':1676 '1':198,315,491,718 '1.2.2':412 '1.2.3':342,398,469,555,704,1940,1950 '2':208,361,497,817 '3':214,441,502,1059 '4':226,506,528,1252 '5':510,687,1516 '555':1675 '6':1615 'access':1681 'account':171,1701 'ach':1348 'achiev':1341,1346 'achievement-id':1345 'activ':1379,1383,1385 'activity-id':1382 'actual':688 'ad':1151,1313 'add':517,1397,1426,1443,1471,1509,2013,2030 'advisori':1551,1888 'align':569 'alreadi':1624,1851 'also':112,598,1043,1236,1472 'answer':187,192,328,2140 'anyth':360 'api':219,238,530,793,1524,1995,2162,2201,2292 'api-fix':218,237,2291 'api-sid':2161 'app':8,16,32,38,55,72,94,201,266,274,288,338,339,377,394,395,465,466,551,552,594,604,605,612,613,700,701,720,731,732,754,755,772,775,776,803,804,830,840,841,906,907,911,931,932,982,983,1047,1056,1062,1073,1091,1092,1102,1124,1146,1165,1176,1217,1222,1228,1234,1240,1249,1259,1268,1275,1289,1292,1293,1300,1304,1329,1399,1417,1418,1489,1517,1528,1549,1560,1561,1569,1570,1578,1579,1587,1588,1604,1608,1705,1715,1725,1726,1736,1737,1806,1811,1824,1840,1860,1865,1886,1936,1937,1946,1947,2004,2005,2092,2213,2223,2228,2251,2272 'app-avail':2212 'app-store-version-id':1303 'app-vers':287,1288,1299 'app/build':647,874 'appl':170,1156 'appli':498,1577 'approxim':456 'appstoreconnect.apple.com':1613 'appstoreconnect.apple.com/apps/app_id/appprivacy':1612 'appstorevers':1433,2020 'artifact':1012 'asc':2,21,86,90,135,150,154,335,391,429,462,549,571,575,601,609,619,620,697,727,737,750,770,799,837,901,924,977,1000,1020,1032,1088,1106,1129,1168,1201,1284,1295,1337,1350,1363,1375,1412,1422,1439,1458,1467,1494,1499,1538,1541,1544,1556,1565,1574,1583,1629,1647,1685,1722,1734,1751,1769,1893,1920,1933,1943,1955,1971,1999,2009,2026,2045,2081,2096,2099,2103,2107,2125,2148,2156,2168,2221 'asc-id-resolv':134 'asc-release-flow':1 'ask':2277 'attach':250,273,294,503,655,825,890,922,929,942,981,1186,1784,1846,1923,2240 'attach-build':1922 'attach-group':654,928,941 'audit':532 'auth':87 'avail':29,267,642,721,729,736,739,747,752,760,773,782,801,809,812,869,1807,2214,2224 'available-in-new-territori':781,811 'back':2285 'bash':334,390,461,548,600,696,749,769,798,836,900,923,976,999,1019,1087,1105,1128,1283,1336,1411,1555,1628,1646,1684,1919,1998 'best':485 'block':212,1732,1749 'blocker':216,234,527,717 'bootstrap':268,757,788,2215 'broad':960 'bucket':2289 'build':99,240,399,400,470,471,505,705,706,1780,1924,1930,1931,1951,1952 'cannot':1532,2202 'canon':313 'captur':1966 'carri':422 'case':1196 'center':36,254,1254,1271,1281,1287,1298,1315,1340,1353,1366,1378,1404,1481,1863,1870,1876,1987,2257 'center-en':1280,1869 'challeng':1367,1371,1373,2042 'challenge-id':1370 'chanc':1507 'check':318,353,509,748,833,1084,1620 'checklist':544,1713,2164 'checkpoint':384,1768 'clean':71,695,1742 'cli':293,860,2239 'closest':2133 'coher':516 'command':164,176,229,312,454,488,587,794,1169,1192,2116,2139,2187 'common':957 'complet':1794,2203 'compon':1316,1332,1405,1482,1877,1988,2267 'concret':2238 'confirm':406,511,712,939,990,1009,1137,1466,1502,1590,1603,1754,1898,1954,2053,2110 'connect':379,1230,1610,2230,2253 'consum':1079,1083 'contact':1658,1663,1668,1672 'contact-email':1667 'contact-first-nam':1657 'contact-last-nam':1662 'contact-phon':1671 'contain':1745 'content':246,1795 'control':1915 'copi':409 'copy-metadata-from':408 'count':674 'coverag':643,659,870,962 'creat':386,494,774,1024,1035,1111,1302,1416,1642,1651,1945,2003,2225 'credenti':83,1710 'current':618,894,1167 'data':1209 'deep':529 'deeper':2160 'default':183 'demo':1700,1709 'demo-account-requir':1699 'detail':121,245,1617,1627,1632,1650,1688,1691,1803 'details-cr':1649 'details-for-vers':1631 'details-upd':1687 'determin':5 'dev':1661 'dev@example.com':1670 'diagnost':630,664,686,856,2178 'digit':596 'dir':404,417,475,710 'direct':1127,1996 'directori':143 'dri':445,478,692,1773,2129 'drive':14 'dry-run':477,1772,2128 'edit':740,802 'effect':1717 'email':1669 'enabl':1256,1282,1871 'encrypt':248,1798 'ensur':82,492 'env':91 'equival':1182 'escap':179,2196 'especi':75 'evid':648,875 'exact':228,433,667 'exist':296,427,724,746,1808 'expand':623 'expect':1777 'experiment':160,308,764,1598,2189,2220 'explain':1678 'explicit':589,835,1086,1493,1914,2260 'expos':2172 'fail':741,892,2281 'failur':2183,2284 'fallback':279,1902,2300 'fast':316 'fastest':348,2087,2153 'file':1030,1041,1117,1572,1581 'final':1514 'first':24,44,78,109,270,281,321,714,759,827,888,896,916,954,1069,1142,1149,1184,1210,1319,1335,1659,1833,1848,2154,2206,2210,2233,2243 'first-review':269,887,895,1183,2232,2242 'first-tim':23,77,108,280,713,1832,2205,2209 'first-vers':1068 'fix':27,356,948 'fixabl':220,225,239,264,2293,2297 'flow':4,19,41,111,295,299,768,1187,1393,1497,1602,1908,2080,2146,2208,2226 'form':564 'forward':424 'front':102 'full':443,2144 'full-pipelin':442 'fuller':540 'fulli':1533 'game':35,253,1253,1270,1279,1286,1297,1314,1339,1352,1365,1377,1403,1480,1862,1868,1875,1986,2256 'game-cent':1285,1296,1338,1351,1364,1376 'gamecenterachievementvers':1474 'gamecenteractivityvers':1475 'gamecenterchallengevers':1476,2037 'gamecenterleaderboardsetvers':1478 'gamecenterleaderboardvers':1450 'gbr':780,808 'gc':1454,2041 'go':913 'goe':2217 'good':597 'group':123,233,656,920,930,935,937,943,975 'group-id':934 'guid':62 'guidanc':357 'hatch':180,2197 'high':350 'high-sign':349 'iap':127,251,283,603,1090,1098,1107,1113,1115,1120,1130,1133,1135,1143,1154,1177,1199,1203,1214,1251,1813,1826,1835,2245 'iap-id':1112,1132 'id':95,100,118,120,122,124,126,128,132,136,340,396,401,467,472,553,581,606,614,702,707,733,756,777,805,842,908,933,936,938,984,987,989,1006,1008,1027,1029,1038,1040,1093,1114,1116,1134,1136,1294,1307,1309,1334,1347,1349,1360,1362,1372,1374,1384,1386,1419,1429,1436,1438,1446,1453,1457,1463,1465,1562,1571,1580,1589,1637,1639,1654,1656,1690,1692,1727,1738,1927,1929,1932,1938,1948,1953,1960,1962,1970,1974,1976,2006,2016,2023,2025,2033,2040,2044,2050,2052 'imag':639,864,967,1034 'in-app':30,1060,1220 'includ':22,1161,1321 'inclus':1071 'incomplet':1265,1619 'initi':265,719 'instead':413,670,971,1997 'instruct':1696 'io':344,557,1421,1942,2008 'issu':213,1733 'item':1425,1431,1435,1442,1448,1452,1470,1512,1983,2012,2018,2022,2029,2035,2039,2264 'item-id':1434,1451,2021,2038 'item-typ':1430,1447,2017,2034 'items-add':1424,1441,1469,2011,2028 'json':678 'last':1664 'later':992 'leaderboard':1354,1359,1361,1455 'leaderboard-id':1358 'level':106,543,586,855,1901,1907 'like':235,1188 'list':893,905,1291,1344,1357,1369,1381 'liter':857 'local':501,1205,1792 'localization/pricing/review':1829 'login':88 'look':694 'lower':105,585,1900,1906 'lower-level':104,584,1899,1905 'mac':2058 'machin':684 'machine-read':683 'maco':2068 'make':1044,1237,1272 'manag':2265 'manual':278,383,1606,1897,2299 'map':2282 'matrix':878 'may':2248 'metadata':142,242,403,410,416,423,435,474,499,625,709,850,947,1789,2181 'metadata-dir':402,415,473,708 'mismatch':675 'miss':624,635,668,849,862,946,958,1014,1100,2180 'much':2173 'multipl':1981 'must':2268 'mutat':359 'name':665,1660,1665 'need':139,538,921,1064,1484,1505,1641,1708,1913,1980,2066 'new':784,814,1153,1164 'newest':663,859 'next':232 'non':1082,1748 'non-block':1747 'non-consum':1081 'normal':791,996 'note':1677,1693,2055,2106 'offer':644,871 'one':434,453,877,969,1076,2115,2138 'one-command':2114,2137 'one-tim':1075 'ongo':796 'option':178,2195 'order':197 'os':2059,2061,2064 'output':480,558,607,615,677,843,1094 'own':169 'pass':364,2155 'path':68,184,314,460,514,998,1682,1857,2241 'per':628,2176 'per-subscript':627,2175 'phone':1673 'pinpoint':634 'pipelin':444 'pkg':2071 'plan':147,1568,1778 'platform':343,556,1420,1941,2007,2054,2057 'polici':1050,1243,1818 'popul':1053,1246 'practic':1711 'pre':1766 'pre-submit':1765 'precondit':81 'prefer':560,1491,2095 'preflight':337,547,573,1540,1724,1935,2098,2150 'prepar':375,1197,1756,2119 'prerequisit':953 'present':1805,1821,2193 'pretti':679 'price':640,728,738,751,800,867,961,1204 'print':355 'privaci':39,275,1049,1242,1518,1529,1550,1558,1567,1576,1585,1605,1817,1887,1895 'produc':1775 'promot':638,863,966 'public':792,1523,2200 'publish':276,1123,1175,1535,1586,2082 'published-app':1174 'pull':1559 'purchas':33,1063,1078,1223 'question':51,194 'quickest':327,882 'read':851 'readabl':685 'readi':10,43,57,114,144,193,202,252,317,352,508,531,645,820,834,872,1066,1085,1530,1712,1718,2077,2094,2167,2182 'readiness-first':42 'real':50,362,1764 'reconcil':1552 'record':761 'rehears':489 'relat':130 'releas':3,18,40,80,151,155,392,430,459,463,576,698,1500,1545,1752,1770,2100,2104,2108,2126,2145 'report':673,734,952,1730 'requir':432,590,1157,1702,1799,1874,2249,2259 'resolv':93,116,137,1331,1801,1891 'resourc':131 'retri':651 'return':945 'review':244,258,271,388,636,828,865,889,897,903,917,926,979,993,1002,1011,1022,1065,1103,1109,1185,1207,1262,1391,1413,1423,1440,1459,1468,1495,1616,1626,1630,1648,1680,1686,1695,1706,1802,1849,1856,1883,1968,1982,1993,2000,2010,2027,2046,2234,2244,2262 'review-screenshot':1108 'review-submiss':257,1390,1992,2261 'richer':2174 'ride':2269 'right':203,247,1796 'row':854 'row-level':853 'run':156,231,306,319,367,446,447,464,479,507,533,577,599,693,699,1501,1546,1771,1774,2105,2127,2130 'safest':2113 'screen':290 'screenshot':243,637,866,1023,1104,1110,1208,1790,1830 'section':1226 'select':284,1212,1837,2246 'sell':595,1057,1250 'separ':2072 'session':163,172,224,263,311,767,1601,2186,2296 'set':85,1698 'setup':260 'ship':1486 'shortcut':2089 'shortest':67 'show':848 'side':2163 'signal':351 'singl':487 'single-command':486 'skill':47,191 'skill-asc-release-flow' 'sourc':436 'source-rorkai' 'stage':152,363,393,431,1753,2101,2109 'state':277,899,1536 'status':1957,1973 'stay':568 'step':1918 'still':891,944,1520,2085,2247 'stop':438 'store':17,73,378,1229,1276,1305,1609,2093,2229,2252 'strict':519 'strict-valid':518 'string':97,563 'sub':125,988,1007,1028,1039 'submiss':26,74,119,259,389,513,652,716,997,1018,1263,1326,1392,1410,1415,1427,1428,1444,1445,1461,1464,1496,1511,1884,1969,1975,1979,1994,2002,2014,2015,2031,2032,2048,2051,2079,2263,2280 'submissions-cr':1414,2001 'submissions-submit':1460,2047 'submit':12,59,332,336,366,440,546,572,689,822,1003,1125,1131,1173,1232,1462,1515,1539,1720,1723,1767,1852,1934,1944,1956,1972,2049,2097,2123,2149 'subscript':34,272,611,622,629,818,832,839,898,904,927,965,970,980,986,1001,1005,1021,1026,1033,1037,1058,1190,1225,1815,1842,2170,2177,2235 'subscription-id':985,1004,1025,1036 'success':1755 'support':1473,1666,1855 'sure':1045,1238,1273 'surfac':861,1547 'switch':578 'symptom':726 'tabl':481,559,608,616,844,1095 'target':1758,1787 'territori':658,669,778,785,806,815 'testflight':2083,2088 'text':1611 'thing':2134 'three':2288 'time':25,79,110,282,715,1077,1150,1320,1834,2207,2211 'topic-agent-skills' 'topic-ai-skills' 'topic-app-store-connect' 'topic-apple' 'topic-asc' 'topic-automation' 'topic-cicd' 'topic-cli' 'topic-devops' 'topic-ios' 'topic-macos' 'topic-testflight' 'treat':174,525 'true':786,810,816,1703 'truli':1707 'tv':2060 'type':1155,1432,1449,2019,2036 'ui':2255 'understand':885 'understood':1746 'unpublish':1521 'updat':745,797,1644,1689,1694 'upload':1015,2069 'url':1051,1244,1819 'usa':779,807 'use':45,133,149,159,165,189,407,631,676,789,994,1269,1388,1861,1903,1990,2056,2074 'user':64,168,301,324,371,451,537,1593,1912,2276 'user-own':167 'v2':1342,1355 'valid':241,520,550,602,610,621,838,847,951,1089,1171,1202,1542,1735,1782,2157,2169 'validator-report':950 'var':92 'verifi':1534 'version':96,117,255,289,341,374,397,428,468,496,542,554,562,580,703,1070,1166,1218,1235,1260,1277,1290,1301,1306,1308,1330,1333,1343,1356,1368,1380,1400,1406,1437,1456,1483,1490,1623,1634,1636,1638,1653,1655,1728,1729,1739,1740,1759,1788,1841,1866,1878,1921,1926,1928,1939,1949,1959,1961,1989,2024,2043,2121,2166,2254,2273 'version-id':1635,1652,1925,1958 'version-level':541 'version/build':249 'view':730,753 'vision':2063 'vs':221 'want':304,325,372,381,420,452,523,682,1596,1762 'warn':524,1526,1750 'way':883,2117 'web':162,223,262,310,766,771,902,925,978,1191,1557,1566,1575,1584,1600,1894,2185,2222,2295 'web-sess':161,309,765,1599,2184 'web-session-fix':222,261,2294 'whether':6,1621 'whole':458,974 'without':358,365,2122 'work':2147 'wrong':661 'yet':207,725,1193","prices":[{"id":"8e2d0c6e-8c03-4e96-9763-76f0d8d08f98","listingId":"54b9dbad-4a04-4bf6-b694-7185ce90312c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"rorkai","category":"app-store-connect-cli-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:56:48.284Z"}],"sources":[{"listingId":"54b9dbad-4a04-4bf6-b694-7185ce90312c","source":"github","sourceId":"rorkai/app-store-connect-cli-skills/asc-release-flow","sourceUrl":"https://github.com/rorkai/app-store-connect-cli-skills/tree/main/skills/asc-release-flow","isPrimary":false,"firstSeenAt":"2026-04-18T21:56:48.284Z","lastSeenAt":"2026-05-02T18:53:02.479Z"}],"details":{"listingId":"54b9dbad-4a04-4bf6-b694-7185ce90312c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"rorkai","slug":"asc-release-flow","github":{"repo":"rorkai/app-store-connect-cli-skills","stars":776,"topics":["agent-skills","ai-skills","app-store-connect","apple","asc","automation","cicd","cli","devops","ios","macos","testflight","xcode"],"license":"mit","html_url":"https://github.com/rorkai/app-store-connect-cli-skills","pushed_at":"2026-04-24T08:59:37Z","description":"Skills to automate app store deployed and everything related to it using the asc cli","skill_md_sha":"5a43c3e711371efe8e1f0ba5a26573e7d09b1945","skill_md_path":"skills/asc-release-flow/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/rorkai/app-store-connect-cli-skills/tree/main/skills/asc-release-flow"},"layout":"multi","source":"github","category":"app-store-connect-cli-skills","frontmatter":{"name":"asc-release-flow","description":"Determine whether an app is ready to submit, then drive the App Store release flow with asc, including first-time submission fixes for availability, in-app purchases, subscriptions, Game Center, and App Privacy."},"skills_sh_url":"https://skills.sh/rorkai/app-store-connect-cli-skills/asc-release-flow"},"updatedAt":"2026-05-02T18:53:02.479Z"}}