Asc Build Lifecycle

asc CLI commands for finding latest builds, checking processing, and expiring old ones

Works with setup

Test report

Verdict
Works with setup
Score
7.6/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · d7c27ba

Cloned the repo into a temp HOME and confirmed the install block lands SKILL.md at ~/.claude/skills/asc-build-lifecycle/SKILL.md; frontmatter parses with name + description (137 chars) and the body references no scripts or reference files, so there was nothing to 404. Since `asc` is not installed here (`which asc` -> not found) and there are no App Store Connect credentials, I could not execute a single command, so instead I shallow-cloned the upstream CLI (rorkai/App-Store-Connect-CLI, Go) and checked every command in the body against its source: all 8 forms exist — `builds info --latest/--version/--platform/--build-id`, `next-build-number`, `list --sort -uploadedDate --limit`, `expire --build-id --confirm`, `expire-all --older-than --dry-run/--confirm`, `publish testflight`, `publish appstore` — with flags defined in builds_commands.go, builds_expire_all.go, builds_latest.go and publish.go. Baseline artifact (abl-baseline.md, written before consulting the body) fell back to fastlane `latest_testflight_build_number` and raw `/v1/builds` curl, and its three guessed asc forms (`asc build list`, `asc build latest`, `asc build expire --older-than 90`) are all invalid — the noun is `builds`, there is no `latest` subcommand, and `--older-than` exists only on `expire-all`; the skill artifact (abl-skill.md) was 8/8 valid. Against that, the body has one wrong claim — it says "`asc builds upload` prepares upload operations only", while upstream LongHelp says upload commits the file immediately and only `--dry-run` reserves operations — and it omits `--keep-latest N` (the retention flag), `--processing-state VALID` (needed for the README's own "latest processed build" example) and the dedicated `asc builds wait` command, so the "keep the 5 newest" and "processed-only" halves of my test task were unanswerable from the body alone. No security smells: no curl|sh, no base64, no credential handling; destructive `expire-all` is gated behind `--dry-run`/`--confirm`.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 6/10
  • Docs & honesty 3/5

What Asc Build Lifecycle does

A 36-line command crib for the unofficial App Store Connect CLI (`asc`) covering build lookup (`builds info --latest`, `next-build-number`, `builds list`), processing inspection, and TestFlight build retention via `builds expire` / `builds expire-all --older-than 90d --dry-run`. Triggers when you are waiting on a build to finish processing, resolving which build is current, or cleaning up old TestFlight builds. Requires the `asc` binary and App Store Connect API credentials to actually execute anything.

How to install Asc Build Lifecycle

git clone --depth 1 https://github.com/rorkai/app-store-connect-cli-skills.git /tmp/asc-build-lifecycle-src
mkdir -p ~/.claude/skills
cp -R /tmp/asc-build-lifecycle-src/skills/asc-build-lifecycle ~/.claude/skills/asc-build-lifecycle
# Requires the `asc` binary: https://github.com/rorkai/App-Store-Connect-CLI (Go), plus App Store
# Connect API auth (ASC_KEY_ID / ASC_ISSUER_ID / .p8 private key). Without it the skill is text only.
# Plugin alternative: claude plugin marketplace add rorkai/app-store-connect-cli-skills && claude plugin install asc@rorkai
# Whole-pack alternative: npx skills add rorkai/app-store-connect-cli-skills

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Asc Build Lifecycle

  • /asc-build-lifecycle asc CLI commands for finding latest builds, checking processing, and expiring old ones

It also activates on plain-language prompts like these:

  • Check if my latest TestFlight build finished processing
  • Find the most recent build for this app
  • Delete old App Store Connect builds to free space

Frequently asked questions

Is the Asc Build Lifecycle skill free?
Yes. The skill itself is free from rorkai/app-store-connect-cli-skills. SkillProof publishes the install command and an independent test verdict at no cost.
Does Asc Build Lifecycle work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Works with setup. Cloned the repo into a temp HOME and confirmed the install block lands SKILL.md at ~/.claude/skills/asc-build-lifecycle/SKILL.md; frontmatter parses with name + description (137 chars) and the body references no scripts or reference files, so there was nothing to 404. Since `asc` is not installed here (`which asc` -> not found) and there are no App Store Connect credentials, I could not execute a single command, so instead I shallow-cloned the upstream CLI (rorkai/App-Store-Connect-CLI, Go) and checked every command in the body against its source: all 8 forms exist — `builds info --latest/--version/--platform/--build-id`, `next-build-number`, `list --sort -uploadedDate --limit`, `expire --build-id --confirm`, `expire-all --older-than --dry-run/--confirm`, `publish testflight`, `publish appstore` — with flags defined in builds_commands.go, builds_expire_all.go, builds_latest.go and publish.go. Baseline artifact (abl-baseline.md, written before consulting the body) fell back to fastlane `latest_testflight_build_number` and raw `/v1/builds` curl, and its three guessed asc forms (`asc build list`, `asc build latest`, `asc build expire --older-than 90`) are all invalid — the noun is `builds`, there is no `latest` subcommand, and `--older-than` exists only on `expire-all`; the skill artifact (abl-skill.md) was 8/8 valid. Against that, the body has one wrong claim — it says "`asc builds upload` prepares upload operations only", while upstream LongHelp says upload commits the file immediately and only `--dry-run` reserves operations — and it omits `--keep-latest N` (the retention flag), `--processing-state VALID` (needed for the README's own "latest processed build" example) and the dedicated `asc builds wait` command, so the "keep the 5 newest" and "processed-only" halves of my test task were unanswerable from the body alone. No security smells: no curl|sh, no base64, no credential handling; destructive `expire-all` is gated behind `--dry-run`/`--confirm`.
What is the Asc Build Lifecycle SkillProof Score?
7.6/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 6/10, docs & honesty 3/5.
How do I install Asc Build Lifecycle?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Asc Build Lifecycle with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.