taskplane 0.28.3 → 0.28.5

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.
Files changed (71) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +215 -215
  3. package/bin/gitignore-patterns.mjs +79 -79
  4. package/bin/rpc-wrapper.mjs +1086 -1086
  5. package/bin/taskplane.mjs +3254 -3254
  6. package/dashboard/public/app.js +2573 -2573
  7. package/dashboard/public/index.html +139 -139
  8. package/dashboard/public/style.css +1882 -1882
  9. package/dashboard/public/taskplane-word-color.svg +18 -18
  10. package/dashboard/public/taskplane-word-white.svg +18 -18
  11. package/dashboard/server.cjs +1666 -1666
  12. package/extensions/reviewer-extension.ts +119 -119
  13. package/extensions/task-orchestrator.ts +28 -28
  14. package/extensions/taskplane/abort.ts +502 -502
  15. package/extensions/taskplane/agent-bridge-extension.ts +765 -765
  16. package/extensions/taskplane/agent-host.ts +833 -745
  17. package/extensions/taskplane/cleanup.ts +747 -747
  18. package/extensions/taskplane/config-loader.ts +1328 -1322
  19. package/extensions/taskplane/config-schema.ts +692 -682
  20. package/extensions/taskplane/config.ts +73 -73
  21. package/extensions/taskplane/context-window.ts +66 -66
  22. package/extensions/taskplane/diagnostic-reports.ts +463 -463
  23. package/extensions/taskplane/diagnostics.ts +385 -385
  24. package/extensions/taskplane/engine-worker-entry.mjs +34 -34
  25. package/extensions/taskplane/engine-worker.ts +381 -381
  26. package/extensions/taskplane/engine.ts +4539 -4527
  27. package/extensions/taskplane/execution.ts +2733 -2708
  28. package/extensions/taskplane/extension.ts +30 -9
  29. package/extensions/taskplane/formatting.ts +773 -773
  30. package/extensions/taskplane/git.ts +90 -90
  31. package/extensions/taskplane/index.ts +28 -28
  32. package/extensions/taskplane/lane-runner.ts +1383 -1360
  33. package/extensions/taskplane/mailbox.ts +689 -689
  34. package/extensions/taskplane/merge.ts +3135 -3135
  35. package/extensions/taskplane/messages.ts +985 -985
  36. package/extensions/taskplane/migrations.ts +278 -278
  37. package/extensions/taskplane/naming.ts +117 -117
  38. package/extensions/taskplane/path-resolver.ts +237 -237
  39. package/extensions/taskplane/persistence.ts +2087 -2087
  40. package/extensions/taskplane/process-registry.ts +416 -416
  41. package/extensions/taskplane/quality-gate.ts +1033 -1033
  42. package/extensions/taskplane/resume.ts +2879 -2878
  43. package/extensions/taskplane/sessions.ts +57 -57
  44. package/extensions/taskplane/settings-loader.ts +136 -136
  45. package/extensions/taskplane/settings-tui.ts +1867 -1865
  46. package/extensions/taskplane/sidecar-telemetry.ts +252 -252
  47. package/extensions/taskplane/supervisor-primer.md +1694 -1694
  48. package/extensions/taskplane/supervisor.ts +4341 -4341
  49. package/extensions/taskplane/task-executor-core.ts +550 -550
  50. package/extensions/taskplane/tmux-compat.ts +37 -37
  51. package/extensions/taskplane/types.ts +4297 -4278
  52. package/extensions/taskplane/verification.ts +542 -542
  53. package/extensions/taskplane/waves.ts +1548 -1548
  54. package/extensions/taskplane/workspace.ts +705 -705
  55. package/extensions/taskplane/worktree.ts +2604 -2505
  56. package/package.json +57 -57
  57. package/skills/create-taskplane-task/SKILL.md +465 -465
  58. package/skills/create-taskplane-task/references/prompt-template.md +285 -285
  59. package/templates/agents/local/supervisor.md +33 -33
  60. package/templates/agents/local/task-merger.md +27 -27
  61. package/templates/agents/local/task-reviewer.md +30 -30
  62. package/templates/agents/local/task-worker.md +34 -34
  63. package/templates/agents/supervisor-routing.md +92 -92
  64. package/templates/agents/supervisor.md +168 -168
  65. package/templates/agents/task-merger.md +214 -214
  66. package/templates/agents/task-reviewer.md +192 -192
  67. package/templates/agents/task-worker.md +429 -429
  68. package/templates/tasks/EXAMPLE-001-hello-world/PROMPT.md +98 -98
  69. package/templates/tasks/EXAMPLE-001-hello-world/STATUS.md +73 -73
  70. package/templates/tasks/EXAMPLE-002-parallel-smoke/PROMPT.md +97 -97
  71. package/templates/tasks/EXAMPLE-002-parallel-smoke/STATUS.md +73 -73
