@ogulcancelik/pi-goal
Autonomous goal pursuit for pi. Break work into tasks, spawn worker agents, track progress via files on disk.
Package details
Install @ogulcancelik/pi-goal from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@ogulcancelik/pi-goal- Package
@ogulcancelik/pi-goal- Version
0.1.1- Published
- Mar 17, 2026
- Downloads
- 34/mo · 10/wk
- Author
- ogulcancelik
- License
- MIT
- Types
- extension
- Size
- 68.9 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-goal
Autonomous goal pursuit with sub-agent workers for pi. Break work into tasks, spawn isolated workers, track progress via files on disk.
Install
pi install npm:@ogulcancelik/pi-goal
Or add manually to ~/.pi/agent/settings.json:
{
"packages": ["npm:@ogulcancelik/pi-goal"]
}
What it does
Turns multi-step work into structured goals with task breakdowns. You discuss a goal with the agent, it creates task documents with specific file paths and acceptance criteria, then spawns fresh worker agents to implement each task independently. Progress lives on disk — survives compaction, restarts, and context loss.
How it works
- You and the agent discuss a goal
- Agent creates structured tasks with
goal add_task— rich markdown docs with file paths, constraints, and acceptance criteria - Agent runs workers with
goal run— each gets a fresh pi subprocess, reads only its task doc, implements immediately - Results and learnings accumulate on disk in the goal directory
- Agent stays grounded via system prompt injection — active goal state is re-injected every turn, even after compaction
File structure
.pi/goals/
├── ACTIVE # slug of active goal
└── <goal-slug>/
├── GOAL.md # goal description
├── STATE.json # machine-readable state (tasks, status)
├── LEARNINGS.md # cross-task knowledge (auto-appended by workers)
├── tasks/
│ ├── 01-<task-name>.md # task spec (what workers read)
│ └── 02-<task-name>.md
├── results/
│ ├── 01.md # worker output
│ └── 02.md
└── sessions/ # worker session logs (for observability)
Actions
| Action | Description |
|---|---|
create |
Create a new goal with name, description, optional workerModel |
add_task |
Add a task with a name and full markdown spec |
run |
Execute all pending tasks sequentially with isolated worker agents |
status |
Check current goal progress, task states, and learnings |
Worker behavior
- Fresh
pisubprocess per task — no shared context between workers - Tools available:
read,edit,write,grep,find,ls(no bash) - Workers read their task doc first, then implement immediately
- Learnings from each worker are auto-extracted and appended to
LEARNINGS.md - Worker sessions are saved in the goal directory for observability
Configuration
Pass workerModel when creating a goal to control which model runs workers. Defaults to the facilitator's current model.
goal create — name: "my goal", workerModel: "anthropic/claude-sonnet-4-20250514"
This is v0.1 — more configuration options coming.
Requirements
- pi v0.40+
License
MIT