dos-promotelisted
Install: claude install-skill anthony-chaudhary/dos-kernel
# dos-promote — surface every held unit + its unblock action
> **Make the invisible pickable.** The picker silently drops a unit it cannot
> offer; `/dos-promote` does the inverse — it runs the **pre-dispatch gate**
> (`dos pickable`) over every declared unit, and for each one that is HELD it
> surfaces the unit, its *typed* hold reason, and the derived unblock action. The
> hold reason → action routing is data, not a guess: a `DRAFT_CLASS` hold wants a
> promotion, a `SOAK_OPEN` hold wants the clock, an `OPERATOR_GATED` hold wants a
> decision. This is the operator-facing half of the shipped `pickable` primitive.
The shape: **enumerate the units → gate each → route each hold to its action →
auto-enact only the safe mechanical reclassify → surface the rest.** The gate and
the enumeration are kernel verbs (`dos pickable`, `dos enumerate`); the
reason→action routing is derivable from the `HoldReason` itself.
## Inputs
- `--scope <lane>` (optional) — limit to one lane from the active `[lanes]`.
Omitted = every declared unit the workspace can see.
## Step 0 — Discover the layout
```bash
dos doctor --workspace . --json
```
Read `paths.plans_glob` (where the plan docs live), `lanes` (the taxonomy), and
`lifecycle.classes` (the declared class set — which class is the workspace's
"draft" / "active"). **Use these; never hardcode a plan path or a class name.**
## Step 1 — Enumerate the declared units
For each plan doc under `paths.plans_glob`, enumerate the units it declares