@@ -1,465 +1,465 @@
1
- ---
2
- name: create-taskplane-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
- ---
6
-
7
- # Create Taskplane Task
8
-
9
- Creates structured task packets (PROMPT.md + STATUS.md) for autonomous execution
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.
13
-
14
- ## Architecture
15
-
16
- ```
17
- create-taskplane-task skill → Creates PROMPT.md + STATUS.md
18
- task-orchestrator extension → Executes tasks (single or batch)
19
- ├─ task-worker.md agent → Worker system prompt (checkpoint discipline, resume logic)
20
- ├─ task-reviewer.md agent → Reviewer system prompt (review formats, criteria)
21
- └─ taskplane-config.json → Project-specific settings, paths, standards
22
- ```
23
-
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).
27
-
28
- ## Prerequisites
29
-
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.
34
-
35
- ## Configuration
36
-
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
49
-
50
- ---
51
-
52
- ## Task Creation Workflow
53
-
54
- ### Step 1: Determine Location & Next ID
55
-
56
- The user will rarely specify which area to use — **figure it out from context.**
57
-
58
- **When there's only one area** (typical for new projects), use it directly.
59
-
60
- **When there are multiple areas**, match the task to the right area:
61
-
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
63
- 2. Read each area's `CONTEXT.md` — the "Current State" section describes what
64
- that area owns (its domain, services, file scope)
65
- 3. Match the task description to the area whose scope best fits:
66
- - A task about PTO accrual → `time-off` area
67
- - A task about the orchestrator itself → `task-system` area
68
- - A task about login flows → `identity-access` area
69
- 4. If ambiguous (task spans multiple areas), prefer the area that owns the
70
- primary file being modified, or ask the user
71
-
72
- **After selecting the area:**
73
-
74
- 1. Read that area's `CONTEXT.md` and find the `Next Task ID` counter
75
- 2. Use that ID for the new task
76
- 3. **Increment the counter** in the same CONTEXT.md edit
77
-
78
- **Note:** Task area structures evolve over time. A new project starts with a
79
- single `taskplane-tasks/` folder and one area. As the project grows, users add
80
- domains and platform areas in the config. The skill adapts — it always
81
- reads the config to discover what areas exist rather than assuming a layout.
82
-
83
- ### Step 2: Assess Complexity & Size
84
-
85
- **You MUST explicitly score and assign review level before creating PROMPT.md.**
86
-
87
- Quick reference (full rubric in [Complexity Assessment](#complexity-assessment)):
88
- - Score each dimension 0-2: Blast radius, Pattern novelty, Security, Reversibility
89
- - Sum → Level: 0-1→L0 (None), 2-3→L1 (Plan), 4-5→L2 (Plan+Code), 6-8→L3 (Full)
90
- - Size: S (<2h), M (2-4h), L (4-8h), XL (8h+ → must split)
91
-
92
- **Do not default to Review Level 0.** Level 0 is only appropriate for trivial changes (doc updates, config, boilerplate). Most M-sized tasks score ≥2 and require at least Level 1.
93
-
94
- ### Step 3: Create Task Folder
95
-
96
- ```
97
- {area.path}/{PREFIX-###-slug}/
98
- ```
99
-
100
- ### Step 4: Create PROMPT.md
101
-
102
- Use the template in [references/prompt-template.md](references/prompt-template.md).
103
-
104
- ### Step 5: Create STATUS.md
105
-
106
- Use the STATUS.md template in [references/prompt-template.md](references/prompt-template.md).
107
- (If omitted, the execution engine can auto-generate it from PROMPT.md.)
108
-
109
- ### Step 6: Update Tracking
110
-
111
- - **CONTEXT.md** — Increment `Next Task ID` (done in Step 1)
112
-
113
- ### Step 7: Report Launch Command
114
-
115
- ```
116
- /orch {area.path}/{PREFIX-###-slug}/PROMPT.md
117
- ```
118
-
119
- For batch execution of multiple tasks: `/orch all`
120
-
121
- ---
122
-
123
- ## Complexity Assessment
124
-
125
- Evaluate the task to determine cross-model review level.
126
-
127
- ### Review Levels
128
-
129
- | Level | Label | Reviewer Calls |
130
- |-------|-------|----------------|
131
- | 0 | None | Zero — doc updates, config, boilerplate |
132
- | 1 | Plan Only | Plan review before implementation |
133
- | 2 | Plan + Code | Plan review + code review after implementation |
134
- | 3 | Full | Plan + code + test review |
135
-
136
- ### Scoring (0-2 per dimension, sum for level)
137
-
138
- | Dimension | 0 (Low) | 1 (Medium) | 2 (High) |
139
- |-----------|---------|------------|----------|
140
- | **Blast radius** | Single file | Single service | Multiple services |
141
- | **Pattern novelty** | Existing patterns | Adapting patterns | New patterns |
142
- | **Security** | No auth/data | Touches auth | Modifies auth/encryption |
143
- | **Reversibility** | Easy revert | Needs migration | Data model change |
144
-
145
- - Score 0-1 → Level 0 · Score 2-3 → Level 1 · Score 4-5 → Level 2 · Score 6-8 → Level 3
146
-
147
- ### Per-Step Override
148
-
149
- Individual steps can override the task-level review:
150
-
151
- ```markdown
152
- ### Step 3: Add RBAC middleware
153
- > **Review override: code review** — This step touches authorization.
154
- ```
155
-
156
- ---
157
-
158
- ## Task Sizing
159
-
160
- | Size | Duration | Action |
161
- |------|----------|--------|
162
- | **S** | < 2 hours | Create as-is |
163
- | **M** | 2-4 hours | Ideal size — create as-is |
164
- | **L** | 4-8 hours | Split if possible |
165
- | **XL** | 8+ hours | **Must split** into M/L tasks with dependencies |
166
-
167
- **Rule of thumb:** More than ~3 major implementation steps → split it.
168
-
169
- ---
170
-
171
- ## Tiered Context Loading
172
-
173
- PROMPT.md tells the worker what to load. Less is better.
174
-
175
- | Tier | What | Loaded By |
176
- |------|------|-----------|
177
- | **1** | PROMPT.md + STATUS.md | Always (automatic) |
178
- | **2** | Area CONTEXT.md | When referenced in "Context to Read First" |
179
- | **3** | Specific reference docs | Only the docs this task needs |
180
-
181
- Populate "Context to Read First" in PROMPT.md using docs from
182
- the project config → `taskRunner.referenceDocs` (legacy YAML: `reference_docs`).
183
- List only what the task actually needs.
184
-
185
- Docs listed in config → `taskRunner.neverLoad` (legacy YAML: `never_load`)
186
- must NOT appear in any task.
187
-
188
- ---
189
-
190
- ## STATUS.md Hydration
191
-
192
- STATUS.md is the worker's ONLY memory between iterations. It needs enough
193
- structure so progress survives when an iteration ends mid-step — but not so much
194
- structure that it becomes a rigid script the worker follows mechanically.
195
-
196
- ### Philosophy: Adaptive Planning, Not Exhaustive Scripting
197
-
198
- Hydration exists because workers discover things at runtime they couldn't know
199
- upfront: the actual function signatures, the edge cases that emerge from reading
200
- source, the reviewer feedback that reshapes approach. The goal is **adaptability
201
- in the face of unknowns** — not granularity for its own sake.
202
-
203
- **The right level of detail depends on predictability:**
204
-
205
- | How predictable is the work? | Approach |
206
- |------------------------------|----------|
207
- | You know exactly what files/methods/tests are needed | List them as checkboxes |
208
- | You know the general shape but details depend on source code | Write intent-level checkboxes; trust the worker to figure out implementation specifics |
209
- | You genuinely don't know what's needed until a prior step runs | Use `⚠️ Hydrate` marker |
210
-
211
- **Anti-pattern to avoid:** Creating 15+ micro-checkboxes that spell out every
212
- function name, parameter, and assertion before the worker has even read the
213
- source code. This wastes task-creation time, produces items that frequently need
214
- revision anyway, and turns the worker into a checkbox-follower instead of a
215
- problem-solver.
216
-
217
- ### Task Creator Responsibilities
218
-
219
- **Match STATUS.md to PROMPT.md granularity — no more, no less.** PROMPT.md steps
220
- should express *outcomes* the worker needs to achieve, not dictate *how* to
221
- achieve them.
222
-
223
- Good granularity examples:
224
-
225
- | PROMPT.md says | STATUS.md should have |
226
- |----------------|-----------------------|
227
- | "Implement CRUD operations for Projects" | `- [ ] Implement Create, Read, Update, Delete for Projects` (one checkbox — the worker can figure out 4 methods) |
228
- | "Add repo-aware fields to persistence schema" | `- [ ] Add repo fields to schema and update serialization` |
229
- | "Test merge failure scenarios" | `- [ ] Add tests for merge failure paths` |
230
- | "Update merge flow to work per-repo" | `- [ ] Refactor merge to partition by repo` and `- [ ] Aggregate per-repo results` (two checkboxes — these are genuinely distinct outcomes) |
231
-
232
- Over-hydrated examples (avoid):
233
-
234
- | ❌ Too granular | ✅ Better |
235
- |----------------|-----------|
236
- | 10 checkboxes naming every function, parameter, and import to change | 2-3 checkboxes describing the behavioral changes |
237
- | Separate checkboxes for "create file", "add imports", "add function", "export function" | One checkbox: "Create helper module with X capability" |
238
- | One checkbox per test assertion | One checkbox per test scenario or category |
239
-
240
- **Use `⚠️ Hydrate` markers** for steps that genuinely depend on runtime
241
- discoveries — where the task creator cannot know the items upfront:
242
-
243
- ```markdown
244
- ### Step 2: Handle migration
245
- **Status:** ⬜ Not Started
246
- > ⚠️ Hydrate: Expand based on schema gaps identified in Step 1
247
-
248
- - [ ] Implement v1→v2 compatibility (details depend on Step 1 findings)
249
- ```
250
-
251
- **When to use markers vs. pre-hydration:**
252
-
253
- | Situation | Approach |
254
- |-----------|----------|
255
- | Outcomes are known at creation time | Pre-hydrate with outcome-level checkboxes |
256
- | Details depend on analysis/discovery in a prior step | `⚠️ Hydrate` marker |
257
- | Details depend on what exists on disk | `⚠️ Hydrate` marker |
258
- | Reviewer feedback adds new items | Worker adds items (handled by worker agent) |
259
-
260
- ### Worker Hydration at Runtime
261
-
262
- Workers may expand checkboxes when entering a step — but should apply the same
263
- principle: **add checkboxes for distinct outcomes discovered during exploration,
264
- not for every individual code change.** The worker agent has hydration rules
265
- (commit-before-implement, REVISE-triggered expansion). The goal is a useful
266
- resumability checkpoint, not a line-by-line implementation journal.
267
-
268
- ### Constraint: No New Steps at Runtime
269
-
270
- **Workers MUST NOT add, remove, or renumber steps during execution.** The
271
- execution engine parses the step list from PROMPT.md once at launch and
272
- iterates that fixed list. Steps added to STATUS.md at runtime will appear in
273
- the dashboard but **silently never execute**.
274
-
275
- Hydration expands checkboxes *within* existing steps only. If a worker discovers
276
- work that doesn't fit any step, it should add sub-checkboxes to the closest
277
- existing step and log the overflow in the STATUS.md Discoveries table.
278
-
279
- **Task creators:** ensure PROMPT.md has all necessary steps upfront. If a task's
280
- scope might expand during execution, prefer fewer broad steps (the worker will
281
- hydrate them) over many narrow steps that might need restructuring.
282
-
283
- ---
284
-
285
- ## PROMPT.md Amendment Policy
286
-
287
- The template includes an `## Amendments` placeholder at the bottom of PROMPT.md.
288
- Original content above the `---` divider is immutable — workers use that section
289
- only for issues like missing prerequisites or contradictory instructions, not
290
- scope expansion or style preferences.
291
-
292
- ---
293
-
294
- ## Dependencies Format
295
-
296
- The orchestrator **machine-parses** this section using regex — stick to the exact
297
- patterns below. Non-standard formatting (e.g., missing bold markers, inline prose
298
- without a task ID pattern) may cause silent dependency misses or `PARSE_MALFORMED`
299
- errors at batch time.
300
-
301
- ```markdown
302
- ## Dependencies
303
-
304
- - **Task:** TO-014 (PTO policy engine must exist)
305
- - **Task:** employee-management/EM-003 (area-qualified when ID may be ambiguous)
306
- - **External:** All backend services running (ports 8080-8085)
307
- - **None**
308
- ```
309
-
310
- Notes:
311
- - Use unqualified `TASK-ID` when globally unique
312
- - Use `area-name/TASK-ID` for cross-area clarity or when orchestrator reports `DEP_AMBIGUOUS`
313
-
314
- ---
315
-
316
- ## Checklist (Definition of Ready)
317
-
318
- Verify every task against this before reporting the launch command:
319
-
320
- - [ ] `Next Task ID` read from CONTEXT.md and incremented
321
- - [ ] Folder created at correct `taskRunner.taskAreas` path (or fallback YAML `task_areas`) with name `{PREFIX}-{###}-{slug}`
322
- - [ ] Complexity assessed, review level assigned (0-3)
323
- - [ ] Size assessed (S/M/L) — split if XL
324
- - [ ] PROMPT.md created from template with all required sections:
325
- - [ ] `## Mission` with what AND why
326
- - [ ] `## Dependencies` section
327
- - [ ] `## Context to Read First` lists only needed Tier 3 docs
328
- - [ ] `## File Scope` lists files/dirs the task will touch
329
- - [ ] Each step has checkboxes with verifiable outcomes
330
- - [ ] Explicit testing step with full-suite command (per-step targeted tests are in the worker prompt)
331
- - [ ] `## Do NOT` guardrails
332
- - [ ] "Must Update" and "Check If Affected" doc lists
333
- - [ ] `## Git Commit Convention` section (from template)
334
- - [ ] `## Amendments` placeholder at bottom
335
- - [ ] STATUS.md created with matching step structure
336
- - [ ] Checkboxes match PROMPT.md granularity (1:1 where items are known)
337
- - [ ] `⚠️ Hydrate` markers for discovery-dependent steps
338
- - [ ] Launch command reported: `/orch {path}/PROMPT.md`
339
-
340
- ---
341
-
342
- ## Git Commit Convention
343
-
344
- The prompt template includes a `## Git Commit Convention` section. Workers
345
- commit at **step boundaries** (not after every checkbox) to keep git history
346
- meaningful. Hydration commits are the exception — STATUS.md expansions are
347
- committed immediately to preserve the plan for crash recovery. Always include
348
- the task ID prefix — without it, there's no way to trace commits back to the
349
- task that produced them (`git log --grep="PM-004"` only works if the prefix
350
- is there).
351
-
352
- ---
353
-
354
- ## Orchestrator Awareness
355
-
356
- Tasks are often executed in parallel batches by the task-orchestrator extension,
357
- not just as one-off single-task runs. Two fields in PROMPT.md become load-bearing
358
- in batch mode:
359
-
360
- - **`## Dependencies`** — determines wave ordering. Tasks with unmet deps are
361
- deferred to later waves. Incorrect or missing deps cause parallel execution of
362
- tasks that should be serial, leading to merge conflicts or stale reads.
363
- - **`## File Scope`** — determines lane affinity. Tasks with overlapping file
364
- scope are assigned to the same lane (serial) to avoid merge conflicts. Without
365
- file scope, the orchestrator distributes tasks randomly across lanes.
366
-
367
- When creating multiple tasks for a batch, think about which tasks touch the same
368
- files and make sure their file scopes reflect that.
369
-
370
- ---
371
-
372
- ## Multi-Repo Segment Markers
373
-
374
- When a task spans multiple repos (e.g., shared-libs + web-client), the skill
375
- must generate **segment markers** inside each step so the orchestrator can
376
- route checkboxes to the correct repo's worker.
377
-
378
- ### Workflow
379
-
380
- 1. Read workspace config to identify available repos and their roles
381
- 2. Analyze the task description and file scope — determine which repos are involved
382
- 3. Group work into steps by logical goal, with segments per repo within each step
383
- 4. Write PROMPT.md with `#### Segment: <repoId>` markers in every step
384
- 5. Write STATUS.md with matching structure
385
-
386
- ### Marker Format
387
-
388
- Within each step, use level-4 headings to separate work by repo:
389
-
390
- ```markdown
391
- ### Step 1: Create utilities and API client
392
-
393
- #### Segment: shared-libs
394
-
395
- - [ ] Create string utility module
396
- - [ ] Export from package index
397
-
398
- #### Segment: web-client
399
-
400
- - [ ] Add API client wrapper
401
- - [ ] Wire into app initialization
402
- ```
403
-
404
- ### Ordering Rules
405
-
406
- Order steps so that dependencies flow correctly:
407
-
408
- 1. **Shared/common work** → early steps (e.g., shared libraries, schemas)
409
- 2. **Per-repo implementation** → middle steps (consumers of shared work)
410
- 3. **Integration/documentation** → final steps (always in the packet repo)
411
-
412
- The final documentation/delivery step always uses `#### Segment: <packet-repo>`
413
- where `<packet-repo>` is the repo that contains the task's PROMPT.md.
414
-
415
- ### Guidelines
416
-
417
- - **Always write explicit markers.** Never rely on the engine's single-segment
418
- fallback for multi-repo tasks. Every step must have at least one
419
- `#### Segment: <repoId>` marker.
420
- - **Max 10 segments per task.** Tasks spanning more repos should be split into
421
- separate tasks with dependencies.
422
- - **Single-repo tasks do not need segment markers.** The engine's fallback
423
- handles them correctly. Only add markers when file scope spans multiple repos.
424
- - **When pre-decomposition isn't possible** (e.g., the worker must discover
425
- which repos are affected), include guidance about using
426
- `request_segment_expansion` for dynamic expansion at runtime.
427
-
428
- ---
429
-
430
- ## Preventing Empty Completions
431
-
432
- Workers can shortcut tasks by observing that existing code "already satisfies"
433
- requirements and checking off items without implementing anything. This is the
434
- most dangerous failure mode — it produces false completions that waste the entire
435
- pipeline.
436
-
437
- **Defense: Make deliverables concrete and verifiable.**
438
-
439
- | ❌ Vague (shortcuttable) | ✅ Concrete (verifiable) |
440
- |--------------------------|------------------------|
441
- | "Add taskPacketRepo support" | "Add `taskPacketRepo` field to `WorkspaceRoutingConfig` in types.ts" |
442
- | "Enforce mode selection" | "Add `validateWorkspaceMode()` function in workspace.ts that throws on invalid state" |
443
- | "Update config loading" | "Modify `loadWorkspaceConfig()` to parse and validate `taskPacketRepo` from JSON config" |
444
- | "Add tests" | "Create `tests/packet-home-contract.test.ts` with tests for: valid config, missing field error, invariant violation" |
445
-
446
- **Rules for task creators:**
447
- - Every implementation step MUST name specific files to create or modify
448
- - "Add X" means "write new code that doesn't exist yet" — if it might already exist, say "verify X exists and add tests, or implement if missing"
449
- - Include at least one NEW test file per task — workers can't shortcut test creation
450
- - Each step's artifacts list must include at least one source file (not just STATUS.md)
451
-
452
- ---
453
-
454
- ## Key Principles
455
-
456
- - **Documentation in every task.** Without "Must Update" and "Check If Affected"
457
- lists, docs drift from reality and future tasks work from stale context.
458
- - **Testing step required.** Workers can't distinguish pre-existing failures from
459
- regressions they caused — every task needs a clean test pass to stay unblocked.
460
- The Testing & Verification step runs the **full** test suite as a quality gate.
461
- Implementation steps should use **targeted tests** (e.g., `--changed` or
462
- specific test files) for fast feedback — the worker prompt handles this.
463
- - **Self-contained PROMPT.md.** The worker starts with a fresh context and no
464
- memory of the conversation that created the task. Everything it needs to begin
465
- must be in PROMPT.md and the referenced docs.
1
+ ---
2
+ name: create-taskplane-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
+ ---
6
+
7
+ # Create Taskplane Task
8
+
9
+ Creates structured task packets (PROMPT.md + STATUS.md) for autonomous execution
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.
13
+
14
+ ## Architecture
15
+
16
+ ```
17
+ create-taskplane-task skill → Creates PROMPT.md + STATUS.md
18
+ task-orchestrator extension → Executes tasks (single or batch)
19
+ ├─ task-worker.md agent → Worker system prompt (checkpoint discipline, resume logic)
20
+ ├─ task-reviewer.md agent → Reviewer system prompt (review formats, criteria)
21
+ └─ taskplane-config.json → Project-specific settings, paths, standards
22
+ ```
23
+
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).
27
+
28
+ ## Prerequisites
29
+
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.
34
+
35
+ ## Configuration
36
+
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
49
+
50
+ ---
51
+
52
+ ## Task Creation Workflow
53
+
54
+ ### Step 1: Determine Location & Next ID
55
+
56
+ The user will rarely specify which area to use — **figure it out from context.**
57
+
58
+ **When there's only one area** (typical for new projects), use it directly.
59
+
60
+ **When there are multiple areas**, match the task to the right area:
61
+
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
63
+ 2. Read each area's `CONTEXT.md` — the "Current State" section describes what
64
+ that area owns (its domain, services, file scope)
65
+ 3. Match the task description to the area whose scope best fits:
66
+ - A task about PTO accrual → `time-off` area
67
+ - A task about the orchestrator itself → `task-system` area
68
+ - A task about login flows → `identity-access` area
69
+ 4. If ambiguous (task spans multiple areas), prefer the area that owns the
70
+ primary file being modified, or ask the user
71
+
72
+ **After selecting the area:**
73
+
74
+ 1. Read that area's `CONTEXT.md` and find the `Next Task ID` counter
75
+ 2. Use that ID for the new task
76
+ 3. **Increment the counter** in the same CONTEXT.md edit
77
+
78
+ **Note:** Task area structures evolve over time. A new project starts with a
79
+ single `taskplane-tasks/` folder and one area. As the project grows, users add
80
+ domains and platform areas in the config. The skill adapts — it always
81
+ reads the config to discover what areas exist rather than assuming a layout.
82
+
83
+ ### Step 2: Assess Complexity & Size
84
+
85
+ **You MUST explicitly score and assign review level before creating PROMPT.md.**
86
+
87
+ Quick reference (full rubric in [Complexity Assessment](#complexity-assessment)):
88
+ - Score each dimension 0-2: Blast radius, Pattern novelty, Security, Reversibility
89
+ - Sum → Level: 0-1→L0 (None), 2-3→L1 (Plan), 4-5→L2 (Plan+Code), 6-8→L3 (Full)
90
+ - Size: S (<2h), M (2-4h), L (4-8h), XL (8h+ → must split)
91
+
92
+ **Do not default to Review Level 0.** Level 0 is only appropriate for trivial changes (doc updates, config, boilerplate). Most M-sized tasks score ≥2 and require at least Level 1.
93
+
94
+ ### Step 3: Create Task Folder
95
+
96
+ ```
97
+ {area.path}/{PREFIX-###-slug}/
98
+ ```
99
+
100
+ ### Step 4: Create PROMPT.md
101
+
102
+ Use the template in [references/prompt-template.md](references/prompt-template.md).
103
+
104
+ ### Step 5: Create STATUS.md
105
+
106
+ Use the STATUS.md template in [references/prompt-template.md](references/prompt-template.md).
107
+ (If omitted, the execution engine can auto-generate it from PROMPT.md.)
108
+
109
+ ### Step 6: Update Tracking
110
+
111
+ - **CONTEXT.md** — Increment `Next Task ID` (done in Step 1)
112
+
113
+ ### Step 7: Report Launch Command
114
+
115
+ ```
116
+ /orch {area.path}/{PREFIX-###-slug}/PROMPT.md
117
+ ```
118
+
119
+ For batch execution of multiple tasks: `/orch all`
120
+
121
+ ---
122
+
123
+ ## Complexity Assessment
124
+
125
+ Evaluate the task to determine cross-model review level.
126
+
127
+ ### Review Levels
128
+
129
+ | Level | Label | Reviewer Calls |
130
+ |-------|-------|----------------|
131
+ | 0 | None | Zero — doc updates, config, boilerplate |
132
+ | 1 | Plan Only | Plan review before implementation |
133
+ | 2 | Plan + Code | Plan review + code review after implementation |
134
+ | 3 | Full | Plan + code + test review |
135
+
136
+ ### Scoring (0-2 per dimension, sum for level)
137
+
138
+ | Dimension | 0 (Low) | 1 (Medium) | 2 (High) |
139
+ |-----------|---------|------------|----------|
140
+ | **Blast radius** | Single file | Single service | Multiple services |
141
+ | **Pattern novelty** | Existing patterns | Adapting patterns | New patterns |
142
+ | **Security** | No auth/data | Touches auth | Modifies auth/encryption |
143
+ | **Reversibility** | Easy revert | Needs migration | Data model change |
144
+
145
+ - Score 0-1 → Level 0 · Score 2-3 → Level 1 · Score 4-5 → Level 2 · Score 6-8 → Level 3
146
+
147
+ ### Per-Step Override
148
+
149
+ Individual steps can override the task-level review:
150
+
151
+ ```markdown
152
+ ### Step 3: Add RBAC middleware
153
+ > **Review override: code review** — This step touches authorization.
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Task Sizing
159
+
160
+ | Size | Duration | Action |
161
+ |------|----------|--------|
162
+ | **S** | < 2 hours | Create as-is |
163
+ | **M** | 2-4 hours | Ideal size — create as-is |
164
+ | **L** | 4-8 hours | Split if possible |
165
+ | **XL** | 8+ hours | **Must split** into M/L tasks with dependencies |
166
+
167
+ **Rule of thumb:** More than ~3 major implementation steps → split it.
168
+
169
+ ---
170
+
171
+ ## Tiered Context Loading
172
+
173
+ PROMPT.md tells the worker what to load. Less is better.
174
+
175
+ | Tier | What | Loaded By |
176
+ |------|------|-----------|
177
+ | **1** | PROMPT.md + STATUS.md | Always (automatic) |
178
+ | **2** | Area CONTEXT.md | When referenced in "Context to Read First" |
179
+ | **3** | Specific reference docs | Only the docs this task needs |
180
+
181
+ Populate "Context to Read First" in PROMPT.md using docs from
182
+ the project config → `taskRunner.referenceDocs` (legacy YAML: `reference_docs`).
183
+ List only what the task actually needs.
184
+
185
+ Docs listed in config → `taskRunner.neverLoad` (legacy YAML: `never_load`)
186
+ must NOT appear in any task.
187
+
188
+ ---
189
+
190
+ ## STATUS.md Hydration
191
+
192
+ STATUS.md is the worker's ONLY memory between iterations. It needs enough
193
+ structure so progress survives when an iteration ends mid-step — but not so much
194
+ structure that it becomes a rigid script the worker follows mechanically.
195
+
196
+ ### Philosophy: Adaptive Planning, Not Exhaustive Scripting
197
+
198
+ Hydration exists because workers discover things at runtime they couldn't know
199
+ upfront: the actual function signatures, the edge cases that emerge from reading
200
+ source, the reviewer feedback that reshapes approach. The goal is **adaptability
201
+ in the face of unknowns** — not granularity for its own sake.
202
+
203
+ **The right level of detail depends on predictability:**
204
+
205
+ | How predictable is the work? | Approach |
206
+ |------------------------------|----------|
207
+ | You know exactly what files/methods/tests are needed | List them as checkboxes |
208
+ | You know the general shape but details depend on source code | Write intent-level checkboxes; trust the worker to figure out implementation specifics |
209
+ | You genuinely don't know what's needed until a prior step runs | Use `⚠️ Hydrate` marker |
210
+
211
+ **Anti-pattern to avoid:** Creating 15+ micro-checkboxes that spell out every
212
+ function name, parameter, and assertion before the worker has even read the
213
+ source code. This wastes task-creation time, produces items that frequently need
214
+ revision anyway, and turns the worker into a checkbox-follower instead of a
215
+ problem-solver.
216
+
217
+ ### Task Creator Responsibilities
218
+
219
+ **Match STATUS.md to PROMPT.md granularity — no more, no less.** PROMPT.md steps
220
+ should express *outcomes* the worker needs to achieve, not dictate *how* to
221
+ achieve them.
222
+
223
+ Good granularity examples:
224
+
225
+ | PROMPT.md says | STATUS.md should have |
226
+ |----------------|-----------------------|
227
+ | "Implement CRUD operations for Projects" | `- [ ] Implement Create, Read, Update, Delete for Projects` (one checkbox — the worker can figure out 4 methods) |
228
+ | "Add repo-aware fields to persistence schema" | `- [ ] Add repo fields to schema and update serialization` |
229
+ | "Test merge failure scenarios" | `- [ ] Add tests for merge failure paths` |
230
+ | "Update merge flow to work per-repo" | `- [ ] Refactor merge to partition by repo` and `- [ ] Aggregate per-repo results` (two checkboxes — these are genuinely distinct outcomes) |
231
+
232
+ Over-hydrated examples (avoid):
233
+
234
+ | ❌ Too granular | ✅ Better |
235
+ |----------------|-----------|
236
+ | 10 checkboxes naming every function, parameter, and import to change | 2-3 checkboxes describing the behavioral changes |
237
+ | Separate checkboxes for "create file", "add imports", "add function", "export function" | One checkbox: "Create helper module with X capability" |
238
+ | One checkbox per test assertion | One checkbox per test scenario or category |
239
+
240
+ **Use `⚠️ Hydrate` markers** for steps that genuinely depend on runtime
241
+ discoveries — where the task creator cannot know the items upfront:
242
+
243
+ ```markdown
244
+ ### Step 2: Handle migration
245
+ **Status:** ⬜ Not Started
246
+ > ⚠️ Hydrate: Expand based on schema gaps identified in Step 1
247
+
248
+ - [ ] Implement v1→v2 compatibility (details depend on Step 1 findings)
249
+ ```
250
+
251
+ **When to use markers vs. pre-hydration:**
252
+
253
+ | Situation | Approach |
254
+ |-----------|----------|
255
+ | Outcomes are known at creation time | Pre-hydrate with outcome-level checkboxes |
256
+ | Details depend on analysis/discovery in a prior step | `⚠️ Hydrate` marker |
257
+ | Details depend on what exists on disk | `⚠️ Hydrate` marker |
258
+ | Reviewer feedback adds new items | Worker adds items (handled by worker agent) |
259
+
260
+ ### Worker Hydration at Runtime
261
+
262
+ Workers may expand checkboxes when entering a step — but should apply the same
263
+ principle: **add checkboxes for distinct outcomes discovered during exploration,
264
+ not for every individual code change.** The worker agent has hydration rules
265
+ (commit-before-implement, REVISE-triggered expansion). The goal is a useful
266
+ resumability checkpoint, not a line-by-line implementation journal.
267
+
268
+ ### Constraint: No New Steps at Runtime
269
+
270
+ **Workers MUST NOT add, remove, or renumber steps during execution.** The
271
+ execution engine parses the step list from PROMPT.md once at launch and
272
+ iterates that fixed list. Steps added to STATUS.md at runtime will appear in
273
+ the dashboard but **silently never execute**.
274
+
275
+ Hydration expands checkboxes *within* existing steps only. If a worker discovers
276
+ work that doesn't fit any step, it should add sub-checkboxes to the closest
277
+ existing step and log the overflow in the STATUS.md Discoveries table.
278
+
279
+ **Task creators:** ensure PROMPT.md has all necessary steps upfront. If a task's
280
+ scope might expand during execution, prefer fewer broad steps (the worker will
281
+ hydrate them) over many narrow steps that might need restructuring.
282
+
283
+ ---
284
+
285
+ ## PROMPT.md Amendment Policy
286
+
287
+ The template includes an `## Amendments` placeholder at the bottom of PROMPT.md.
288
+ Original content above the `---` divider is immutable — workers use that section
289
+ only for issues like missing prerequisites or contradictory instructions, not
290
+ scope expansion or style preferences.
291
+
292
+ ---
293
+
294
+ ## Dependencies Format
295
+
296
+ The orchestrator **machine-parses** this section using regex — stick to the exact
297
+ patterns below. Non-standard formatting (e.g., missing bold markers, inline prose
298
+ without a task ID pattern) may cause silent dependency misses or `PARSE_MALFORMED`
299
+ errors at batch time.
300
+
301
+ ```markdown
302
+ ## Dependencies
303
+
304
+ - **Task:** TO-014 (PTO policy engine must exist)
305
+ - **Task:** employee-management/EM-003 (area-qualified when ID may be ambiguous)
306
+ - **External:** All backend services running (ports 8080-8085)
307
+ - **None**
308
+ ```
309
+
310
+ Notes:
311
+ - Use unqualified `TASK-ID` when globally unique
312
+ - Use `area-name/TASK-ID` for cross-area clarity or when orchestrator reports `DEP_AMBIGUOUS`
313
+
314
+ ---
315
+
316
+ ## Checklist (Definition of Ready)
317
+
318
+ Verify every task against this before reporting the launch command:
319
+
320
+ - [ ] `Next Task ID` read from CONTEXT.md and incremented
321
+ - [ ] Folder created at correct `taskRunner.taskAreas` path (or fallback YAML `task_areas`) with name `{PREFIX}-{###}-{slug}`
322
+ - [ ] Complexity assessed, review level assigned (0-3)
323
+ - [ ] Size assessed (S/M/L) — split if XL
324
+ - [ ] PROMPT.md created from template with all required sections:
325
+ - [ ] `## Mission` with what AND why
326
+ - [ ] `## Dependencies` section
327
+ - [ ] `## Context to Read First` lists only needed Tier 3 docs
328
+ - [ ] `## File Scope` lists files/dirs the task will touch
329
+ - [ ] Each step has checkboxes with verifiable outcomes
330
+ - [ ] Explicit testing step with full-suite command (per-step targeted tests are in the worker prompt)
331
+ - [ ] `## Do NOT` guardrails
332
+ - [ ] "Must Update" and "Check If Affected" doc lists
333
+ - [ ] `## Git Commit Convention` section (from template)
334
+ - [ ] `## Amendments` placeholder at bottom
335
+ - [ ] STATUS.md created with matching step structure
336
+ - [ ] Checkboxes match PROMPT.md granularity (1:1 where items are known)
337
+ - [ ] `⚠️ Hydrate` markers for discovery-dependent steps
338
+ - [ ] Launch command reported: `/orch {path}/PROMPT.md`
339
+
340
+ ---
341
+
342
+ ## Git Commit Convention
343
+
344
+ The prompt template includes a `## Git Commit Convention` section. Workers
345
+ commit at **step boundaries** (not after every checkbox) to keep git history
346
+ meaningful. Hydration commits are the exception — STATUS.md expansions are
347
+ committed immediately to preserve the plan for crash recovery. Always include
348
+ the task ID prefix — without it, there's no way to trace commits back to the
349
+ task that produced them (`git log --grep="PM-004"` only works if the prefix
350
+ is there).
351
+
352
+ ---
353
+
354
+ ## Orchestrator Awareness
355
+
356
+ Tasks are often executed in parallel batches by the task-orchestrator extension,
357
+ not just as one-off single-task runs. Two fields in PROMPT.md become load-bearing
358
+ in batch mode:
359
+
360
+ - **`## Dependencies`** — determines wave ordering. Tasks with unmet deps are
361
+ deferred to later waves. Incorrect or missing deps cause parallel execution of
362
+ tasks that should be serial, leading to merge conflicts or stale reads.
363
+ - **`## File Scope`** — determines lane affinity. Tasks with overlapping file
364
+ scope are assigned to the same lane (serial) to avoid merge conflicts. Without
365
+ file scope, the orchestrator distributes tasks randomly across lanes.
366
+
367
+ When creating multiple tasks for a batch, think about which tasks touch the same
368
+ files and make sure their file scopes reflect that.
369
+
370
+ ---
371
+
372
+ ## Multi-Repo Segment Markers
373
+
374
+ When a task spans multiple repos (e.g., shared-libs + web-client), the skill
375
+ must generate **segment markers** inside each step so the orchestrator can
376
+ route checkboxes to the correct repo's worker.
377
+
378
+ ### Workflow
379
+
380
+ 1. Read workspace config to identify available repos and their roles
381
+ 2. Analyze the task description and file scope — determine which repos are involved
382
+ 3. Group work into steps by logical goal, with segments per repo within each step
383
+ 4. Write PROMPT.md with `#### Segment: <repoId>` markers in every step
384
+ 5. Write STATUS.md with matching structure
385
+
386
+ ### Marker Format
387
+
388
+ Within each step, use level-4 headings to separate work by repo:
389
+
390
+ ```markdown
391
+ ### Step 1: Create utilities and API client
392
+
393
+ #### Segment: shared-libs
394
+
395
+ - [ ] Create string utility module
396
+ - [ ] Export from package index
397
+
398
+ #### Segment: web-client
399
+
400
+ - [ ] Add API client wrapper
401
+ - [ ] Wire into app initialization
402
+ ```
403
+
404
+ ### Ordering Rules
405
+
406
+ Order steps so that dependencies flow correctly:
407
+
408
+ 1. **Shared/common work** → early steps (e.g., shared libraries, schemas)
409
+ 2. **Per-repo implementation** → middle steps (consumers of shared work)
410
+ 3. **Integration/documentation** → final steps (always in the packet repo)
411
+
412
+ The final documentation/delivery step always uses `#### Segment: <packet-repo>`
413
+ where `<packet-repo>` is the repo that contains the task's PROMPT.md.
414
+
415
+ ### Guidelines
416
+
417
+ - **Always write explicit markers.** Never rely on the engine's single-segment
418
+ fallback for multi-repo tasks. Every step must have at least one
419
+ `#### Segment: <repoId>` marker.
420
+ - **Max 10 segments per task.** Tasks spanning more repos should be split into
421
+ separate tasks with dependencies.
422
+ - **Single-repo tasks do not need segment markers.** The engine's fallback
423
+ handles them correctly. Only add markers when file scope spans multiple repos.
424
+ - **When pre-decomposition isn't possible** (e.g., the worker must discover
425
+ which repos are affected), include guidance about using
426
+ `request_segment_expansion` for dynamic expansion at runtime.
427
+
428
+ ---
429
+
430
+ ## Preventing Empty Completions
431
+
432
+ Workers can shortcut tasks by observing that existing code "already satisfies"
433
+ requirements and checking off items without implementing anything. This is the
434
+ most dangerous failure mode — it produces false completions that waste the entire
435
+ pipeline.
436
+
437
+ **Defense: Make deliverables concrete and verifiable.**
438
+
439
+ | ❌ Vague (shortcuttable) | ✅ Concrete (verifiable) |
440
+ |--------------------------|------------------------|
441
+ | "Add taskPacketRepo support" | "Add `taskPacketRepo` field to `WorkspaceRoutingConfig` in types.ts" |
442
+ | "Enforce mode selection" | "Add `validateWorkspaceMode()` function in workspace.ts that throws on invalid state" |
443
+ | "Update config loading" | "Modify `loadWorkspaceConfig()` to parse and validate `taskPacketRepo` from JSON config" |
444
+ | "Add tests" | "Create `tests/packet-home-contract.test.ts` with tests for: valid config, missing field error, invariant violation" |
445
+
446
+ **Rules for task creators:**
447
+ - Every implementation step MUST name specific files to create or modify
448
+ - "Add X" means "write new code that doesn't exist yet" — if it might already exist, say "verify X exists and add tests, or implement if missing"
449
+ - Include at least one NEW test file per task — workers can't shortcut test creation
450
+ - Each step's artifacts list must include at least one source file (not just STATUS.md)
451
+
452
+ ---
453
+
454
+ ## Key Principles
455
+
456
+ - **Documentation in every task.** Without "Must Update" and "Check If Affected"
457
+ lists, docs drift from reality and future tasks work from stale context.
458
+ - **Testing step required.** Workers can't distinguish pre-existing failures from
459
+ regressions they caused — every task needs a clean test pass to stay unblocked.
460
+ The Testing & Verification step runs the **full** test suite as a quality gate.
461
+ Implementation steps should use **targeted tests** (e.g., `--changed` or
462
+ specific test files) for fast feedback — the worker prompt handles this.
463
+ - **Self-contained PROMPT.md.** The worker starts with a fresh context and no
464
+ memory of the conversation that created the task. Everything it needs to begin
465
+ must be in PROMPT.md and the referenced docs.