pi-solid-tasks
Task tracking for Pi with dependencies, ownership, subtasks, and progress.
Package details
Install pi-solid-tasks from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-solid-tasks- Package
pi-solid-tasks- Version
0.8.17- Published
- Sep 30, 2026
- Downloads
- 589/mo · 241/wk
- Author
- dantetekanem
- License
- MIT
- Types
- extension
- Size
- 168.7 KB
- Dependencies
- 0 dependencies · 3 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
pi-solid-tasks
A task list for Pi that keeps unfinished work visible and checks what can start next.
Ask Pi to fix a bug or build a feature. The agent breaks the work into tasks, updates them as it goes, and shows progress above the editor. If one task needs another to finish first, the extension checks that dependency before letting the agent move on.
Install
Requires Pi 0.85.1 or newer.
Install from npm:
pi install npm:pi-solid-tasks
Or install from Git:
pi install git:github.com/dantetekanem/pi-solid-tasks
Restart Pi or run /reload. No manual configuration is needed.
This package runs with full system access; review the source before installing.
Use
Describe the work in your normal prompt. The agent manages the task list for multi-step work; you do not need to call the task tools yourself.
/tasksopens the full list, manual controls, and settings.Ctrl+Alt+T(Control+Option+Ton Mac) toggles the widget between the task list and a one-line summary./add-task <task>adds a rough task for the agent to clarify and carry out. If the agent is busy, the request waits until its current run finishes.
/add-task Fix the login timeout and cover it with a regression test
Tasks move from pending to in_progress to completed. The agent is instructed to verify the work before marking it complete. The extension checks task state, ownership, and dependencies; it cannot tell whether a fix is correct.
The one-line view shows current work, completed/total progress, and summed task time:
● 10 tasks · Implementing compact view… · 4/10 done · 12m 34s
Time adds each listed task's active intervals recorded since startup, reload, or session change, including completed work. Parallel intervals add together; waits pause timing. The view choice is saved across sessions and reloads. Narrow terminals shorten the current task first to preserve the counts.
Features
- One active task per owner. An agent cannot claim another task while it owns unfinished work. To abandon a task, it is instructed to undo the work before deleting the record.
- Dependencies checked before starting or finishing. Missing tasks and dependency loops are rejected without changing the list. Redundant dependencies are removed automatically.
- Up to four tasks in progress with different owners. Independent work can proceed in parallel, but tasks cannot jump past earlier work unless another owner is working on it or it depends on the later task. This package tracks ownership; it does not launch agents.
- Whole plans in one call.
tasks_create_in_batchcreates an ordered list, with optional groups and subtasks. An invalid batch creates nothing. - The next task comes back with completion.
task_donemarks one task complete and returns the next ready task's details, so the agent does not need to fetch the list again. It still has to claim and start that task. - Insert follow-up work where it belongs.
task_appendandtask_prependadd tasks beside an existing open task, putting unfinished prerequisites ahead of the tasks that need them. - Groups with one level of subtasks. Each group shows completed/total tasks and a percentage. Its status follows its children, and the group itself does not take an execution slot. Flat lists remain the default.
- A compact progress widget. Up to five task rows, at most two subtask rows, single-line labels, and elapsed time for active tasks. Hidden tasks still count toward progress. Waiting tasks show
(on wait)with a paused spinner. - Large batches broken into checkable work. Agent instructions require an inventory first when the items are unknown, then separate tasks or named batches before execution.
- Reminders when unfinished work goes idle. After five idle minutes, Pi asks the agent to reassess what it can do. There are at most two reminders per user request.
- Waiting for external results.
task_waitpauses reminders when no other work can advance and a verified wake-up is registered. The task stays in progress. This requires a compatible wake-up provider; see the wait requirements. - Completion cleanup.
tasks_doneclears a finished list in one call and refuses while anything remains unfinished. The agent is instructed to use it before its final response unless you ask to keep the records.
See the changelog for release history.
Idle reminders
Idle reminders start agent turns and pause for open question dialogs. Cancellation and model errors do not trigger automatic retries. Opening or reloading a session does not start work.
Settings and storage
Open /tasks and choose Settings to adjust visible rows, the hidden-task indicator, storage, and automatic cleanup.
| Scope | What it means |
|---|---|
session (default) |
A saved list for each Pi session, available when you resume it |
project |
A saved list shared by sessions in the same project |
memory |
A temporary list that is not saved to disk |
Settings and saved tasks live under ~/.pi/tasks/ by default. Completed flat lists also clear automatically by default. Grouped lists stay until cleared; clearing completed work keeps finished subtasks inside an unfinished group.
Progress measures completed tasks, not effort or time remaining. Adding tasks can lower the percentage.
Agent tools
The agent receives instructions for these tools automatically.
| Tool | Purpose |
|---|---|
tasks_create_in_batch |
Create an ordered plan, optionally with groups and subtasks |
task_create |
Create one task or group |
task_append |
Create a task after an existing open task |
task_prepend |
Create a task before an existing open task |
task_list |
Show tasks and execution order |
task_get |
Read one task and its dependencies |
task_update |
Change status, ownership, details, or dependencies |
task_done |
Complete one task and return the next ready task |
tasks_done |
Clear the completed list |
task_wait |
Pause for an external result with a verified wake-up |
task_output |
Read output from a tracked background process |
task_stop |
Stop a tracked background process |
Development
pnpm install
pi -e ./src/index.ts
pnpm check
pnpm check runs linting, type checking, tests, and the build. If this checkout is already installed in Pi, use /reload to load local changes.
Agent instructions live in prompts/ as Markdown, loaded by src/prompts.ts. They can be edited without changing the TypeScript implementation. Reload Pi after editing them.