Skip to content
Back to skills

Asc Workflow

ASecurity

Define, validate, and run lane-style multi-step automation sequences using `asc workflow` and a repo-local `.asc/workflow.json`. Use when migrating from lane-based automation, building enterprise CI flows, or orchestrating multi-command `asc` runs.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
toolsshellbash

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add BumpyClock/agent-templates --skill asc-workflow --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Asc Workflow?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Asc Workflow
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bumpyclock-asc-workflow/badge)](https://www.skillsdirectory.com/skills/bumpyclock-asc-workflow)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: asc-workflow
description: Define, validate, and run lane-style multi-step automation sequences using `asc workflow` and a repo-local `.asc/workflow.json`. Use when migrating from lane-based automation, building enterprise CI flows, or orchestrating multi-command `asc` runs.
---

# asc workflows (lane-style automation)

Use this skill when you need to create or run `.asc/workflow.json` workflows via:
- `asc workflow run`
- `asc workflow validate`
- `asc workflow list`

Workflows are a lane-style "lanes" replacement: named, multi-step automation sequences that compose existing `asc` commands and normal shell commands.

## Command discovery

- Always use `--help` to confirm flags and subcommands:
  - `asc workflow --help`
  - `asc workflow run --help`
  - `asc workflow validate --help`
  - `asc workflow list --help`

## Key commands (typical flow)

1. Validate the workflow file (CI gate):
   - `asc workflow validate`
2. Dry-run a workflow (no side effects):
   - `asc workflow run --dry-run beta`
3. Run the workflow with runtime parameters:
   - `asc workflow run beta BUILD_ID:123456789 GROUP_ID:abcdef`
4. List available workflows (for discovery):
   - `asc workflow list`
   - Include private workflows: `asc workflow list --all`

## File location and format

- Default file path: `.asc/workflow.json` (repo-local; commit it with your code).
- The workflow file supports JSONC comments (`//` and `/* */`).

## Output contract (agent-friendly)

- stdout: JSON-only (structured result)
- stderr: step/hook command output and dry-run previews

This makes it safe to do:

```bash
asc workflow run beta BUILD_ID:123 GROUP_ID:xyz | jq -e '.status == "ok"'
```

## Runtime params (KEY:VALUE / KEY=VALUE)

- `asc workflow run <name> [KEY:VALUE ...]` supports both separators:
  - `VERSION:2.1.0`
  - `VERSION=2.1.0`
- In steps, reference params via `$VAR` (shell expansion).
- Avoid putting secrets in `.asc/workflow.json`; pass them via CI secrets/env.

## Hooks

Workflows support definition-level hooks:
- `before_all`: runs once before any steps
- `after_all`: runs once after all steps (only if steps succeeded)
- `error`: runs on any failure

When hook output matters, keep hooks simple and write their logs to stderr.

## Conditionals (`if`)

- Add `"if": "VAR_NAME"` to a step to skip it when `VAR_NAME` is falsy.
- The conditional checks workflow env/params first, and then falls back to `os.Getenv(VAR_NAME)`.
- Truthy values: `1`, `true`, `yes`, `y`, `on` (case-insensitive).

## Sub-workflows and private workflows

- A step can call another workflow via `"workflow": "<name>"`.
- `"with"` env overrides are only valid on workflow steps (not run steps).
- `"private": true` workflows:
  - cannot be run directly from the CLI
  - can be called by other workflows as sub-workflows
  - are hidden from `asc workflow list` unless `--all` is used

## Recommended authoring approach (enterprise-friendly)

- Keep steps deterministic and explicit (prefer IDs where possible).
- Validate early (`asc workflow validate`) and keep the file in version control.
- Start with `--dry-run` before enabling real runs in CI.
- Use existing `asc` commands for the actual work (build upload, TestFlight distribution, submission).
- Use `--confirm` on destructive operations inside steps; workflows should never add interactive prompts.

## Example `.asc/workflow.json` template

This is a practical starting point for lane migration; adapt step commands to your org.

```json
{
  "env": {
    "APP_ID": "123456789",
    "VERSION": "1.0.0"
  },
  "before_all": "asc auth status",
  "after_all": "echo workflow_done",
  "error": "echo workflow_failed",
  "workflows": {
    "beta": {
      "description": "Distribute a build to a TestFlight group",
      "env": {
        "GROUP_ID": ""
      },
      "steps": [
        {
          "name": "list_builds",
          "run": "asc builds list --app $APP_ID --sort -uploadedDate --limit 5"
        },
        {
          "name": "list_groups",
          "run": "asc testflight beta-groups list --app $APP_ID --limit 20"
        },
        {
          "name": "add_build_to_group",
          "if": "BUILD_ID",
          "run": "asc builds add-groups --build $BUILD_ID --group $GROUP_ID"
        }
      ]
    },
    "release": {
      "description": "Submit a version for App Store review",
      "steps": [
        {
          "workflow": "sync-metadata",
          "with": {
            "METADATA_DIR": "./metadata"
          }
        },
        {
          "name": "submit",
          "run": "asc submit create --app $APP_ID --version $VERSION --build $BUILD_ID --confirm"
        }
      ]
    },
    "sync-metadata": {
      "private": true,
      "description": "Private helper workflow (callable only via workflow steps)",
      "steps": [
        {
          "name": "migrate_validate",
          "run": "echo METADATA_DIR_is_$METADATA_DIR"
        }
      ]
    }
  }
}
```

Files in this skill

  • SKILL.md4.8 KB
  • agents/openai.yaml165 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.