setuplisted
Install: claude install-skill nhhthong/clio
**Run only when the user asked for it, this turn** — by slash command, or in plain words ("set Clio up here", "cài clio vào repo này").
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.
Everything Clio owns lives in one folder, `.claude/clio/`. Setup writes nothing outside it — not
`CLAUDE.md`, not `CONTEXT.md`, not `.claude/rules/`, not `.gitignore`. Nothing Clio writes loads every
session; the skills read it when they need it.
```
.claude/clio/
├── docs/
│ ├── specs/requirements.md row → spec file index, Domains line (/clio:ingest)
│ ├── specs/memory/*.md distilled decisions per area (/clio:ingest)
│ ├── plans/*.md tasks + test levels, infra.md first (/clio:plan)
│ ├── tests/<area>.md test cases per task (/clio:test)
│ ├── tasks/<feature>/*.md one doc per sub-task (/clio:memo)
│ └── decisions/*.md ADRs (/clio:memo, /clio:ingest)
└── database/
├── index.jsonl built — append-only (/clio:memo)
├── debt.jsonl owed — append-only (/clio:memo, /clio:ingest)
└── runs.jsonl test evidence — append-only (clio-test.sh only)
```
## 0. Take stock, then ASK once
```bash
for t in bash jq git