pi-solid-tasks

Task tracking for Pi with dependencies, ownership, subtasks, and progress.

Packages

Package details

extension

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.

  • /tasks opens the full list, manual controls, and settings.
  • Ctrl+Alt+T (Control+Option+T on 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_batch creates an ordered list, with optional groups and subtasks. An invalid batch creates nothing.
  • The next task comes back with completion. task_done marks 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_append and task_prepend add 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_wait pauses 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_done clears 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.

Credits

Based on pi-tasks by tintinweb. Licensed under MIT.