@inobit/pi-todo
Minimal-intrusion task list extension for the Pi coding agent: a `todo` tool, a `/todos` command, and a live panel above the editor. State is replayed from the session branch, so it survives /reload and compaction.
Package details
Install @inobit/pi-todo from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@inobit/pi-todo- Package
@inobit/pi-todo- Version
0.1.1- Published
- Aug 22, 2026
- Downloads
- 412/mo · 15/wk
- Author
- inobit
- License
- MIT
- Types
- extension
- Size
- 42.9 KB
- Dependencies
- 0 dependencies · 4 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@inobit/pi-todo
English | 中文
Minimal-intrusion task list extension for Pi coding agent: todo tool + /todos command + persistent panel above the editor.
- Low prompt intrusion: 3
promptGuidelines, decision-tree styledescription, only 6 core schema params — ~1.1 KB prompt overhead per turn - State on the session branch: each tool call writes a slim snapshot (
id/subject/status/activeForm) into the tool resultdetails; automatically restored after/reload, context compaction, and branch switches — zero disk writes - Session isolation: state is partitioned by session id, child/parallel sessions never pollute each other
Installation
pi install npm:@inobit/pi-todo
Restart the Pi session to take effect. For local development, symlink to ~/.pi/agent/extensions/pi-todo (Pi auto-loads the entry declared in pi.extensions); run /reload after code changes.
Usage
- Describe a multi-step task and the agent will call the
todotool to plan and track it, with live panel updates:todo create <subject> [description]— create a tasktodo update <id> <status> [activeForm]— advance status (in_progress/completed, optional running label like "writing tests")todo list [status]/todo get <id>/todo delete <id>/todo clear
/todos: fullscreen grouped list (Pending / In Progress / Completed),Escapeto close- Panel collapse shortcut:
ctrl+shift+t
Task states pending → in_progress → completed; completed is only set explicitly by the model. Deletes use a tombstone to prevent id reuse. No config file in v1.
Development
pnpm --filter @inobit/pi-todo check # tsc --noEmit
pnpm --filter @inobit/pi-todo test # vitest
pnpm --filter @inobit/pi-todo pack:check
pi -ne -e ./packages/pi-todo
License
MIT