Agent skill

Release Asc CLI

by rorkai in rorkai/App-Store-Connect-CLI

Publish and verify a new release of the App-Store-Connect-CLI repository.

MITAuto-check passedMobile

Install Release Asc CLI

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

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rorkai/App-Store-Connect-CLI release-asc-cli --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rorkai/App-Store-Connect-CLI.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release-asc-cli .claude/skills/release-asc-cli && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release-asc-cli
GitHub stars
7.7k
Token cost
~2.4k tokens
SKILL.md length
1,272 words
Files
3 (incl. references)
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Publish and verify a new release of the App-Store-Connect-CLI repository.

  • Works in 5 steps: Resolve the requested plain semantic… → Fetch origin and inspect the requested… → Query open PRs and confirm the intended… → …
  • Explicitly asks to release
  • SKILL.md covers Prove the release target, Run the release gate, Publish and Verify consumer-visible state, plus 4 more sections
  • Calls make, pnpm and git

What it does

Release Asc CLI is an agent skill from rorkai/App-Store-Connect-CLI. 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.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `agents/openai.yaml` and `references/release-announcement.md`).

It sits in Mobile, covering App store release and Changelog and release notes. It works with App Store Connect, GitHub and Homebrew. The repository describes itself as: Fast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more. The licence is MIT.

When your agent uses it

  • Explicitly asks to release
  • Publish a specific ASC CLI version
  • Including the full GitHub release
  • Release-announcement workflow

Example prompts

  • “/release-asc-cli”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  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…
  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…
  5. Inspect .github/workflows/release.yml and current repository guidance instead of assuming an older release procedure still applies.

What it can do on your machine

Read from SKILL.md and the folder at commit c7e9c64. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • pnpm
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com
    • asccli.sh

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release Asc CLI loads about 2.4k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 73 tokens; SKILL.md has 1,272 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~73
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rorkai/App-Store-Connect-CLI at commit c7e9c64, republished under its MIT licence (© rorkai). 1,272 words, ~2,409 tokens.

Download SKILL.mdSave it as .claude/skills/release-asc-cli/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
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.

bash
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.

Update the website changelog

After every published release, prepare the changelog update for the root CHANGELOG.md in rorkai/asc-website. It is the single source for asccli.sh/changelog; keep all release history in that file, without separate archives or a second CLI-repository changelog. Apply it to the website checkout when website edits are authorized by the request or session. Otherwise draft the entry text in the release handoff and report the website update as pending; do not modify the website checkout.

  1. Build the release inventory from the previous published tag through the released tag, using GitHub release notes, merged PRs, and tagged source. Include only changes shipped in that release. Verify command names, flags, and migration replacements against the released binary's help or tagged source, not a newer checkout.
  2. With website-edit authority, locate the website checkout by its remote and follow its AGENTS.md. Work from current website origin/main in an isolated worktree when needed. Inspect an existing entry or pending changelog PR before resuming so the same release is not added twice.
  3. Add the version under its UTC publication month, newest first, using the GitHub release publication date. Preserve older entries and update the month navigation when a new month begins.
  4. Write the entry using the rules and examples below. Keep one release link and one previous-tag comparison link at the end, with migration-guide links where relevant.
  5. Run the website's pnpm run lint and pnpm build, plus git diff --check. Verify the new entry renders, month links work, prior releases remain, and no inline PR references were introduced. Require session authority explicitly covering each website write: PR creation, merge, and deployment. A CLI release request alone does not grant those permissions. If a later website write is not authorized, retain the authorized edits and report that pending step separately from the binary release.
