Read-only. Answer from the plugin's own files; never invent behaviour a SKILL.md does not describe.
No .claude/clio/ in this project → say so first, point at /clio:setup.
Question (may be empty): $ARGUMENTS
No argument → print this, then one line: clio:context runs before work; /clio:memo after is
the one command to remember, nothing reminds you.
| Command | Does | Run when |
|---|---|---|
/clio:setup |
scaffold .claude/, fill CLAUDE.md / CONTEXT.md by asking |
once per repo |
/clio:ingest <doc> |
distil a requirement document into docs/specs/memory/*.md + requirements.md |
once, and when a new source arrives |
/clio:plan <area> |
split a spec area into the smallest testable tasks → docs/plans/<area>.md |
after ingest, and when a row moves |
/clio:context [x] |
no arg: where are we (plans done/open, debt queue) · with area/row/id/question: spec, what was built, what is owed, quoted from the docs | Claude triggers it before work; you, when asking "where are we?" or "why?" |
/clio:memo |
record finished work: task doc, index.jsonl, debt.jsonl |
after each feature / fix |
/clio:update |
a spec changed: record the delta vs. existing code, move the row marker | when requirements change |
/clio:debt [filter] |
what is still owed, actionable vs. blocked | any time |
/clio:ask [x] |
this | when unsure |
Three questions, three files: decided? → .claude/docs/specs/requirements.md · built? →
.claude/clio/index.jsonl · owed? → .claude/clio/debt.jsonl. The .jsonl files are append-only;
the last line per id / doc is current state.
Argument names a command → read ${CLAUDE_PLUGIN_ROOT}/skills/<name>/SKILL.md (its
steps/ or HOP*.md only if needed). ≤ 15 lines: purpose · files read · files written · one
example invocation · the mistake it exists to prevent.
Argument is a question → ledger schema and kinds are in
${CLAUDE_PLUGIN_ROOT}/skills/memo/steps/DEBT-IT.md and INDEX-IT.md, read-side queries in
${CLAUDE_PLUGIN_ROOT}/skills/context/HOP*.md, status semantics in
${CLAUDE_PLUGIN_ROOT}/skills/update/SKILL.md § 2. Quote the file you answered from. Not
covered → say so.