You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
streamline tool schema and improve LLM workflow instructions
- Remove the `goal` field from the TODO state and `plan` operation, as discrete tasks often do not share a single high-level objective.
- Unify the JSON tool parameter schema to use `snake_case` (e.g., `active_summary`) to match existing fields like `blocked_by`.
- Restrict the `active_summary` parameter exclusively to the `start` operation, where it semantically belongs.
- Update agent prompts (`todo.md`, `code_agent.md`) to explicitly forbid batch-starting tasks unless performing genuinely parallel work (e.g., dispatching subagents).
- Update all corresponding tool tests to reflect the new state shape and validation logic.
Copy file name to clipboardExpand all lines: resources/prompts/code_agent.md
+8-9Lines changed: 8 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,15 +34,14 @@ You have tools at your disposal to solve the coding task. Follow these rules reg
34
34
You have access to a `eca__todo` tool for tracking multi-step work within this chat.
35
35
36
36
### Workflow:
37
-
1. Use `plan` to create TODO with goal and tasks
38
-
2. Use `start` before working on a task (marks it as in_progress)
39
-
3. Use `complete` only for tasks that are actually finished; for each targeted task that has `done_when`, verify it first.
37
+
1. Use `plan` to create TODO with initial tasks
38
+
2. Use `start` before working on a task (marks it as in_progress and requires an `active_summary`)
39
+
3. Use `complete` only for tasks that are actually finished; for each targeted task, verify its acceptance criteria first.
40
40
4. Use `add` if you discover additional work
41
-
5. When a plan is fully completed and no further work is needed for the current goal, always use the `clear` operation to clean up the workspace.
42
-
6.Delegate focused work to subagents when helpful. Work sequentially by default; batch operations ONLY for tasks executing simultaneously.
41
+
5. When a plan is fully completed and no further work is needed, always use the `clear` operation to clean up the workspace.
42
+
6.When helpful, delegate focused work to subagents. You MAY start multiple independent tasks in parallel (keep the number of in_progress tasks small), then update/complete the TODO based on subagent outputs. Prefer that only the main agent updates the TODO; subagents should focus on producing outputs.
43
43
44
-
### done_when guidance:
45
-
-`done_when` is optional.
46
-
- Prefer setting it for non-trivial tasks where completion should be objectively verifiable.
47
-
- For trivial tasks, you may omit it to keep tracking lightweight.
44
+
### Task tracking guidance:
45
+
- Make sure to add acceptance criteria inside your task `description`.
46
+
- Objective verification of acceptance criteria is required for completion.
Copy file name to clipboardExpand all lines: resources/prompts/tools/todo.md
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,29 +13,28 @@ When NOT to Use:
13
13
14
14
Operations:
15
15
- read: View current TODO state
16
-
- plan: Create/replace TODO with goal and tasks (required: goal, tasks)
16
+
- plan: Create/replace TODO with initial tasks (required: tasks)
17
17
- add: Append task(s) to existing TODO
18
-
- update: Modify a single task metadata by `id` (content, priority, done_when, blocked_by) — cannot change status
19
-
- start: Begin work on tasks by `ids` (sets to in_progress; rejects blocked or done tasks)
20
-
- complete: Mark tasks by `ids` as done (verify done_when criteria first)
18
+
- update: Modify a single task metadata by `id` (subject, description, priority, blocked_by) — cannot change status
19
+
- start: Begin work on tasks by `ids` (sets to in_progress; rejects blocked or done tasks). Requires `active_summary` to summarize what you are about to do.
20
+
- complete: Mark tasks by `ids` as done (verify acceptance criteria in description first)
21
21
- delete: Remove tasks by `ids`
22
-
- clear: Reset entire TODO (removes goal and all tasks)
22
+
- clear: Reset entire TODO (removes all tasks)
23
23
24
24
Workflow:
25
-
1. Use 'plan' to create TODO with goal and initial tasks
26
-
2. Use 'start' before working on a task — marks it as in_progress
25
+
1. Use 'plan' to create TODO with initial tasks
26
+
2. Use 'start' before working on a task — marks it as in_progress and requires an `active_summary`
27
27
3. Work sequentially by default. Batch 'start' or 'complete' operations (using multiple 'ids') ONLY for independent tasks being executed simultaneously (e.g., via subagents).
28
-
4. Use 'complete' only for tasks that are actually finished; for each targeted task that has `done_when`, verify it first — the response tells you which tasks got unblocked
28
+
4. Use 'complete' only for tasks that are actually finished; verify acceptance criteria first — the response tells you which tasks got unblocked
29
29
5. Use 'add' if you discover additional work during execution
30
-
6. When a plan is fully completed and no further work is needed for the current goal, always use the 'clear' operation to clean up the workspace.
30
+
6. When a plan is fully completed and no further work is needed, always use the 'clear' operation to clean up the workspace.
31
31
32
-
How to use done_when:
33
-
-`done_when` is optional.
34
-
- Use it for non-trivial tasks where completion must be verifiable (tests passing, behavior implemented, specific file changes, etc.).
35
-
- For trivial/obvious tasks, you may omit `done_when` to avoid overhead.
32
+
Task Schema:
33
+
-`subject`: A brief, actionable title in imperative form (e.g. "Fix login bug")
34
+
-`description`: Detailed description of what needs to be done, including context and acceptance criteria
36
35
37
36
Task Completion Integrity:
38
37
- Mark tasks complete as soon as they are finished.
39
-
-If a task has `done_when`, ONLY mark it as completed when ALL `done_when` criteria are actually met (for each task in a batch).
38
+
- ONLY mark it as completed when ALL acceptance criteria from the `description` are actually met (for each task in a batch).
40
39
- Do NOT complete if: tests failing, implementation partial, or errors unresolved.
41
40
- When completing reveals follow-up work, use 'add' to append new tasks.
0 commit comments