taskplane 0.22.18 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/public/app.js +365 -7
- package/dashboard/public/index.html +16 -0
- package/dashboard/public/style.css +105 -0
- package/dashboard/server.cjs +199 -0
- package/extensions/task-runner.ts +40 -286
- package/extensions/taskplane/abort.ts +11 -1
- package/extensions/taskplane/agent-bridge-extension.ts +159 -0
- package/extensions/taskplane/agent-host.ts +686 -0
- package/extensions/taskplane/engine.ts +75 -3
- package/extensions/taskplane/execution.ts +403 -9
- package/extensions/taskplane/extension.ts +322 -28
- package/extensions/taskplane/lane-runner.ts +567 -0
- package/extensions/taskplane/mailbox.ts +349 -1
- package/extensions/taskplane/merge.ts +208 -51
- package/extensions/taskplane/process-registry.ts +345 -0
- package/extensions/taskplane/resume.ts +185 -47
- package/extensions/taskplane/supervisor.ts +16 -12
- package/extensions/taskplane/task-executor-core.ts +553 -0
- package/extensions/taskplane/types.ts +517 -1
- package/package.json +1 -1
- package/skills/create-taskplane-task/SKILL.md +41 -33
- package/skills/create-taskplane-task/references/prompt-template.md +3 -3
|
@@ -1,45 +1,51 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: create-taskplane-task
|
|
3
|
-
version: 1.
|
|
4
|
-
description: Creates structured Taskplane task packets (PROMPT.md, STATUS.md) for autonomous agent execution via the task-
|
|
3
|
+
version: 1.2.0
|
|
4
|
+
description: Creates structured Taskplane task packets (PROMPT.md, STATUS.md) for autonomous agent execution via the task-orchestrator extension (/orch). Use when asked to "create a task", "create a taskplane task", "stage a task", "prepare a task for execution", "write a PROMPT.md", "set up work for the agent", "queue a task", or whenever the user wants to define work that will be executed autonomously by another agent instance.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Create Taskplane Task
|
|
8
8
|
|
|
9
9
|
Creates structured task packets (PROMPT.md + STATUS.md) for autonomous execution
|
|
10
|
-
via the **task-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
dashboard — so PROMPT.md stays focused on WHAT to do, not HOW to execute.
|
|
10
|
+
via the **task-orchestrator extension** (`/orch`). The orchestrator handles the
|
|
11
|
+
execution loop, fresh-context management, cross-model reviews, wave scheduling,
|
|
12
|
+
and live dashboard — so PROMPT.md stays focused on WHAT to do, not HOW to execute.
|
|
14
13
|
|
|
15
14
|
## Architecture
|
|
16
15
|
|
|
17
16
|
```
|
|
18
17
|
create-taskplane-task skill → Creates PROMPT.md + STATUS.md
|
|
19
|
-
task-
|
|
18
|
+
task-orchestrator extension → Executes tasks (single or batch)
|
|
20
19
|
├─ task-worker.md agent → Worker system prompt (checkpoint discipline, resume logic)
|
|
21
20
|
├─ task-reviewer.md agent → Reviewer system prompt (review formats, criteria)
|
|
22
|
-
└─
|
|
21
|
+
└─ taskplane-config.json → Project-specific settings, paths, standards
|
|
23
22
|
```
|
|
24
23
|
|
|
25
|
-
The skill only creates files. All execution behavior lives in the
|
|
24
|
+
The skill only creates files. All execution behavior lives in the orchestrator
|
|
25
|
+
and the current execution engine (orchestrator + agent-host, direct process
|
|
26
|
+
hosting, no TMUX).
|
|
26
27
|
|
|
27
28
|
## Prerequisites
|
|
28
29
|
|
|
29
|
-
**If `.pi/
|
|
30
|
-
|
|
31
|
-
without knowing where
|
|
30
|
+
**If `.pi/taskplane-config.json` does not exist** (and `.pi/task-runner.yaml`
|
|
31
|
+
is also absent), the project has not been initialized. Tell the user to run
|
|
32
|
+
`taskplane init` first — the skill cannot create tasks without knowing where
|
|
33
|
+
task areas live.
|
|
32
34
|
|
|
33
35
|
## Configuration
|
|
34
36
|
|
|
35
|
-
**Read `.pi/
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
- `
|
|
41
|
-
- `
|
|
42
|
-
- `
|
|
37
|
+
**Read `.pi/taskplane-config.json` first** (JSON, canonical). Fall back to
|
|
38
|
+
`.pi/task-runner.yaml` only if the JSON config does not exist. Use canonical
|
|
39
|
+
JSON keys when documenting behavior; YAML keys are compatibility aliases.
|
|
40
|
+
|
|
41
|
+
Primary keys to read:
|
|
42
|
+
- `taskRunner.taskAreas` (legacy alias: `task_areas`) — folder paths, prefixes, CONTEXT.md locations per area
|
|
43
|
+
- `taskRunner.referenceDocs` (legacy alias: `reference_docs`) — available Tier 3 docs for "Context to Read First"
|
|
44
|
+
- `taskRunner.standards` — project coding rules and standards docs
|
|
45
|
+
- `taskRunner.testing.commands` — how to run tests
|
|
46
|
+
- `taskRunner.selfDocTargets` (legacy alias: `self_doc_targets`) — where agents log discoveries
|
|
47
|
+
- `taskRunner.protectedDocs` (legacy alias: `protected_docs`) — docs requiring user approval to modify
|
|
48
|
+
- `taskRunner.neverLoad` (legacy alias: `never_load`) — docs to exclude from task execution context
|
|
43
49
|
|
|
44
50
|
---
|
|
45
51
|
|
|
@@ -53,7 +59,7 @@ The user will rarely specify which area to use — **figure it out from context.
|
|
|
53
59
|
|
|
54
60
|
**When there are multiple areas**, match the task to the right area:
|
|
55
61
|
|
|
56
|
-
1. Read
|
|
62
|
+
1. Read the project config (`taskplane-config.json` or `task-runner.yaml`) → `taskRunner.taskAreas` (or `task_areas` in fallback YAML) to get all areas
|
|
57
63
|
2. Read each area's `CONTEXT.md` — the "Current State" section describes what
|
|
58
64
|
that area owns (its domain, services, file scope)
|
|
59
65
|
3. Match the task description to the area whose scope best fits:
|
|
@@ -71,7 +77,7 @@ The user will rarely specify which area to use — **figure it out from context.
|
|
|
71
77
|
|
|
72
78
|
**Note:** Task area structures evolve over time. A new project starts with a
|
|
73
79
|
single `taskplane-tasks/` folder and one area. As the project grows, users add
|
|
74
|
-
domains and platform areas in
|
|
80
|
+
domains and platform areas in the config. The skill adapts — it always
|
|
75
81
|
reads the config to discover what areas exist rather than assuming a layout.
|
|
76
82
|
|
|
77
83
|
### Step 2: Assess Complexity & Size
|
|
@@ -91,19 +97,20 @@ Use the template in [references/prompt-template.md](references/prompt-template.m
|
|
|
91
97
|
### Step 5: Create STATUS.md
|
|
92
98
|
|
|
93
99
|
Use the STATUS.md template in [references/prompt-template.md](references/prompt-template.md).
|
|
94
|
-
(If omitted, the
|
|
100
|
+
(If omitted, the execution engine can auto-generate it from PROMPT.md.)
|
|
95
101
|
|
|
96
102
|
### Step 6: Update Tracking
|
|
97
103
|
|
|
98
104
|
- **CONTEXT.md** — Increment `Next Task ID` (done in Step 1)
|
|
99
|
-
- **PROGRESS.md** — Add row to "Active Tasks" table
|
|
100
105
|
|
|
101
106
|
### Step 7: Report Launch Command
|
|
102
107
|
|
|
103
108
|
```
|
|
104
|
-
/
|
|
109
|
+
/orch {area.path}/{PREFIX-###-slug}/PROMPT.md
|
|
105
110
|
```
|
|
106
111
|
|
|
112
|
+
For batch execution of multiple tasks: `/orch all`
|
|
113
|
+
|
|
107
114
|
---
|
|
108
115
|
|
|
109
116
|
## Complexity Assessment
|
|
@@ -165,9 +172,11 @@ PROMPT.md tells the worker what to load. Less is better.
|
|
|
165
172
|
| **3** | Specific reference docs | Only the docs this task needs |
|
|
166
173
|
|
|
167
174
|
Populate "Context to Read First" in PROMPT.md using docs from
|
|
168
|
-
|
|
175
|
+
the project config → `taskRunner.referenceDocs` (legacy YAML: `reference_docs`).
|
|
176
|
+
List only what the task actually needs.
|
|
169
177
|
|
|
170
|
-
Docs in
|
|
178
|
+
Docs listed in config → `taskRunner.neverLoad` (legacy YAML: `never_load`)
|
|
179
|
+
must NOT appear in any task.
|
|
171
180
|
|
|
172
181
|
---
|
|
173
182
|
|
|
@@ -252,8 +261,8 @@ resumability checkpoint, not a line-by-line implementation journal.
|
|
|
252
261
|
### Constraint: No New Steps at Runtime
|
|
253
262
|
|
|
254
263
|
**Workers MUST NOT add, remove, or renumber steps during execution.** The
|
|
255
|
-
|
|
256
|
-
|
|
264
|
+
execution engine parses the step list from PROMPT.md once at launch and
|
|
265
|
+
iterates that fixed list. Steps added to STATUS.md at runtime will appear in
|
|
257
266
|
the dashboard but **silently never execute**.
|
|
258
267
|
|
|
259
268
|
Hydration expands checkboxes *within* existing steps only. If a worker discovers
|
|
@@ -302,7 +311,7 @@ Notes:
|
|
|
302
311
|
Verify every task against this before reporting the launch command:
|
|
303
312
|
|
|
304
313
|
- [ ] `Next Task ID` read from CONTEXT.md and incremented
|
|
305
|
-
- [ ] Folder created at correct `
|
|
314
|
+
- [ ] Folder created at correct `taskRunner.taskAreas` path (or fallback YAML `task_areas`) with name `{PREFIX}-{###}-{slug}`
|
|
306
315
|
- [ ] Complexity assessed, review level assigned (0-3)
|
|
307
316
|
- [ ] Size assessed (S/M/L) — split if XL
|
|
308
317
|
- [ ] PROMPT.md created from template with all required sections:
|
|
@@ -319,8 +328,7 @@ Verify every task against this before reporting the launch command:
|
|
|
319
328
|
- [ ] STATUS.md created with matching step structure
|
|
320
329
|
- [ ] Checkboxes match PROMPT.md granularity (1:1 where items are known)
|
|
321
330
|
- [ ] `⚠️ Hydrate` markers for discovery-dependent steps
|
|
322
|
-
- [ ]
|
|
323
|
-
- [ ] Launch command reported: `/task {path}/PROMPT.md`
|
|
331
|
+
- [ ] Launch command reported: `/orch {path}/PROMPT.md`
|
|
324
332
|
|
|
325
333
|
---
|
|
326
334
|
|
|
@@ -339,7 +347,7 @@ is there).
|
|
|
339
347
|
## Orchestrator Awareness
|
|
340
348
|
|
|
341
349
|
Tasks are often executed in parallel batches by the task-orchestrator extension,
|
|
342
|
-
not just
|
|
350
|
+
not just as one-off single-task runs. Two fields in PROMPT.md become load-bearing
|
|
343
351
|
in batch mode:
|
|
344
352
|
|
|
345
353
|
- **`## Dependencies`** — determines wave ordering. Tasks with unmet deps are
|
|
@@ -21,7 +21,7 @@ Copy this template when creating a new task. Replace all `[bracketed]` fields.
|
|
|
21
21
|
[FULL_PATH_TO_TASK_FOLDER]/
|
|
22
22
|
├── PROMPT.md ← This file (immutable above --- divider)
|
|
23
23
|
├── STATUS.md ← Execution state (worker updates this)
|
|
24
|
-
├── .reviews/ ← Reviewer output (
|
|
24
|
+
├── .reviews/ ← Reviewer output (created by the orchestrator runtime)
|
|
25
25
|
└── .DONE ← Created when complete
|
|
26
26
|
```
|
|
27
27
|
|
|
@@ -90,7 +90,7 @@ Copy this template when creating a new task. Replace all `[bracketed]` fields.
|
|
|
90
90
|
> ZERO test failures allowed. This step runs the FULL test suite as a quality gate.
|
|
91
91
|
> (Earlier steps should use targeted tests for fast feedback — see worker prompt.)
|
|
92
92
|
|
|
93
|
-
- [ ] Run FULL test suite: `[test command from
|
|
93
|
+
- [ ] Run FULL test suite: `[test command from project config]`
|
|
94
94
|
- [ ] Run integration tests (if applicable)
|
|
95
95
|
- [ ] Fix all failures
|
|
96
96
|
- [ ] Build passes: `[build command]`
|
|
@@ -148,7 +148,7 @@ for this task MUST include the task ID for traceability:
|
|
|
148
148
|
|
|
149
149
|
# STATUS.md Template
|
|
150
150
|
|
|
151
|
-
Create alongside PROMPT.md. If omitted, the
|
|
151
|
+
Create alongside PROMPT.md. If omitted, the execution engine may auto-generate
|
|
152
152
|
this from PROMPT.md.
|
|
153
153
|
|
|
154
154
|
````markdown
|