
Asc Workflow
- 1.2k installs
- 934 repo stars
- Updated July 21, 2026
- rudrankriyam/asc-skills
This is a copy of asc-workflow by rudrankriyam - installs and ranking accrue to the original listing.
asc-workflow is a DevOps skill that defines, validates, runs, resumes, and audits repo-local multi-step automations using asc workflow commands and .asc/workflow.json shell lanes.
About
asc-workflow is an asc-skills package for repo-local automation using asc workflow validate, asc workflow list, and asc workflow run against .asc/workflow.json files. Workflows execute trusted shell commands, stream step output to stderr, and keep stdout as machine-readable JSON for scripting. The skill covers safe release and TestFlight workflows with step outputs, resume support, and audit trails. Developers reach for asc-workflow when replacing ad-hoc release scripts with validated, repeatable lanes inside an Apple App Store Connect CLI project.
- Repo-local workflow definitions stored in .asc/workflow.json
- Four core commands: validate, list, run, and resume
- Safe dry-run preview before executing any step
- Automatic JSON output capture with stderr streaming for logs
- Built-in resume capability for recoverable failed runs using persisted state
Asc Workflow by the numbers
- 1,170 all-time installs (skills.sh)
- +15 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/rudrankriyam/asc-skills --skill asc-workflowAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.2k |
|---|---|
| repo stars | ★ 934 |
| Security audit | 2 / 3 scanners passed |
| Last updated | July 21, 2026 |
| Repository | rudrankriyam/asc-skills ↗ |
How do you automate TestFlight releases with asc workflow?
Define, validate, run, resume and audit repeatable multi-step automations directly inside their repo using trusted shell commands.
Who is it for?
iOS release engineers standardizing App Store Connect CLI workflows with validate-run-audit lanes in-repo.
Skip if: Teams without asc CLI installed or projects that do not use .asc/workflow.json lane files.
When should I use this skill?
A developer needs to define, validate, run, resume, or audit asc workflow lanes including TestFlight releases.
What you get
Validated .asc/workflow.json files, JSON run output, streamed step logs, and auditable release lane executions.
- validated workflow.json
- JSON run results
- release audit logs
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
How it compares
Pick this for asc CLI lane files in-repo instead of generic Fastlane-only or manual Xcode archive scripts.
FAQ
What commands does asc-workflow use?
asc-workflow centers on asc workflow validate, asc workflow list, and asc workflow run. Each workflow lives in .asc/workflow.json, executes trusted shell commands, streams logs to stderr, and returns JSON on stdout.
Where are asc workflows stored?
asc-workflow automations are repo-local files under .asc/workflow.json. The asc workflow validate command checks lane definitions before asc workflow run executes release or TestFlight steps.
Is Asc Workflow safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.