← ClaudeAtlas

memolisted

Record a finished piece of work — update (or create) its sub-task doc under .claude/clio/docs/tasks/<feature>/, append the run to .claude/clio/database/index.jsonl, log what is still owed to .claude/clio/database/debt.jsonl, tick the plan task once /clio:test's gate passes, and propose a path-scoped .claude/rules/ entry or an ADR when warranted. Works on committed or uncommitted work, and backfills the commit hash later. Run after finishing a feature, fix or refactor.
nhhthong/clio · ★ 2 · Data & Documents · score 78
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