action-prefix-systemlisted
Install: claude install-skill HelixDevelopment/constitution
# Action Prefix System (§11.4.140)
A prompt whose **first non-blank line** starts with a registered action token is
not an ordinary prompt: the token is **replaced** by that action's registered
`expansion` text, the action's `rules` apply, and the remainder of the prompt is
the actual task, executed under the expanded instruction.
The registry — `constitution/actions/registry.yaml` (override with
`$HELIX_ACTION_REGISTRY`) — is the **single source of truth**. It is DATA:
adding an action is a registry row, never a code change.
## The six equivalent forms
All six resolve to the SAME action, the SAME expansion, the SAME execution:
| # | Form | Example |
|---|---|---|
| 1 | `ACTION :: <rest>` | `BACKGROUND :: refactor the parser` |
| 2 | `PREFIX::ACTION :: <rest>` | `DEFAULT::BACKGROUND :: refactor the parser` |
| 3 | `/ACTION <rest>` | `/background refactor the parser` |
| 4 | `/PREFIX::ACTION <rest>` | `/DEFAULT::BACKGROUND refactor the parser` |
| 5 | `ACTION ---> <rest>` | `BACKGROUND ---> refactor the parser` |
| 6 | `ACTION: <rest>` — **single colon** | `BUG: subtitles render one frame late` |
`PREFIX` is a **namespace**; the reserved default namespace is `DEFAULT`. An
action runs with or without it.
**Form 6 is the one most people type naturally** (`BUG: ...`, `TASK: ...`) — a
colon and exactly one space, no space *before* the colon.
### Form 6 is REGISTERED-ACTION-ONLY by construction
Unlike the other five, an unknown single-colon token is a **silent no-op** — it