task-ledgerlisted
Install: claude install-skill rhyspatt/stay-on-task
# Task ledger commands
The ledger lives outside the conversation, per project, under the Claude config directory. It
survives compaction and session restarts.
`$TASK` below is the invocation the hook messages print. It is
`node "<plugin root>/src/cli/task.js"`. Hook output always contains the resolved absolute path —
copy it from there rather than guessing.
## Recording
```bash
$TASK add "Fix the upload retry loop"
$TASK add "Add the roles migration" --detail "must run before the seed step, not after"
$TASK add-many "fix the parser
update the docs
run the build"
```
`add-many` strips leading `1.`, `-`, `*` so a pasted list works directly. One entry per deliverable.
## Working
```bash
$TASK start t3 # claim it; only one task is in progress at a time
$TASK next # print the next thing to work on
$TASK first t3 # move it to the top of its queue
$TASK note t3 "the callback only runs on the client, never on the server"
```
Notes are for findings worth keeping. They flow into the session log.
## Closing
```bash
$TASK done t3 --evidence "build clean, 0 warnings; test suite 42 passing"
$TASK block t5 --reason "needs the owner to confirm which endpoint is live"
$TASK drop t7 --reason "user said: skip the docs for now" # removes it from the list
$TASK reopen t3 # undo a close
```
`done` refuses without `--evidence`. `block` and `drop` refuse without `--reason`. This is deliberate.
There is no dropped status. `drop` deletes the ite