Show full SKILL.md (424 more words)Show less
Changelog writing rules
  • Use short, flat bullets under New features, Improvements and fixes, and Breaking changes as applicable; omit empty sections. Split unrelated changes into separate bullets and use domain subheadings for large releases.
  • Describe the concrete behavior and its user impact, usually in one or two sentences. Keep important features, fixes, limitations, confirmation requirements, output or exit-code changes, and actionable migration replacements.
  • Omit PR numbers, inline PR links, commit hashes, introductory paragraphs, and generic claims such as “improved reliability.” PRs are evidence for writing the notes, not visible labels in the notes.
  • Cover significant shipped changes individually. Group routine dependency, CI, and test updates where appropriate; the release and comparison links retain the complete source history.
  • Omit Wall of Apps membership churn, including app additions, removals, renames, icon changes, and routine metadata refreshes. Include only significant user-facing changes to the Wall of Apps feature or contribution workflow.
  • Use backticks for commands, flags, environment variables, and JSON. Do not invent detail to expand a short entry or remove compatibility details merely to shorten a bullet.

Example entry from the published 5.1.0 release (illustrative excerpt, not its complete notes):

markdown
### 5.1.0 (2026-09-08)

#### New features

- `asc web api-keys list` accepts `--session-from-env` for CI reads.
- `--session-from-env` reads `ASC_WEB_SESSION` in memory without changing the session cache or keychain.

#### Improvements and fixes

- Review-draft creation stops before writing when a successful preflight response omits `data`.

