effect-brokerlisted
Install: claude install-skill lawzava/megapowers
# Effect Broker
People delegate what they can trust not to do something irreversible they did not
want. String-parsing shell commands cannot guard that; a parser cannot see intent
and every parser has bypasses. Gate on what the action is: the caller declares the
action's class and the broker enforces that class's protocol, scaled by the
autonomy dial from mega-orchestration:autonomous-run.
## Classify the effect
| Class | What it is | Examples |
|---|---|---|
| **reversible** | Undoable locally; a `git revert`/restore fixes it. | edit a file, read data, write to a scoped temp dir, create a branch |
| **staged** | Has a native dry-run / plan / preview and a defined undo. | `terraform apply` (has `plan`), `kubectl apply` (has `--dry-run`), a migration with up/down, a push to a non-default branch |
| **irreversible** | No real undo and real blast radius. | prod deploy, sending email/notifications, a payment/refund, `DROP`/`DELETE` without a backup, a DNS cutover, deleting a cloud resource |
When unsure between two classes, pick the more dangerous one.
Run `scripts/effect-broker <class> [--level <autonomy-level>]` to get the required
protocol as `KEY=VALUE` (DRY_RUN, IDEMPOTENCY, JOURNAL, APPROVAL, PROCEED,
BLAST_RADIUS).
## The protocol (simulate → commit)
- **reversible** is never gated. Do it at any autonomy level; a journal line is
optional.
- **staged** dry-runs first, always. Record the plan or preview, check it against
intent, then commit with an idempotency key