Asc Build Lifecycle
asc CLI commands for finding latest builds, checking processing, and expiring old ones
Test report
- Verdict
- Works with setup
- Score
- 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-lifecycleasc 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.