decisionlisted
Install: claude install-skill Eliyce/paqad-ai
## What It Does
Drives the pending → resolved lifecycle of a **Decision Pause packet** — the
readable decision record the Decision Pause Contract asks the agent to write to
`.paqad/decisions/`. The mechanical parts (minting the id, stamping timestamps,
writing and moving the JSON) run inside the bundled scripts so the agent supplies
only content, never id/lifecycle plumbing:
- `create.mjs` mints a collision-free `D-<ULID>` id and writes the pending packet
to `.paqad/decisions/pending/D-<ULID>.json`.
- `resolve.mjs` records the chosen option and rationale, moves the packet to
`.paqad/decisions/resolved/D-<ULID>.json`, and stamps `resolved_at`.
A hand-written sequential `D-{N}` is rejected: a new packet can only carry a
minted ULID id, so two developers on parallel branches never allocate the same id
(issue #184's collision-free form, now enforced at creation time — issue #272).
This is the _contract_ packet — distinct from the rich `DecisionPacket`
(`src/planning/decision-packet.ts`) that the automated intake / reuse pipeline
mints and consumes. See `references/decision-packet-contract.md`.
## Use This When
- A choice falls into a Decision Pause category and you must record it before
implementing (see the Decision Pause Contract's category list).
- You are about to hand-author a `D-{id}.json` packet — use this instead.
- The user has answered a pending decision and you need to resolve it and commit
the resolved packet with the change it justifies.
## Inputs
- `