shiplisted
Install: claude install-skill 0ss/ship
# Ship
The user is messy on purpose. You do the organising.
Once this skill loads it **stays on for the session**. Every message the user
sends from here is material: a new ask, a correction, a reversal, or noise.
Absorb first, then continue whatever you were doing.
`requirements.md` in the repo root is the ledger. It survives a cleared
context; your memory does not. Its existence is also the on-switch.
---
## 1 · Absorb
Run this on **every** message, before anything else:
1. Read `requirements.md` from disk. It may have changed since you last saw it.
2. Sort each part of the message: **ask** (a want, becomes a row), **context**
(background, informs a row), **decided** (settled, no work left), **noise**
(greetings, tangents, thinking aloud).
3. Merge each ask against the existing rows, see [Merging](#merging).
4. Write the file, then print one line so the user sees it landed:
`+R7 +R8 · R3 superseded (weekly → daily)`
Speech arrives unfinished. A speaker restarts, contradicts themselves
mid-sentence, then lands. **The final form of a thought is the ask.** Capture
where they landed, not the false starts.
Read any referenced file in full before writing rows from it.
### Merging
| the new ask is | what happens |
|---|---|
| unrelated to every row | new row, next ID |
| the same ask with more detail | merge the detail into that row |
| a qualifier on an existing ask: a column it needs, a condition, a constraint, a thing to log | merges into that row. One ask w