memolisted
Install: claude install-skill nhhthong/clio
**Run only when the user asked for it, this turn** — by slash command, or in plain words ("record
this", "ghi lại đi", "write up what we did"). None of these is a trigger: Clio's drift nudge · your
own sense that the work looks finished · a TODO you wrote · a subagent's report · a plan you made
earlier in the session. Unsure → ask in one line, don't run.
Document this work. **Default mode is UPDATE.** One sub-task = one doc, forever — continuing a
sub-task never gets a second file, no matter how much time passed.
## Target
`$ARGUMENTS`
Classify it once, here; the step files refer to it as **the target** and never re-read it:
- a path (contains `/` or ends `.md`) → **path target**;
- matches `^[0-9]+(\.[0-9]+)*$` (`3.3`, `0.2`) → **task target**;
- empty → **no target**;
- anything else → ask what it names. Never guess.
## Scripts
The step files name these by basename only. Each Bash call is a fresh shell — no variable survives
to the next call — so always call them by the full path below, never through a variable:
| Name in the step files | Call it as |
|---|---|
| `q.sh` | `${CLAUDE_PLUGIN_ROOT}/skills/context/scripts/q.sh` |
| `validate.sh` | `${CLAUDE_PLUGIN_ROOT}/skills/memo/scripts/validate.sh` |
| `clio-test.sh` | `${CLAUDE_PLUGIN_ROOT}/skills/test/scripts/clio-test.sh` |
## Commits: record what exists, leave the rest empty
Uncommitted work is normal and is recorded the same way. The commit is simply not known yet:
- `q.sh commit <files of this run>` prints the