[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2XYFJRGNSB5KYJAJS23EN":3,"skill-same:01M6C2XYFJRGNSB5KYJAJS23EN":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":66},"01M6C2XYFJRGNSB5KYJAJS23EN","asc-after-approval-auto-release",null,"Forces App Store Connect releaseType AFTER_APPROVAL and releases PENDING_DEVELOPER_RELEASE versions via API. Use for Random Timer iOS publish automation, Fastlane automatic_release, appStoreVersionReleaseRequests, or when a version sits after Apple approval.","IgorGanapolsky\u002FRandom-Timer","IgorGanapolsky","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F201209?v=4","01M6C2WB7720K13ERYVB3AJ0SQ","Igor Ganapolsky","01M6C2WBBF0NWVQV4A89FS00Q5",1,"MIT","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.claude\u002Fskills\u002Fasc-after-approval-auto-release\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37],"release","approval","auto","asc after approval auto release","automation","connect","developer","publish","ios","api","use","version","random timer","timer","2026-11-10 10:12:30",false,"---\nname: asc-after-approval-auto-release\ndescription: >-\n  Forces App Store Connect releaseType AFTER_APPROVAL and releases PENDING_DEVELOPER_RELEASE\n  versions via API. Use for Random Timer iOS publish automation, Fastlane automatic_release,\n  appStoreVersionReleaseRequests, or when a version sits after Apple approval.\n---\n\n# ASC AFTER_APPROVAL auto-release\n\n## Goal\n\nRemove humans from the post-approval publish click for Random Timer iOS\n(`com.igorganapolsky.randomtimer`, ASC app id `6758355312`).\n\n## Primary path (preferred)\n\n1. Fastlane deliver \u002F `upload_to_app_store`: set **`automatic_release: true`**.\n2. That sets ASC **`releaseType: AFTER_APPROVAL`**.\n3. After App Review passes, Apple moves the version toward live (`READY_FOR_SALE` \u002F\n   `PENDING_APPLE_RELEASE` \u002F processing) **without** a developer click.\n\nVerify:\n\n```bash\npython3 scripts\u002Fasc\u002Fasc_poll_version_state.py --version \u003CX.Y.Z> --json\n# Prefer attributes including releaseType AFTER_APPROVAL when the poll script exposes it\n```\n\n## Safety net (MANUAL leftovers)\n\nIf state is **`PENDING_DEVELOPER_RELEASE`**:\n\n```bash\npython3 scripts\u002Fasc_release_version.py --version \u003CX.Y.Z> --json\n```\n\nThis POSTs `\u002Fv1\u002FappStoreVersionReleaseRequests` (Apple: manually release approved version).\nIdempotent if already `READY_FOR_SALE`.\n\nWire this into `store-release-watcher.yml` so cron fires the release — do not wait for\n`workflow_dispatch` on `ios-release-approved-version.yml`.\n\n## In-flight PATCH\n\nIf a version is already submitted with `releaseType: MANUAL` and ASC still allows edits:\n\n```bash\npython3 scripts\u002Fasc\u002Fasc_set_release_type.py --version \u003CX.Y.Z> --release-type AFTER_APPROVAL --json\n```\n\nIf PATCH is rejected while `WAITING_FOR_REVIEW` \u002F `IN_REVIEW`, keep the safety net;\ndo not cancel review just to flip the flag unless CEO orders it.\n\n## Evidence rules\n\n- Never claim LIVE until iTunes lookup or ASC state shows the version live.\n- Public listing lag (hours) ≠ not released — use ASC state as ground truth for release action.\n\n## Hard don'ts\n\n- Do not leave `automatic_release: false` in Fastfile for routine point releases.\n- Do not ask the CEO to open ASC and click Release This Version.\n- Do not watch only develop tip when an older marketing version is still in review.\n","# ASC AFTER_APPROVAL auto-release\n\n## Goal\n\nRemove humans from the post-approval publish click for Random Timer iOS\n(`com.igorganapolsky.randomtimer`, ASC app id `6758355312`).\n\n## Primary path (preferred)\n\n1. Fastlane deliver \u002F `upload_to_app_store`: set **`automatic_release: true`**.\n2. That sets ASC **`releaseType: AFTER_APPROVAL`**.\n3. After App Review passes, Apple moves the version toward live (`READY_FOR_SALE` \u002F\n   `PENDING_APPLE_RELEASE` \u002F processing) **without** a developer click.\n\nVerify:\n\n```bash\npython3 scripts\u002Fasc\u002Fasc_poll_version_state.py --version \u003CX.Y.Z> --json\n# Prefer attributes including releaseType AFTER_APPROVAL when the poll script exposes it\n```\n\n## Safety net (MANUAL leftovers)\n\nIf state is **`PENDING_DEVELOPER_RELEASE`**:\n\n```bash\npython3 scripts\u002Fasc_release_version.py --version \u003CX.Y.Z> --json\n```\n\nThis POSTs `\u002Fv1\u002FappStoreVersionReleaseRequests` (Apple: manually release approved version).\nIdempotent if already `READY_FOR_SALE`.\n\nWire this into `store-release-watcher.yml` so cron fires the release — do not wait for\n`workflow_dispatch` on `ios-release-approved-version.yml`.\n\n## In-flight PATCH\n\nIf a version is already submitted with `releaseType: MANUAL` and ASC still allows edits:\n\n```bash\npython3 scripts\u002Fasc\u002Fasc_set_release_type.py --version \u003CX.Y.Z> --release-type AFTER_APPROVAL --json\n```\n\nIf PATCH is rejected while `WAITING_FOR_REVIEW` \u002F `IN_REVIEW`, keep the safety net;\ndo not cancel review just to flip the flag unless CEO orders it.\n\n## Evidence rules\n\n- Never claim LIVE until iTunes lookup or ASC state shows the version live.\n- Public listing lag (hours) ≠ not released — use ASC state as ground truth for release action.\n\n## Hard don'ts\n\n- Do not leave `automatic_release: false` in Fastfile for routine point releases.\n- Do not ask the CEO to open ASC and click Release This Version.\n- Do not watch only develop tip when an older marketing version is still in review.\n",{"name":5,"description":7},"develop","4af946ac9a2b3cfbbe9b2e8696cc436f1d16e2e2",".claude\u002Fskills\u002Fasc-after-approval-auto-release",0,"https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer","https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Frandom-tactical-timer\u002Fid6758355312","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky","https:\u002F\u002Fwww.igorganapolsky.com","Forward Deploy AI Engineer. Automation specialist.\r\n","2026-11-09 23:14:20",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add IgorGanapolsky\u002FRandom-Timer --skill asc-after-approval-auto-release",{"tool":59,"command":60},"bunx","bunx skills add IgorGanapolsky\u002FRandom-Timer --skill asc-after-approval-auto-release",{"tool":62,"command":63},"pnpm","pnpm dlx skills add IgorGanapolsky\u002FRandom-Timer --skill asc-after-approval-auto-release","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.claude\u002Fskills\u002Fasc-after-approval-auto-release\u002FSKILL.md",true,[],[68,87,106,117,129,140],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":82,"publishedAt":38},"01M6C3CEGAENG02BPG636N9WG6","writing-plans","Use when you have a spec or requirements for a multi-step task, before touching code","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fwriting-plans\u002FSKILL.md",[74,79],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":80,"categoryName":81,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000036","内容创作者",[83,84,85,86,34],"writing plans","writing","spec","code",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":96,"publishedAt":38},"01M6C3CC40GJBTJQHQ5BF7CQN9","workflow-economics-lite","Escape AI pilot purgatory: require completion-loop workflows with one owner, baseline, economic metric, system-of-record integration, and audit trail. Block orphan chatbots and interest-as-ROI claims.","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fworkflow-economics-lite\u002FSKILL.md",[93],{"categoryNo":94,"categoryName":95,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000023","Skill与智能体开发",[97,98,99,100,101,102,103,104,105],"workflow economics lite","workflow","loop","roi","workflows","audit","integration","baseline","system",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":38},"01M6C3C9ESBW612NMMMBQDWSWR","verification-before-completion","Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fverification-before-completion\u002FSKILL.md",[],[113,114,34,115,116],"verification before completion","verification","evidence","work",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":38},"01M6C3C71DNQHJ6PGV0TN1R99N","value-center-lite","Apply InfoQ Rohrer value-center \u002F VSM five questions (agency + coherence). Use when planning work, shipping releases, or auditing agent autonomy claims. Fail closed on product-only slogans without WQTU\u002Fpaywall value.","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fvalue-center-lite\u002FSKILL.md",[],[124,125,34,116,126,127,128],"value center lite","only","product","shipping","planning",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":38},"01M6C3C41Q0R2J49F3Q4CQ004J","using-superpowers","Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fusing-superpowers\u002FSKILL.md",[],[136,137,34,138,139],"superpowers","using superpowers","find","how",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":38},"01M6C3C1EBYXRVMNHZZE9N49PN","using-git-worktrees","Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback","https:\u002F\u002Fgithub.com\u002FIgorGanapolsky\u002FRandom-Timer\u002Fblob\u002Fdevelop\u002F.cursor\u002Fskills\u002Fusing-git-worktrees\u002FSKILL.md",[],[147,148,149,150,151,152,153,116,34],"git","using git worktrees","git worktrees","git worktree","Tools","worktree","workspace"]