> ## Documentation Index
> Fetch the complete documentation index at: https://smithers.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow packs

> Install, update, inspect, and eject shared Smithers workflows.

Workflow packs install read-only workflows and their UIs under
`.smithers/packs/<name>`. Pack workflows are visible to `workflow list` and can
be run with either their unqualified id or an explicit `<pack>:<workflow>` id.

## Eject a workflow

Copy a pack workflow into the local `.smithers/` tree when you want to edit it:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
bunx smithers-orchestrator eject kanban-suite:kanban
```

Smithers copies the workflow and its relative UI, prompt, library, stylesheet,
and other imported assets. It refuses if any destination already exists. The
local copy then shadows the pack copy automatically, so
`workflow run kanban` uses the ejected workflow while
`workflow run kanban-suite:kanban` still addresses the pack version.

## Update packs

Pack updates are separate from the Smithers installation update command:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
bunx smithers-orchestrator packs update kanban-suite
bunx smithers-orchestrator packs update
```

The first form refreshes one locked pack; the bare form refreshes every locked
pack. Updates replace pack contents only. Ejected files live in the local
`.smithers/workflows`, `.smithers/ui`, `.smithers/prompts`, and `.smithers/lib`
directories and are left unchanged.

Use these commands for the rest of the lifecycle:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
bunx smithers-orchestrator add user/repository --yes
bunx smithers-orchestrator packs list
bunx smithers-orchestrator remove kanban-suite
```

## Share a pack

Every initialized `.smithers/` directory can be published as a pack. Set its
`repository` in `smithers.toon`, then preview the awesome-smithers entry:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
bunx smithers-orchestrator share --dry-run
```

The normal command uses the authenticated `gh` CLI to fork the registry,
update its Packs section, push a branch, and open a pull request. Use
`--repo owner/registry` to override the registry repository. The seeded
`share-pack` workflow performs the validation and repository preparation steps
before calling this command.
