wise-workflow-list · git:20260530.16b336e · 2026-05-30 · sha256 8b0bdb3fd2a7f9b6

wise-workflow-list git:20260530.16b336eA

Immutable. This exact content is served forever at /api/v1/blob/8b0bdb3fd2a7f9b6.

---
name: wise-workflow-list
description: >-
  List every workflow available to the wise plugin — both the bundled
  defaults that ship with the plugin and the user-authored ones under
  ${CLAUDE_PLUGIN_DATA}/workflows/definitions/. Read-only. Invoked as
  `/wise-workflow-list` (bare alias) or `/wise:wise-workflow-list`
  (canonical). Use when the user says "list workflows", "show
  workflows", "which workflows are available", "what workflows can I
  run", or types `/wise-workflow-list`.
argument-hint: ""
model: opus
effort: low
allowed-tools: Read, Bash(${CLAUDE_PLUGIN_ROOT}/scripts/bootstrap-deps.sh:*), Bash(${CLAUDE_PLUGIN_ROOT}/scripts/init-registry.py:*), Bash(${CLAUDE_PLUGIN_ROOT}/scripts/workflows.py:*), Bash(bash:*), Bash(python3:*)
---

# /wise-workflow-list — list available workflows

## Why this skill exists

Users need a quick way to see which workflows they can run. Workflows
come from two places: bundled defaults under `${CLAUDE_PLUGIN_ROOT}/workflows/`
(shipped with the plugin) and user-authored ones under
`${CLAUDE_PLUGIN_DATA}/workflows/definitions/` (written by
`/wise-workflow-create`). Under each root, a workflow can live in one of
two layouts — `<name>/workflow.yaml` (folder form, preferred) or
`<name>.yaml` (legacy flat form). This skill lists both layouts from
both roots and flags any name collisions (a user def shadows a bundled
def of the same name).

## Arguments

This skill takes no arguments. Ignore anything the user types beyond
the skill name.

## Procedure

### 1. Init-check + list — in ONE message

Run the init-check per `${CLAUDE_PLUGIN_ROOT}/references/init-check.md`,
firing `init-registry.py check` and the data call
`workflows.py list-defs` together in one message. On `INIT:ok`, use the
`list-defs` output and jump to §2; otherwise follow the reference's
fallback. This skill is read-only, so on `BOOTSTRAP:need-python` it
relays the `OPTION:` lines and stops rather than driving an install
loop.

### 2. Interpret the `list-defs` output

Stdout is a JSON array of `{name, description, source, shadowed}`
objects, with user entries first and bundled entries after (folder
form wins on same-root collision; user wins on cross-root
collision).

### 3. Render

Partition the entries by `source` (bundled vs user) and render:

```
Bundled workflows (<N>):

  example-workflow
    Reference workflow that exercises every step type. Harmless to run.

User workflows (<M>):

  my-release-flow
    My custom release checklist.

Run any workflow with:
  /wise-workflow-run <name>
```

Rules:

- Entries with `shadowed: true` are bundled defs that a user def of
  the same name has overridden — print them under the Bundled list
  with a trailing `(shadowed by user <name>)` line. The user entry
  (which appears earlier in the JSON) does NOT get a shadows-note;
  it's the authoritative one at run time.
- If either list is empty, still print its heading with `(none)`:
  `User workflows (0):\n\n  (none)`.
- `description` is printed wrapped to a single paragraph; the engine
  already handled YAML folding (`>-`, `>`) before emitting the JSON.
- Footer: end with the one-line invocation hint above.

## Guardrails

- Read-only. Never write to any file.
- Do not invoke any other skill.
- Do not spawn subagents.