[Release](https://github.com/rorkai/App-Store-Connect-CLI/releases/tag/5.1.0) · [Compare changes](https://github.com/rorkai/App-Store-Connect-CLI/compare/5.0.0...5.1.0)

Migration wording should name the replacement, for example: “App-scoped --build-number queries require --platform instead of assuming IOS.” Keep this behavior in its 5.0.0 entry; do not present historical examples as new changes in the next release.

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, website changelog state (edited, PR opened, merged, or live), 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.

© rorkai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .agents/skills/release-asc-cli of rorkai/App-Store-Connect-CLI.

  • SKILL.md
  • agents/openai.yaml
  • references/release-announcement.md

Open the folder on GitHubat commit c7e9c64

Compare with similar skills

Release Asc CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release Asc CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Asc CLI this skillrorkai/App-Store-Connect-CLI7.7k—~2.4kAutomated safety check: PassMIT
Releasevaayne/mori303—~1.2kAutomated safety check: PassMIT
Releaselinagora/twake-on-matrix168—~1kAutomated safety check: PassAGPL-3.0
Publish App Store VersionKeeForge/KeeForge111—~3.5kAutomated safety check: PassGPL-3.0
Prepare ReleaseKeeForge/KeeForge111—~493Automated safety check: PassGPL-3.0
iOS App Store SubmitZestfulPulse/ios-app-store-submit142—~4.7kAutomated safety check: PassMIT

Similar skills

  • Release

    vaayne/mori

    Release workflow for Mori macOS workspace terminal and MoriRemote iOS app.

    303 GitHub stars~1.2k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Release

    linagora/twake-on-matrix

    Twake-on-Matrix release process skill. An agent skill from linagora/twake-on-matrix.

    168 GitHub stars~1k tokensUpdated today
    MobileAuto-check passed
  • Publish App Store Version

    KeeForge/KeeForge

    Prepare and publish an already-built KeeForge iOS or macOS version through the App Store Connect API using an API key.

    111 GitHub stars~3.5k tokensUpdated yesterday
    MobileAuto-check passed
  • Prepare Release

    KeeForge/KeeForge

    Prepare the first KeeForge candidate for a new marketing version, including minor/major releases and patches or hotfixes to shipped versions.

    111 GitHub stars~493 tokensUpdated yesterday
    MobileAuto-check passed
  • iOS App Store Submit

    ZestfulPulse/ios-app-store-submit

    Build, sign, and submit a Flutter/iOS app to the App Store Connect — covers Xcode archive/export, code signing (including headless-Mac keychain workarounds), the asc CLI for App Store Connect…

    142 GitHub stars~4.7k tokensUpdated 6 days ago
    MobileAuto-check passed
  • App Store Deploy

    romankurnovskii/BrewMate

    Automates the build and deployment of the Electron app to the Mac App Store and TestFlight.

    301 GitHub stars~813 tokensUpdated 9 days ago
    MobileAuto-check: notes

More from rorkai/App-Store-Connect-CLI

  • Develop Asc Change

    rorkai/App-Store-Connect-CLI

    Design, implement, and verify behavior changes in App-Store-Connect-CLI.

    7.7k GitHub stars~818 tokensUpdated today
    Auto-check passed
  • Audit Asc PR

    rorkai/App-Store-Connect-CLI

    Audit App-Store-Connect-CLI pull requests end to end and fix concrete defects when authorized.

    7.7k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Review Wall Of Apps PRs

    rorkai/App-Store-Connect-CLI

    Audit maintainer-side Wall of Apps pull requests in App-Store-Connect-CLI.

    7.7k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Sync Asc Skills

    rorkai/App-Store-Connect-CLI

    Check rorkai/app-store-connect-cli-skills against the current ASC CLI surface and correct proven drift when authorized.

    7.7k GitHub stars~782 tokensUpdated today
    Auto-check passed
  • Triage Asc Issue

    rorkai/App-Store-Connect-CLI

    Triage App-Store-Connect-CLI GitHub issues against current code, CLI behavior, and App Store Connect API support.

    7.7k GitHub stars~831 tokensUpdated today
    Auto-check passed
  • Watch Asc PR

    rorkai/App-Store-Connect-CLI

    Recheck an in-progress App-Store-Connect-CLI pull request for new review feedback, CI results, head changes, and merge readiness.

    7.7k GitHub stars~1k tokensUpdated today
    Auto-check passed

Questions about Release Asc CLI

What does Release Asc CLI do?

Publish and verify a new release of the App-Store-Connect-CLI repository. Release Asc CLI is an agent skill from rorkai/App-Store-Connect-CLI. Publish and verify a new release of the App-Store-Connect-CLI repository.

When should I use Release Asc CLI?

Release Asc CLI fits situations like: explicitly asks to release; publish a specific ASC CLI version; including the full GitHub release; release-announcement workflow.

How do I install Release Asc CLI in Claude Code?

Run `npx skills add rorkai/App-Store-Connect-CLI --skill release-asc-cli -a claude-code`. Or copy the skill folder (.agents/skills/release-asc-cli in rorkai/App-Store-Connect-CLI) into .claude/skills/release-asc-cli in your project. Claude Code loads it when a task matches its description.

How do I install Release Asc CLI in Codex?

Run `npx skills add rorkai/App-Store-Connect-CLI --skill release-asc-cli -a codex`. Or copy the skill folder (.agents/skills/release-asc-cli in rorkai/App-Store-Connect-CLI) into .agents/skills/release-asc-cli in your project. Codex loads it when a task matches its description.

Can I use Release Asc CLI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rorkai/App-Store-Connect-CLI --skill release-asc-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-asc-cli, .gemini/skills/release-asc-cli, .github/skills/release-asc-cli and .opencode/skills/release-asc-cli in your project.

What does Release Asc CLI need to run?

Going by SKILL.md and its folder, Release Asc CLI needs the command-line tools its instructions call (make, pnpm and git).

Does Release Asc CLI access the network?

SKILL.md names 2 domains. As links in the text: github.com and asccli.sh. This is read from the text; nothing was executed.

Is Release Asc CLI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release Asc CLI use?

Release Asc CLI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Asc CLI use?

About 2.4k tokens (SKILL.md is roughly 9.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 309 tokens, read only when the agent opens those files.

What are the alternatives to Release Asc CLI?

Skills that share tags, products or a category with Release Asc CLI: Release (vaayne/mori, 303 stars), Release (linagora/twake-on-matrix, 168 stars), Publish App Store Version (KeeForge/KeeForge, 111 stars) and Prepare Release (KeeForge/KeeForge, 111 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Asc CLI?

rorkai (a GitHub organization) maintains it in rorkai/App-Store-Connect-CLI, which has 7,684 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: rorkai/App-Store-Connect-CLI on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.