drainlisted
Install: claude install-skill inkatze/planwright
# /drain — on-demand gate drain pass
`/drain` is the on-demand entry point to the shared gate evaluator
(REQ-H1.4, D-17, D-31). It sweeps every spec bundle's `tasks.md` for
`**Gate:**` deferral entries, evaluates the structured `GATE(when: …)` ones
against the closed grammar (free-text gates surface unevaluated), and
presents the drain report. The scheduled entry point to the same
evaluator is `/orchestrate --bookkeeping`; neither may parse gates on its
own. Normative semantics (accumulator classes, grammar productions, lanes,
data-only handling) live in the `accumulator-taxonomy` doctrine doc — read
it via the rule-doc resolution path before interpreting the report.
Doctrine manifest (machine-parseable, per `doctrine/instruction-hygiene.md`;
`run-start` loads before work begins):
Doctrine: run-start accumulator-taxonomy
## Procedure
### 1. Resolve the evaluator and the specs root
Resolve the planwright root via the standard chain
(`PLANWRIGHT_ROOT` → `CLAUDE_PLUGIN_ROOT` → `<claude-dir>/planwright`); the
evaluator is `<root>/scripts/drain-gates.sh`. The specs root is the current
repository's `specs/` directory. If there is no `specs/` directory, report
that there is nothing to drain and stop (this is a read-only authoring-path
move: degrade gracefully, REQ-K1.7).
### 2. Run the evaluator
```sh
<planwright-root>/scripts/drain-gates.sh specs/
```
The evaluator resolves task-completion atoms through the derivation engine
(`scripts/orchestrate-state.sh`), which on a for