
Asc Workflow
- 2k installs
- 934 repo stars
- Updated July 21, 2026
- rorkai/app-store-connect-cli-skills
This is a copy of asc-workflow by rudrankriyam - installs and ranking accrue to the original listing.
asc-workflow is an asc CLI skill that defines, validates, runs, resumes, and audits repo-local multi-step release automations stored in .asc/workflow.json for safe TestFlight and App Store flows.
About
asc-workflow is a skill for developers replacing manual fastlane-style release steps with repo-local asc workflow automations. Workflows live in .asc/workflow.json, run trusted shell commands, stream step output to stderr, and keep stdout as machine-readable JSON. The skill covers asc workflow validate, asc workflow list, asc workflow run, and flag discovery via --help on each subcommand. Developers reach for asc-workflow when iOS release steps must be version-controlled, resumable, and auditable inside the repository rather than scattered across one-off shell scripts or browser-only App Store Connect tasks.
- Defines reusable workflows in a single .asc/workflow.json file
- Validates structure and references before execution with asc workflow validate
- Supports dry-run, resume from failure, and JSON machine-readable output
- Streams step output safely while preserving stdout as structured data
- Discovers and lists both local and public workflows with asc workflow list
Asc Workflow by the numbers
- 2,029 all-time installs (skills.sh)
- +217 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/rorkai/app-store-connect-cli-skills --skill asc-workflowAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2k |
|---|---|
| repo stars | ★ 934 |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 21, 2026 |
| Repository | rorkai/app-store-connect-cli-skills ↗ |
How do you automate iOS release steps with asc workflow?
Define, validate, run, resume and audit repo-local multi-step automations that replace manual lane-style release and TestFlight flows.
Who is it for?
iOS release engineers who want version-controlled, resumable asc CLI workflows instead of ad hoc release shell scripts.
Skip if: One-off manual releases or teams not using the asc CLI workflow subsystem.
When should I use this skill?
A developer needs to define, validate, run, resume, or audit repo-local asc workflow release or TestFlight automation.
What you get
Validated .asc/workflow.json file, executed multi-step workflow run logs, machine-readable JSON stdout, and auditable release step outputs.
- Workflow definition file
- Validated workflow run
- JSON execution output
Files
asc workflow
Use this skill when you need lane-style automation inside the CLI using:
asc workflow validateasc workflow listasc workflow run
Workflows are repo-local automation files. They run trusted shell commands, stream step output to stderr, and keep stdout as machine-readable JSON.
Command discovery
Always verify flags with:
asc workflow --help
asc workflow validate --help
asc workflow list --help
asc workflow run --helpEnd-to-end flow
1. Author .asc/workflow.json. 2. Validate structure and references:
asc workflow validate3. Discover public workflows:
asc workflow list
asc workflow list --all4. Preview execution:
asc workflow run --dry-run beta BUILD_ID:123456789 GROUP_ID:abcdef5. Execute:
asc workflow run beta BUILD_ID:123456789 GROUP_ID:abcdef6. If a recoverable run fails, resume with the run ID from the JSON result:
asc workflow run release --resume "release-20260312T120000Z-deadbeef"Do not pass extra KEY:VALUE params with --resume; the saved workflow file, params, and persisted outputs are reused.
File location and format
- Default path:
.asc/workflow.json - Override path:
asc workflow run --file ./path/to/workflow.json <name> - JSONC comments are supported.
- Top-level hooks:
before_all,after_all,error - Workflow keys:
description,private,env,steps - Step forms:
- string shorthand:
"echo hello" runshell commandworkflowsub-workflow callnamelabelifconditional var namewithenv overrides for workflow-call stepsoutputsmap for JSON stdout extraction from named run steps
Outputs
Run steps can declare outputs. The command must emit JSON on stdout, so pass --output json for asc commands that produce outputs.
Output references use:
${steps.step_name.OUTPUT_NAME}Rules:
- A step that declares
outputsmust have a reference-safename. - Outputs are allowed on
runsteps, not workflow-call steps. - Output-producing names must be unique across workflows that can execute together in the same run graph.
- Persisted outputs are stored in workflow run state, so do not map secrets into outputs.
Runtime params
asc workflow run <name> [KEY:VALUE ...] supports both separators:
asc workflow run beta VERSION:2.1.0
asc workflow run beta VERSION=2.1.0Repeated keys are last-write-wins. In shell commands, reference params through shell expansion like $VERSION.
Env precedence
Main workflow run:
definition.env < workflow.env < CLI paramsSub-workflow call with with:
sub-workflow env < caller env and params < step withConditionals
Add "if": "VAR_NAME" to a step. Truthy values are 1, true, yes, y, and on, case-insensitive. Lookup checks merged workflow env/params first, then process environment.
Example workflow
{
"env": {
"APP_ID": "123456789",
"VERSION": "1.0.0",
"GROUP_ID": ""
},
"before_all": "asc auth status",
"after_all": "echo workflow_done",
"error": "echo workflow_failed",
"workflows": {
"beta": {
"description": "Resolve the latest build and distribute it to TestFlight",
"steps": [
{
"name": "resolve_build",
"run": "asc builds info --app $APP_ID --latest --platform IOS --output json",
"outputs": {
"BUILD_ID": "$.data.id"
}
},
{
"name": "list_groups",
"run": "asc testflight groups list --app $APP_ID --limit 20 --output json"
},
{
"name": "add_build_to_group",
"if": "GROUP_ID",
"run": "asc builds add-groups --build-id ${steps.resolve_build.BUILD_ID} --group $GROUP_ID"
}
]
},
"release": {
"description": "Validate, stage, and submit an App Store version",
"steps": [
{
"name": "validate",
"run": "asc validate --app $APP_ID --version $VERSION --platform IOS --output json"
},
{
"name": "stage",
"run": "asc release stage --app $APP_ID --version $VERSION --build $BUILD_ID --metadata-dir ./metadata/version/$VERSION --confirm --output json"
},
{
"name": "submit",
"if": "SUBMIT_FOR_REVIEW",
"run": "asc review submit --app $APP_ID --version $VERSION --build $BUILD_ID --confirm --output json"
}
]
},
"publish-appstore": {
"description": "High-level upload plus App Store review submission",
"steps": [
{
"name": "publish",
"run": "asc publish appstore --app $APP_ID --ipa ./build/MyApp.ipa --version $VERSION --wait --submit --confirm --output json"
}
]
}
}
}Useful invocations
asc workflow validate | jq -e '.valid == true'
asc workflow list --pretty
asc workflow list --all --pretty
asc workflow run --dry-run beta BUILD_ID:123 GROUP_ID:grp_abc
asc workflow run beta BUILD_ID:123 GROUP_ID:grp_abc | jq -e '.status == "ok"'
asc workflow run release BUILD_ID:123 SUBMIT_FOR_REVIEW:true
asc workflow run release --resume "release-20260312T120000Z-deadbeef"Safety rules
- Treat
.asc/workflow.jsonlike code; only run trusted workflow files. - Avoid running workflows from untrusted PRs with secrets.
- Keep workflow files in version control.
- Validate first, dry-run next, then run.
- Use explicit IDs and
--confirmfor mutating steps. - Use
asc validate,asc release stage,asc review submit, andasc publish appstore; do not use removed submission commands.
Related skills
FAQ
Where do asc-workflow automations live?
asc-workflow automations are repo-local files, typically .asc/workflow.json. The asc workflow validate and asc workflow run commands execute trusted shell steps defined in that workflow file.
What output format does asc workflow run use?
asc-workflow runs stream human-readable step output to stderr while stdout remains machine-readable JSON. This separation supports CI pipelines that parse results while operators read live logs.
Is Asc Workflow safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.