Skip to content
cccskills
FreePublished on GitHub

workflows-setup

Install Archon, build the sdlc-worker Docker images, and configure SDLC workflows. Run once after installing the sdlc-workflows plugin.

The English summary is being prepared. Showing the original description.

Works withDocker
See how to install

Files included (1)

  • SKILL.md15.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Set Up SDLC Delegated Workflows

Install Archon, build the sdlc-worker:base + sdlc-worker:full Docker images, and copy SDLC workflow templates and command prompts into the project.

Arguments

  • (no argument) or --with-docker (default) — full setup: host Archon + workflows + Docker images. Recommended — this is the state in which /sdlc-workflows:workflows-run will actually work.
  • --workflows-only — host Archon + workflows, no Docker build. Only use this when you know you already have sdlc-worker:base and :full from an earlier setup; a fresh project that picks this will see workflows-run fail at the first node with "image not found".
  • --health-check — run diagnostic checks only (skip steps 1-8).

When --health-check is passed, skip steps 1-8 and go directly to step 9.

Default behaviour (no args) is --with-docker so a first-time user ends up in a working state without having to know which flags to pass.

Steps

1. Check if Archon is already installed

The upstream installer (curl -fsSL https://archon.diy/install | bash) drops the binary at ~/.bun/bin/archon because Archon is a Bun runtime app. On macOS this directory is not on the default shell PATH — so the binary exists but command -v archon returns nothing unless the user already has ~/.bun/bin on PATH.

Detect both cases, because "not on PATH" is very different from "not installed" (running the installer again is wasted work):

if command -v archon >/dev/null 2>&1; then
    ARCHON_STATUS=on-path
    ARCHON_BIN=$(command -v archon)
elif [ -x "$HOME/.bun/bin/archon" ]; then
    ARCHON_STATUS=installed-not-on-path
    ARCHON_BIN="$HOME/.bun/bin/archon"
else
    ARCHON_STATUS=missing
fi

If on-path: report and skip to step 3:

Archon is already installed and on PATH (version X.Y.Z).

If installed-not-on-path: the binary exists but won't be found by /sdlc-workflows:workflows-run. Do NOT re-run the installer — that's wasted work. Tell the user explicitly and have them choose:

Archon is already installed at ~/.bun/bin/archon but that directory
is NOT on your PATH. /sdlc-workflows:workflows-run will fail to
find it unless you do ONE of the following:

  (a) Add ~/.bun/bin to your shell PATH (permanent fix — recommended):
        echo 'export BUN_INSTALL="$HOME/.bun"' >> ~/.zshrc
        echo 'export PATH="$BUN_INSTALL/bin:$PATH"' >> ~/.zshrc
        # then open a new terminal

  (b) Run this session with a prefixed PATH (one-shot):
        export PATH="$HOME/.bun/bin:$PATH"

Which would you like?

Do NOT edit the user's shell init files without confirmation.

If missing: proceed to step 2.

2. Install Archon

If Archon is not installed, inform the user and install. Prefer Homebrew — the compiled binary supports archon serve (web UI + REST API). The curl source installer produces a shell-script wrapper that cannot serve.

Archon is not installed. Installing...

macOS (recommended):

brew install coleam00/archon/archon

Fallback (Linux, or if brew unavailable):

curl -fsSL https://archon.diy/install | bash

Note: the curl installer drops a shell-script wrapper at ~/.bun/bin/archon that does not support archon serve. Workflow execution works, but the web UI and REST API will not be available.

Verify installation — in that order, both forms must be tried because the installer typically puts entries in ~/.zshrc / ~/.bashrc that do not take effect until a new shell is spawned:

if command -v archon >/dev/null 2>&1; then
    archon --version
    POST_INSTALL_STATE=on-path
elif [ -x "$HOME/.bun/bin/archon" ]; then
    "$HOME/.bun/bin/archon" --version
    POST_INSTALL_STATE=installed-not-on-path
else
    POST_INSTALL_STATE=installer-failed
fi

If on-path: all good, proceed.

If installed-not-on-path: this is the common case right after a fresh install — the installer added the PATH entry to the shell init file but the current shell hasn't reloaded it. Tell the user explicitly:

Archon installed at ~/.bun/bin/archon (version X.Y.Z).

IMPORTANT: the installer added ~/.bun/bin to your shell PATH, but the
change only takes effect in NEW shells. To use archon immediately in
THIS session, run:

  export PATH="$HOME/.bun/bin:$PATH"

Or open a new terminal. /sdlc-workflows:workflows-run will fail with
"archon not found" until you do one of these.

If installer-failed: report the error and suggest manual installation:

Archon installation failed. Please install manually:
  macOS/Linux: curl -fsSL https://archon.diy/install | bash
  Homebrew:    brew install coleam00/archon/archon
  See: https://archon.diy for other options

Then re-run this skill.

3. Create .archon directories

mkdir -p .archon/workflows .archon/commands

4. Copy SDLC workflows

Copy workflow YAML files from the plugin install directory into .archon/workflows/:

For each file in ${CLAUDE_PLUGIN_ROOT}/workflows/:

  • Check if destination exists in .archon/workflows/
  • If exists, skip (don't overwrite user customisations)
  • If not, copy

Report:

Copied SDLC workflows:
  copied: sdlc-parallel-review.yaml
  copied: sdlc-feature-development.yaml
  copied: sdlc-bulk-refactor.yaml
  copied: sdlc-commissioned-pipeline.yaml
  skipped: sdlc-parallel-review.yaml (already exists)

5. Copy SDLC command prompts

Copy command Markdown files from ${CLAUDE_PLUGIN_ROOT}/commands/ into .archon/commands/:

Same skip-if-exists logic as step 4.

Report:

Copied SDLC commands:
  copied: sdlc-security-review.md
  copied: sdlc-plan.md
  ... (list all)

6. Verify workflow discovery

Run: archon workflow list 2>/dev/null

Check that SDLC workflows appear in the output. If they don't, check that .archon/workflows/ is in Archon's workflow discovery path.

Report:

Archon workflow discovery:
  found: sdlc-parallel-review
  found: sdlc-feature-development
  found: sdlc-bulk-refactor
  found: sdlc-commissioned-pipeline

7. Build Docker images (--with-docker only)

If --with-docker argument was provided:

Check if Docker is available:

docker --version 2>/dev/null && docker info >/dev/null 2>&1

If Docker is not available:

Docker is not installed or not running. Skipping Docker image build.

IMPORTANT: the sdlc-workflows delivery is container-based. Every
workflow node runs inside sdlc-worker:<team> containers. Without
the images, /sdlc-workflows:workflows-run will fail at the first
node.

To finish setup later:
  1. Install and start Docker Desktop: https://docker.com/products/docker-desktop
  2. Re-run: /sdlc-workflows:workflows-setup --with-docker

If Docker is available, build the base and full images:

bash ${CLAUDE_PLUGIN_ROOT}/docker/build-base.sh
bash ${CLAUDE_PLUGIN_ROOT}/docker/build-full.sh

The base build includes a CLI verification step — a broken archon inside the image fails the build immediately (repair plan phase B2). Report the final image sizes so the user can sanity-check:

docker image inspect sdlc-worker:base --format '{{.Size}}' | \
  awk '{printf "sdlc-worker:base  %.1f GB\n", $1/1024/1024/1024}'
docker image inspect sdlc-worker:full --format '{{.Size}}' | \
  awk '{printf "sdlc-worker:full  %.1f GB\n", $1/1024/1024/1024}'

Then verify end-to-end that the runtime archon inside the image also works (defence in depth — the build-time check plus this runtime check together ensure a released image is never broken):

docker run --rm --entrypoint archon sdlc-worker:base --help \
  >/dev/null 2>&1 && echo OK || echo FAIL

If FAIL, the image is corrupt — report to the user and ask them to rebuild.

8. Report next steps

Before telling the user setup is done, verify the three things workflows-run will actually need, so the "next steps" list is honest:

# a. Host archon reachable
archon --version >/dev/null 2>&1 && echo HOST_ARCHON=ok || echo HOST_ARCHON=missing

# b. Base image present and its archon CLI works
if docker image inspect sdlc-worker:base >/dev/null 2>&1 && \
   docker run --rm --entrypoint archon sdlc-worker:base --help >/dev/null 2>&1; then
    echo BASE_IMAGE=ok
else
    echo BASE_IMAGE=missing-or-broken
fi

# c. Workflows visible
test -d .archon/workflows && \
   ls .archon/workflows/sdlc-*.yaml >/dev/null 2>&1 && \
   echo WORKFLOWS=ok || echo WORKFLOWS=missing

If all three report ok, tell the user:

SDLC delegated workflows are configured and verified.

Next steps:
  1. Run a parallel review:
       /sdlc-workflows:workflows-run sdlc-parallel-review
  2. View available workflows:
       archon workflow list
  3. Customise workflows:
       edit .archon/workflows/sdlc-*.yaml
  4. Re-check health anytime:
       /sdlc-workflows:workflows-setup --health-check
  5. Watch workflows run (Archon-native monitoring):
       archon workflow status            # live CLI snapshot
       archon serve                       # start web UI on :3090
       open http://localhost:3090         # full dashboard
       /sdlc-workflows:workflows-status   # REST + SQLite, works either way

For the full design, see:
  docs/superpowers/specs/2026-04-10-containerised-delegation-design.md

If any check failed, tell the user exactly what to fix — do NOT leave them to discover the broken state via a failing workflow run. Example:

SDLC setup is incomplete:
  HOST_ARCHON:  missing    → re-run this skill without --workflows-only
  BASE_IMAGE:   missing    → /sdlc-workflows:workflows-setup --with-docker
  WORKFLOWS:    ok

Resolve the above before running /sdlc-workflows:workflows-run.

9. Delegation health check

Run a comprehensive health check to verify all delegation infrastructure is ready.

9a. Archon status

if command -v archon >/dev/null 2>&1; then
    archon --version
    echo "Archon: OK (on PATH at $(command -v archon))"
elif [ -x "$HOME/.bun/bin/archon" ]; then
    "$HOME/.bun/bin/archon" --version
    echo "Archon: INSTALLED BUT NOT ON PATH"
    echo "  Binary: $HOME/.bun/bin/archon"
    echo "  Fix:    export PATH=\"\$HOME/.bun/bin:\$PATH\""
    echo "          (persist in ~/.zshrc for future shells)"
else
    echo "Archon: NOT INSTALLED"
    echo "  Fix:    re-run /sdlc-workflows:workflows-setup (step 2)"
fi

Include the "installed but not on PATH" state in the final summary — it is the most common failure mode right after a fresh install, and silencing it sets the user up for "archon not found" the next time they try to run a workflow.

9b. Docker connectivity

docker info >/dev/null 2>&1

If Docker is not running or not installed, report:

Docker: NOT AVAILABLE
  Container-based delegation requires Docker.
  Install Docker Desktop: https://docker.com/products/docker-desktop

9c. Image CLI health

We do NOT patch Archon's schema. The preprocessor (preprocess_workflow.py) rewrites image: nodes into bash: docker run ... nodes before Archon ever sees the workflow, so Archon only processes its native field set. The earlier sed-based ContainerProvider patch was both wrong (wrong insertion point) and unnecessary — it has been removed (repair plan phase B).

What we DO verify: that the archon CLI inside sdlc-worker:base actually runs. A broken install would silently degrade the super-smoke to direct-docker-run mode without archon, which is how earlier "all green" runs hid real regressions. The image build itself now fails if archon --help does not work, and this check is the runtime counterpart.

docker run --rm --entrypoint archon sdlc-worker:base --help \
  >/dev/null 2>&1 && echo OK || echo FAIL
docker run --rm --entrypoint archon sdlc-worker:base workflow --help \
  >/dev/null 2>&1 && echo OK || echo FAIL

Report:

Archon CLI in image:  OK | FAIL (rebuild sdlc-worker:base)
Archon workflow CMD:  OK | FAIL (rebuild sdlc-worker:base)

9d. ARM64 patch status

docker run --rm sdlc-worker:base grep -q 'executable:' /opt/archon/packages/core/src/clients/claude.ts 2>/dev/null

Report:

ARM64 patch: applied (upstream fix not yet merged) | not needed

9e. Loop signal workaround

docker run --rm sdlc-worker:base bash /opt/sdlc-scripts/detect-loop-bug.sh 2>/dev/null

Report:

Loop workaround: active (Archon #1126 not yet fixed) | not needed (bug fixed)

9f. Team image verification

For each YAML file in .archon/teams/:

  1. Read the manifest
  2. Check if the corresponding Docker image exists: docker image inspect sdlc-worker:<team-name>
  3. If the manifest has image_built and updated timestamps, check for staleness
  4. Report agent and skill count from the manifest
Team images:
  sdlc-worker:security-review-team   OK (3 agents, 2 skills)
  sdlc-worker:dev-team-python        STALE (manifest updated after last build)
  sdlc-worker:test-team              NOT BUILT

If no team manifests exist:

Team images: none configured
  Create a team manifest in .archon/teams/ and run /sdlc-workflows:deploy-team

9g. Credential injection

Check which credential tier is available for containerised workflow execution:

python3 ${CLAUDE_PLUGIN_ROOT}/scripts/resolve_credentials.py --project-dir . --json

Parse the JSON output and report:

Credential injection:
  Tier 1 (Keychain):     OK — Claude Code credentials found
  Tier 2 (Volume):       SKIP — Keychain succeeded
  Tier 3 (Config):       SKIP — Keychain succeeded
  Active tier:           Keychain

Or when Keychain fails:

Credential injection:
  Tier 1 (Keychain):     FAIL — not macOS or no keychain entry
  Tier 2 (Volume):       OK — sdlc-claude-credentials volume found
  Active tier:           Volume

Or when nothing works:

Credential injection:
  Tier 1 (Keychain):     FAIL — not macOS
  Tier 2 (Volume):       FAIL — volume not found
  Tier 3 (Config):       FAIL — .archon/credentials.yaml not found
  Active tier:           NONE

  Run: tests/integration/workforce-smoke/login.sh
  Or create: .archon/credentials.yaml with credential_path

Include the active tier in the summary report (step 9h).

9h. Summary report

Combine all checks into a single report:

Delegation health check:
  Archon (host):       OK (v0.4.2)
  Docker:              OK
  Archon CLI in image: OK
  ARM64 patch:         applied
  Loop workaround:     active
  Team images:         N/N present (M stale)
  Credentials:         OK (tier: Keychain)

  Ready for delegation.

Or if issues found:

Delegation health check:
  Archon (host):       OK (v0.4.2)
  Docker:              NOT AVAILABLE
  Archon CLI in image: FAIL (rebuild sdlc-worker:base)
  ...
  Credentials:         NONE

  Issues found. Resolve above before running delegated workflows.

Idempotency

This skill is safe to run multiple times. On second invocation:

  • Archon already installed: skipped
  • Existing workflow files: not overwritten
  • Docker image: rebuilt if requested — note that since the default is now --with-docker, a re-run with no args will rebuild the images. Pass --workflows-only to skip the Docker step when you only want to refresh the workflow YAML copies.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Generate a GitHub Actions workflow for Android — JDK + Gradle caching, build, unit + instrumented tests, Android Lint, run the Android pre-flight checks, and (optionally) sign + upload a signed app bundle to a Play track. Use when setting up CI for an Android app.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Validated Google Play release — runs the pre-flight checks and clears the Play policy gates, builds a signed app bundle with a git-stamped versionCode, uploads to a track, and walks staged rollout (with halt/roll-forward). Use when releasing an Android app to Play.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Scaffold a new Android app with SDLC and Play-safe defaults — Kotlin/Compose Gradle project with version catalog, convention plugins, module layout, a targetSdk that meets the Play mandate, R8 on release, and git-ignored signing so it passes the pre-flight checker from day one. Use when starting a new Android project.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Set up Android app signing safely — generate an upload keystore, enroll in Play App Signing, and wire a Gradle release signingConfig that reads secrets from a git-ignored keystore.properties / CI (never committed). Use when configuring signing for a Play release.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Pick an existing workflow for a task or author a new one — recommends workflow + team formation, or generates a fresh workflow YAML with command prompts and team validation.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

Guide the team through writing a change-impact record for IEC 62304 / FDA / ISO 26262 ASIL C+ projects. Surfaces the affected REQ/DES/TEST/CODE artefacts and captures human-attested verification approach.

The English summary is being prepared. Showing the original description.

SteveGJones/ai-first-sdlc-practices41Updated Oct 5, 2026

See all skills by SteveGJones

Report a problem with this skill