Agent Skillsrorkai/App-Store-Connect-CLI › release-asc-cli

release-asc-cli

GitHub

用于发布和验证 App-Store-Connect-CLI 新版本。执行语义版本解析、代码门禁检查、Git 标签创建、GitHub Actions 监控及多平台资产验证,确保发布流程完整且状态一致。

.agents/skills/release-asc-cli/SKILL.md rorkai/App-Store-Connect-CLI

Trigger Scenarios

用户明确要求发布特定版本的 ASC CLI 用户要求打标签或推送新发行版

Install

npx skills add rorkai/App-Store-Connect-CLI --skill release-asc-cli -g -y
More Options

Non-standard path

npx skills add https://github.com/rorkai/App-Store-Connect-CLI/tree/main/.agents/skills/release-asc-cli -g -y

Use without installing

npx skills use rorkai/App-Store-Connect-CLI@release-asc-cli

指定 Agent (Claude Code)

npx skills add rorkai/App-Store-Connect-CLI --skill release-asc-cli -a claude-code -g -y

安装 repo 全部 skill

npx skills add rorkai/App-Store-Connect-CLI --all -g -y

预览 repo 内 skill

npx skills add rorkai/App-Store-Connect-CLI --list

SKILL.md

Frontmatter
{
    "name": "release-asc-cli",
    "description": "Publish and verify a new release of the App-Store-Connect-CLI repository. Use only when the user explicitly asks to release, tag, or publish a specific ASC CLI version, including the full GitHub release, artifact, Homebrew, WinGet, cleanup, and release-announcement workflow."
}

Release the ASC CLI

Prove the release target

  1. Resolve the requested plain semantic version without a v prefix.
  2. Fetch origin and inspect the requested tag locally and remotely, any release, and its workflow runs before acting. For a new release, require the tag to be absent and inspect the release-worthy delta since the previous tag. When resuming, verify that the existing tag points to the previously approved release commit and resume only unfinished work; stop on a target mismatch.
  3. Query open PRs and confirm the intended changes are already merged.
  4. For a new release, create a clean detached worktree from the exact current origin/main commit. When resuming, use the tag's previously approved, verified release commit. Do not release from a dirty user checkout or an unmerged branch.
  5. Inspect .github/workflows/release.yml and current repository guidance instead of assuming an older release procedure still applies.

Run the release gate

For a new release, run and record the following checks. On resume, reuse completed checks only while their inputs remain valid under AGENTS.md; verify consumer-visible state freshly.

make format
make check-docs
make check-wall-of-apps
make lint
ASC_BYPASS_KEYCHAIN=1 make test
make build
./asc version

If formatting changes files, inspect the diff and stop the release gate. Prepare necessary corrections on a branch only when authorized; they must pass repository review and validation and merge through the normal PR process before restarting from the updated origin/main. Never tag a correction committed only in the detached release worktree. Stop on unexplained failures; do not tag around a broken gate.

Publish

  1. For a new release, refresh origin/main and reconfirm the worktree HEAD equals the intended current origin/main commit. If origin/main advanced, inspect the delta and restart target selection and the release gate in a clean detached worktree at the newly selected commit before tagging. Checks run in the old worktree do not validate the new commit.
  2. Create an annotated tag using the exact requested version and push that tag explicitly. On resume, reuse the verified existing tag: skip the push if the remote tag already matches; if only the local tag exists, push it only within the established release authority. Never replace a mismatched remote tag.
  3. Locate the tag-triggered GitHub Actions run and watch it through completion.
  4. Do not retry by silently moving or recreating a published tag. Diagnose failures and preserve the immutable release history.

Verify consumer-visible state

Verify:

  • The GitHub release is published, not draft or prerelease unless requested.
  • Expected macOS, Linux, Windows, and checksum assets exist.
  • A downloaded macOS binary reports the requested version and passes codesign --verify.
  • Downloaded artifact hashes match the published checksum file.
  • The Homebrew formula points to the new version and hashes.
  • The expected WinGet submission or PR exists and references the new version.
  • Any notarization step required by the current workflow succeeded.

If the winget job failed, inspect its rate-limit preflight, retry history, and current submission state first. For a transient failure, prefer one rerun of the failed job before manual repair; dispatch the full workflow only after confirming it will safely reuse the existing release. Wait for the logged reset time only when the primary quota bucket is zero; back off a few minutes for secondary throttles, 5xx responses, or transport failures. After a failed retry or a non-transient error, report the exact blocker instead of looping. See docs/WINGET.md.

Draft the announcement

Read references/release-announcement.md and prepare the announcement copy after the release is visibly published. Create an external Typefully draft only when the request or established context authorizes that write; otherwise return the copy locally. Never schedule or publish the post unless the user explicitly asks.

Clean up and hand off

Remove only a clean temporary release worktree created by this run as part of its authorized cleanup; preserve unexpected changes. Report the released commit and tag, release URL, artifact verification, Homebrew and WinGet state, remaining blockers, and announcement status separately. An optional external draft does not prevent reporting a verified binary release.

Automation boundary

Do not schedule unattended releases. After an explicitly initiated tag push, a thread heartbeat may watch the release run and finish authorized downstream verification. Save the version, immutable commit and tag, run IDs, completed checks, authority, next step, and retry history; create or reuse one heartbeat and end the turn. On wake, reconcile current state once, stay quiet and back off when unchanged, and disable the heartbeat on completion or a blocker requiring user action. Never use a heartbeat to recreate or move the tag.

Version History

  • 5.1.0 Current 2026-09-09 10:53

    新增对 Homebrew 公式指向及哈希的验证步骤;细化了暂停续传时的标签复用逻辑与冲突检测;更新 WinGet 相关文档以适配重试策略。

  • 3.1.1 2026-07-25 09:42

Same Skill Collection

.agents/skills/audit-asc-pr/SKILL.md
.agents/skills/develop-asc-change/SKILL.md
.agents/skills/review-wall-of-apps-prs/SKILL.md
.agents/skills/sync-asc-skills/SKILL.md
.agents/skills/triage-asc-issue/SKILL.md
.agents/skills/watch-asc-pr/SKILL.md

Metadata

Files
0
Version
5.1.0
Hash
c65c16a0
Indexed
2026-07-25 09:42

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-09-16 07:40
浙ICP备14020137号-1 $방문자$