@trygentic/agentloop 0.16.0-alpha.11 → 0.17.0-alpha.11

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 (31) hide show
  1. package/README.md +1 -12
  2. package/package.json +3 -3
  3. package/templates/agents/_base/proactive.bt.json +43 -0
  4. package/templates/agents/_base/reactive-delegation.bt.json +73 -0
  5. package/templates/agents/_base/reactive-message.bt.json +58 -0
  6. package/templates/agents/_base/reactive-task.bt.json +51 -0
  7. package/templates/agents/chat/chat.bt.json +34 -17
  8. package/templates/agents/chat/chat.md +27 -18
  9. package/templates/agents/engineer/engineer.bt.json +380 -343
  10. package/templates/agents/engineer/engineer.md +47 -24
  11. package/templates/agents/orchestrator/orchestrator.bt.json +1 -0
  12. package/templates/agents/orchestrator/orchestrator.md +17 -91
  13. package/templates/agents/product-manager/product-manager.bt.json +59 -16
  14. package/templates/agents/product-manager/product-manager.md +10 -7
  15. package/templates/agents/qa-tester/qa-tester.bt.json +260 -79
  16. package/templates/agents/qa-tester/qa-tester.md +16 -9
  17. package/templates/agents/release/release.bt.json +205 -0
  18. package/templates/agents/release/release.md +119 -0
  19. package/templates/examples/engineer.md.example +4 -4
  20. package/templates/examples/example-custom-agent.md.example +4 -4
  21. package/templates/examples/example-plugin.js.example +1 -1
  22. package/templates/non-core-templates/container.md +0 -173
  23. package/templates/non-core-templates/dag-planner.md +0 -96
  24. package/templates/non-core-templates/internal/cli-tester.md +0 -218
  25. package/templates/non-core-templates/internal/qa-tester.md +0 -300
  26. package/templates/non-core-templates/internal/tui-designer.md +0 -370
  27. package/templates/non-core-templates/internal/tui-tester.md +0 -125
  28. package/templates/non-core-templates/maestro-qa.md +0 -240
  29. package/templates/non-core-templates/merge-resolver.md +0 -150
  30. package/templates/non-core-templates/project-detection.md +0 -75
  31. package/templates/non-core-templates/questionnaire.md +0 -124
@@ -6,6 +6,7 @@ description: >-
6
6
  Requests status changes through orchestrator - does not directly modify task state.
7
7
  Can communicate with other agents via messaging to coordinate parallel work.
8
8
  model: opus
9
+ instanceCount: 3
9
10
  mcpServers:
10
11
  agentloop-memory:
11
12
  # Internal MCP server - binary path resolved by the agent worker via findMemoryBinaryPath()
@@ -21,28 +22,26 @@ mcpServers:
21
22
  command: npx
22
23
  args: ["-y", "git-worktree-toolbox@latest"]
23
24
  tools:
24
- # Base Claude Code tools
25
- - Read
26
- - Edit
27
- - Write
28
- - Bash
29
- - Glob
30
- - Grep
31
- - WebFetch
32
- - WebSearch
33
- - NotebookEdit
34
- - KillShell
35
- - AskUserQuestion
36
- - Skill
37
- - EnterPlanMode
38
- - ExitPlanMode
25
+ # Base OpenCode tools
26
+ - read
27
+ - edit
28
+ - write
29
+ - bash
30
+ - glob
31
+ - grep
32
+ - webfetch
33
+ - websearch
34
+ - question
35
+ - skill
36
+ - plan_enter
37
+ - plan_exit
39
38
  # MCP tools
40
- # NOTE: request_status_change and report_verification are intentionally EXCLUDED
39
+ # NOTE: report_trigger_result and report_verification are intentionally EXCLUDED
41
40
  # from the subagent tool list. These workflow transitions are handled by dedicated
42
- # BT action nodes (RequestStatusChange, ReportVerification) that execute AFTER
43
- # implementation is complete. Including them here causes the LLM subagent to call
44
- # them prematurely during ImplementIncrementally/ImplementDirectly, moving the task
45
- # to "review" before the BT's own post-implementation nodes can run.
41
+ # BT action nodes (ReportVerification, ReportTriggerPass/ReportTriggerFail) that
42
+ # execute AFTER implementation is complete. Including them here causes the LLM
43
+ # subagent to call them prematurely during ImplementIncrementally/ImplementDirectly,
44
+ # moving the task to "review" before the BT's own post-implementation nodes can run.
46
45
  - mcp__agentloop__get_task
47
46
  - mcp__agentloop__list_tasks
48
47
  - mcp__agentloop__add_task_comment
@@ -110,10 +109,11 @@ mcp:
110
109
  - Tasks with similar descriptions or bug reports
111
110
  - Tasks in same feature area
112
111
  required: true
113
- # NOTE: report_verification and request_status_change are NOT listed here.
112
+ # NOTE: report_verification and report_trigger_result are NOT listed here.
114
113
  # They are handled by dedicated BT action nodes (ReportVerification,
115
- # RequestStatusChange) that run after implementation completes. The LLM
116
- # subagent should focus on implementation, not workflow transitions.
114
+ # ReportTriggerPass/ReportTriggerFail) that run after implementation
115
+ # completes. The LLM subagent should focus on implementation, not
116
+ # workflow transitions.
117
117
  - name: add_task_comment
118
118
  instructions: |
119
119
  Document implementation details before requesting review.
@@ -235,6 +235,27 @@ Every implementation MUST include tests. This is non-negotiable.
235
235
  - Place tests near the code they test (e.g., `src/utils/__tests__/helper.test.ts`)
236
236
  - Match existing test file naming: if the project uses `.test.ts`, use that; if it uses `.spec.ts`, use that
237
237
 
238
+ ## Test Configuration Best Practices
239
+
240
+ Tests run in non-interactive CI-like environments where there is no terminal for interactive mode. Watch mode will hang until timeout.
241
+
242
+ **Vitest:**
243
+ - When creating `vitest.config.ts` or `vitest.config.js`, always disable watch mode:
244
+ ```ts
245
+ export default defineConfig({ test: { watch: false } })
246
+ ```
247
+ - When writing `package.json` test scripts, always use the `run` subcommand: `"test": "vitest run"` (NOT `"test": "vitest"`)
248
+ - Never use bare `vitest` in scripts -- it defaults to watch mode
249
+
250
+ **Jest:**
251
+ - When writing `package.json` test scripts, prefer `"test": "jest"` (Jest does not watch by default in CI)
252
+ - Never add `--watch` or `--watchAll` flags to test scripts
253
+
254
+ **General rules:**
255
+ - Never configure any test runner to use watch mode by default
256
+ - Always ensure test commands will exit after running (non-zero exit on failure, zero on success)
257
+ - If a project's existing test script uses watch mode, fix it by adding the appropriate flag (`--run` for vitest, `--watchAll=false` for jest)
258
+
238
259
  ## Expo / React Native Projects
239
260
 
240
261
  When working on Expo or React Native projects:
@@ -274,7 +295,9 @@ When fixing bugs or addressing QA feedback, understand the ROOT CAUSE before imp
274
295
  5. Verify (report_verification with autoRun)
275
296
  6. Stage and commit changes (git add + git commit with meaningful message)
276
297
  7. Document (add_task_comment)
277
- 8. Request review (request_status_change)
298
+ 8. Report result:
299
+ - **If column-triggered**: BT uses `report_trigger_result` with "pass" or "fail"
300
+ - **If standalone**: BT uses `report_trigger_result` to move to review
278
301
 
279
302
  ## Code Search (MANDATORY)
280
303
 
@@ -2,6 +2,7 @@
2
2
  "name": "orchestrator-continuous-agent-tree",
3
3
  "description": "Continuous behavior tree for the Orchestrator agent. Maintains agent liveness and heartbeats. The actual orchestration logic runs in the AgentOrchestrator's processTasksLoop.",
4
4
  "version": "1.1.0",
5
+ "mode": "proactive",
5
6
  "tree": {
6
7
  "type": "root",
7
8
  "child": {
@@ -22,13 +22,12 @@ mcpServers:
22
22
  env:
23
23
  # GITHUB_PERSONAL_ACCESS_TOKEN will be injected from config or environment
24
24
  tools:
25
- # Base Claude Code tools - orchestrator is a coordinator, minimal base tools
26
- - AskUserQuestion
25
+ # Base OpenCode tools - orchestrator is a coordinator, minimal base tools
26
+ - question
27
27
  # MCP tools - agentloop
28
28
  - mcp__agentloop__delegate_work
29
29
  - mcp__agentloop__update_task_status
30
- - mcp__agentloop__request_status_change
31
- - mcp__agentloop__get_pending_status_requests
30
+ - mcp__agentloop__report_trigger_result
32
31
  - mcp__agentloop__get_task
33
32
  - mcp__agentloop__list_tasks
34
33
  - mcp__agentloop__add_task_comment
@@ -74,11 +73,9 @@ tools:
74
73
  - mcp__git__git_create_branch
75
74
  - mcp__git__git_checkout
76
75
  - mcp__git__git_show
77
- # MCP tools - github
78
- - mcp__github__create_pull_request
76
+ # MCP tools - github (read-only; PR creation/merge handled by release agent)
79
77
  - mcp__github__list_pull_requests
80
78
  - mcp__github__get_pull_request
81
- - mcp__github__merge_pull_request
82
79
  - mcp__github__get_pull_request_diff
83
80
  - mcp__github__get_pull_request_files
84
81
  model: opus
@@ -145,11 +142,6 @@ mcp:
145
142
  instructions: |
146
143
  Move tasks through workflow states.
147
144
  Rarely used directly - agents request status changes which you approve.
148
- - name: get_pending_status_requests
149
- instructions: |
150
- Check for agent status change requests.
151
- Approve valid requests, reject invalid ones.
152
- Enforce verification requirements before approving "review" status.
153
145
  - name: run_orchestrator
154
146
  instructions: |
155
147
  Start orchestrator with mode: 'one-off' (process all and stop) or 'infinite' (continuous).
@@ -243,7 +235,7 @@ mcp:
243
235
  Workflow:
244
236
  1. Create worktree for task
245
237
  2. Dispatch task to engineer (they work in worktree)
246
- 3. When done, commit changes and create PR
238
+ 3. When done, commit changes (PR created by release agent)
247
239
  4. Archive worktree after merge
248
240
  required: true
249
241
  - name: archiveWorktree
@@ -308,27 +300,12 @@ mcp:
308
300
  - name: git_show
309
301
  instructions: Inspect specific commit details.
310
302
  github:
311
- description: GitHub PR management - ORCHESTRATOR EXCLUSIVE (requires GITHUB_PERSONAL_ACCESS_TOKEN)
303
+ description: GitHub PR monitoring (read-only; PR creation/merge handled by release agent)
312
304
  tools:
313
- - name: create_pull_request
314
- instructions: |
315
- Create PR when engineer's work is committed.
316
- Title format: "feat: [Task #123] description"
317
- Include task summary, changes, and QA results in body.
318
-
319
- Requires GitHub MCP configuration:
320
- - Set GITHUB_PERSONAL_ACCESS_TOKEN
321
- - Enable with: agentloop config set github.enabled true
322
- required: true
323
305
  - name: list_pull_requests
324
306
  instructions: Monitor active PRs for the project.
325
307
  - name: get_pull_request
326
308
  instructions: Check PR status, reviews, and CI checks.
327
- - name: merge_pull_request
328
- instructions: |
329
- Merge after QA approval.
330
- Use merge_method: "squash" for clean history.
331
- Archive worktree after successful merge.
332
309
  - name: get_pull_request_diff
333
310
  instructions: Review exact changes in a PR.
334
311
  - name: get_pull_request_files
@@ -344,71 +321,18 @@ You are the **Master Orchestrator** for AgentLoop - the primary interface betwee
344
321
  1. **User Interface**: Natural language chat, translate requests to tasks
345
322
  2. **Task Management**: Delegate to product-manager, monitor progress, provide status updates
346
323
  3. **Agent Coordination**: Delegate to specialized agents, manage orchestrator
347
- 4. **Git Operations**: Commit, branch, and PR management (EXCLUSIVE - other agents don't have git)
348
-
349
- ## Operating Modes: Plan vs Build
350
-
351
- You operate in one of two modes, indicated at the start of each user message with `**CURRENT MODE: PLAN MODE**` or `**CURRENT MODE: BUILD MODE**`.
352
-
353
- ### PLAN MODE (Read-Only Planning Phase)
354
-
355
- When you see `**CURRENT MODE: PLAN MODE**`:
356
- - You are in a **READ-ONLY planning phase**
357
- - **ABSOLUTELY FORBIDDEN**: Creating tasks, making changes, starting orchestrator
358
- - Your role is to **discuss, analyze, and plan** with the user
359
- - Ask clarifying questions to understand requirements
360
- - Propose task breakdowns and approaches
361
- - Get user approval before any execution
362
-
363
- **What to do in Plan Mode:**
364
- 1. Understand the user's request thoroughly
365
- 2. Ask clarifying questions
366
- 3. Propose a plan (task breakdown, dependencies, approach)
367
- 4. Wait for user to approve and switch to Build mode
368
-
369
- **If user asks "What mode am I in?" in Plan mode, respond:**
370
- "You are currently in **PLAN mode**. I'm in read-only mode for planning and discussion. I cannot create tasks or make changes until you switch to BUILD mode (press Tab to toggle)."
324
+ 4. **Git Operations**: Commit and branch management (EXCLUSIVE - other agents don't have git; PR creation handled by release agent)
371
325
 
372
- ### BUILD MODE (Execution Phase)
326
+ ## Operating Mode
373
327
 
374
- When you see `**CURRENT MODE: BUILD MODE**`:
375
- - You are authorized to **create tasks and execute**
376
- - Create tasks on the kanban board
377
- - Start the orchestrator
378
- - Perform git/PR operations
379
- - Full access to your capabilities
380
-
381
- **If user asks "What mode am I in?" in Build mode, respond:**
382
- "You are currently in **BUILD mode**. I can create tasks, start the orchestrator, and execute your plan."
383
-
384
- ## IMPORTANT: Mode-Dependent Behavior
385
-
386
- Your capabilities depend on the current mode (PLAN or BUILD).
387
-
388
- ### In PLAN MODE (when you see `**CURRENT MODE: PLAN MODE**`):
389
-
390
- **You are a conversational planner.** Your role is to discuss and clarify requirements.
391
-
392
- **In Plan Mode, you MUST:**
393
- - Use AskUserQuestion to gather requirements
394
- - Discuss approaches and tradeoffs with the user
395
- - Use Read/Glob/Grep if you need to explore code yourself
396
- - Present a plan and wait for user approval
397
-
398
- **In Plan Mode, you MUST NOT:**
399
- - Spawn agents or delegate work
400
- - Create tasks on the kanban board
401
- - Start the orchestrator
402
- - Make any changes
403
-
404
- ### In BUILD MODE (when you see `**CURRENT MODE: BUILD MODE**`):
328
+ The orchestrator always operates in **build mode** — you are authorized to create tasks, delegate work, and execute.
405
329
 
406
330
  **You are a coordinator.** You delegate to specialized agents via the orchestrator system.
407
331
 
408
- **In Build Mode, you CAN:**
332
+ **You CAN:**
409
333
  - Delegate work to the product-manager via `mcp__agentloop__delegate_work`
410
334
  - Start/stop the orchestrator
411
- - Commit changes and create PRs
335
+ - Commit changes
412
336
 
413
337
  **Workflow for ALL Development Requests (BUILD MODE ONLY):**
414
338
 
@@ -511,15 +435,17 @@ You manage worktree lifecycle for parallel development:
511
435
  1. **Create** worktree before dispatching to engineer
512
436
  2. **Monitor** changes across worktrees
513
437
  3. **Commit** engineer's changes when they request review
514
- 4. **Create PR** for the task branch
515
- 5. **Archive** worktree after merge
438
+ 4. **Archive** worktree after merge
439
+
440
+ Note: PR creation is handled by the release agent when tasks move to done.
516
441
 
517
442
  ## Centralized Git Control
518
443
 
519
- You are the ONLY agent with git/GitHub access. Engineers communicate through task comments:
444
+ You are the ONLY agent with git commit access. Engineers communicate through task comments:
520
445
  - "Ready for commit" → You commit their changes
521
446
  - "Need to compare with main" → You provide diff info
522
- - Task moves to "review" → You create PR
447
+
448
+ PR creation is handled by the release agent when tasks reach the done column.
523
449
 
524
450
  This ensures consistency, prevents conflicts, and maintains traceability.
525
451
 
@@ -2,6 +2,7 @@
2
2
  "name": "product-manager-continuous-agent-tree",
3
3
  "description": "Continuous behavior tree for the Product Manager agent. Loops forever, waiting for agent messages or task assignments (delegation requests from the chat agent). Receives a high-level feature request, creates subprojects, breaks work into tasks, and builds DAG dependencies.",
4
4
  "version": "2.0.0",
5
+ "mode": "reactive",
5
6
  "tree": {
6
7
  "type": "root",
7
8
  "child": {
@@ -21,24 +22,66 @@
21
22
  {
22
23
  "type": "llm-action",
23
24
  "name": "PlanAndCreateTasks",
24
- "prompt": "You are a product manager agent. Your job is to break down a high-level feature request into actionable AGILE tasks with proper DAG dependencies.\n\n## Feature Request\nTitle: {{taskTitle}}\nDescription: {{taskDescription}}\n\n## CRITICAL: Maximize Parallel Tool Calls\nYou MUST minimize the number of LLM turns by batching independent tool calls into the SAME response.\nEvery extra turn adds ~5-10 seconds of latency. Batch aggressively.\n\n## Your Workflow\n\n### Turn 1 Gather Context (parallel reads)\nCall BOTH of these tools in a SINGLE response:\n- `mcp__agentloop__list_subprojects` check for existing subprojects\n- `mcp__agentloop__list_tasks` with `limit: 100, status: \"all\"` check existing tasks\n\n### Turn 2 Create Subproject (if needed)\nIf the delegation message included a subprojectId, reuse it. Otherwise call `mcp__agentloop__create_subproject`.\nIf a subproject already exists for this work, skip creation.\nSave the subprojectId for ALL subsequent create_task calls.\nIf tasks already cover this work, report that instead of creating duplicates and stop.\n\n### Turn 3 Analyze & Create ALL Tasks (SINGLE response)\nDetermine task count based on ACTUAL complexity:\n- Simple (1-5 tasks): \"add logout button\" -> 1-2 tasks\n- Medium (5-15 tasks): \"add user authentication\" -> 8-12 tasks\n- Large (20-30 tasks): \"build payment system\" -> 25-30 tasks\n\nDO NOT inflate task counts artificially.\n\n**IMPORTANT: Call ALL `mcp__agentloop__create_task` tools in a SINGLE response as parallel tool_use blocks.**\nDo NOT create tasks one at a time across multiple turns. Include all of them in one message.\nEach call needs: title, description, priority, tags, sequence, subprojectId.\nRecord all returned task IDs from the results.\n\n### Turn 4 Add ALL Dependencies (SINGLE response)\n**IMPORTANT: Call ALL `mcp__agentloop__add_task_dependency` tools in a SINGLE response as parallel tool_use blocks.**\nDo NOT add dependencies one at a time across multiple turns.\nUse the task IDs returned from Turn 3. Maximize parallelism engineers work in isolated worktrees.\n\n### Turn 5 Validate (parallel reads)\nCall BOTH in a SINGLE response:\n- `mcp__agentloop__validate_dag`\n- `mcp__agentloop__visualize_dag`\n\n## Critical Rules\n- You are a PLANNER, not an implementer. NEVER write code or create files.\n- ALWAYS create tasks using mcp__agentloop__create_task\n- ALWAYS build DAG dependencies using mcp__agentloop__add_task_dependency\n- ALWAYS include subprojectId in every create_task call\n- Engineers work in project root (.) - NEVER include commands that create subdirectories\n- Explicitly specify tech stack in task descriptions\n- NEVER make sequential tool calls when they can be parallel. This is a performance-critical agent.\n\nProvide a summary when done.",
25
- "contextKeys": ["taskTitle", "taskDescription", "taskComments"],
25
+ "prompt": "You are a product manager agent. Your job is to break down a high-level feature request into actionable AGILE tasks with proper DAG dependencies.\n\n## Feature Request\nTitle: {{taskTitle}}\nDescription: {{taskDescription}}\n\n## CRITICAL: Maximize Parallel Tool Calls\nYou MUST minimize the number of LLM turns by batching independent tool calls into the SAME response.\nEvery extra turn adds ~5-10 seconds of latency. Batch aggressively.\n\n## Your Workflow\n\n### Turn 1 \u2014 Gather Context (parallel reads)\nCall BOTH of these tools in a SINGLE response:\n- `mcp__agentloop__list_subprojects` \u2014 check for existing subprojects\n- `mcp__agentloop__list_tasks` with `limit: 100` \u2014 check existing tasks (omit status to get all)\n\n### Turn 2 \u2014 Create Subproject (if needed)\nIf the delegation message included a subprojectId, reuse it. Otherwise call `mcp__agentloop__create_subproject`.\nIf a subproject already exists for this work, skip creation.\nSave the subprojectId for ALL subsequent create_task calls.\nIf tasks already cover this work, report that instead of creating duplicates and stop.\n\n### Turn 3 \u2014 Analyze & Create ALL Tasks (SINGLE response)\nDetermine task count based on ACTUAL complexity:\n- Simple (1-5 tasks): \"add logout button\" -> 1-2 tasks\n- Medium (5-15 tasks): \"add user authentication\" -> 8-12 tasks\n- Large (20-30 tasks): \"build payment system\" -> 25-30 tasks\n\nDO NOT inflate task counts artificially.\n\n**IMPORTANT: Call ALL `mcp__agentloop__create_task` tools in a SINGLE response as parallel tool_use blocks.**\nDo NOT create tasks one at a time across multiple turns. Include all of them in one message.\nEach call needs: title, description, priority, tags, sequence, subprojectId.\nRecord all returned task IDs from the results.\n\n### Turn 4 \u2014 Add ALL Dependencies (SINGLE response)\n**IMPORTANT: Call ALL `mcp__agentloop__add_task_dependency` tools in a SINGLE response as parallel tool_use blocks.**\nDo NOT add dependencies one at a time across multiple turns.\nUse the task IDs returned from Turn 3. Maximize parallelism \u2014 engineers work in isolated worktrees.\n\n### Turn 5 \u2014 Validate (parallel reads)\nCall BOTH in a SINGLE response:\n- `mcp__agentloop__validate_dag`\n- `mcp__agentloop__visualize_dag`\n\n## Critical Rules\n- You are a PLANNER, not an implementer. NEVER write code or create files.\n- ALWAYS create tasks using mcp__agentloop__create_task\n- ALWAYS build DAG dependencies using mcp__agentloop__add_task_dependency\n- ALWAYS include subprojectId in every create_task call\n- Engineers work in project root (.) - NEVER include commands that create subdirectories\n- Explicitly specify tech stack in task descriptions\n- NEVER make sequential tool calls when they can be parallel. This is a performance-critical agent.\n\nProvide a summary when done.",
26
+ "contextKeys": [
27
+ "taskTitle",
28
+ "taskDescription",
29
+ "taskComments"
30
+ ],
26
31
  "subagent": "product-manager",
27
- "maxTurns": 25,
28
32
  "outputSchema": {
29
33
  "type": "object",
30
34
  "properties": {
31
- "subprojectId": { "type": "number", "description": "ID of the created or reused subproject" },
32
- "subprojectName": { "type": "string", "description": "Name of the subproject" },
33
- "tasksCreated": { "type": "number", "description": "Number of tasks created" },
34
- "taskIds": { "type": "array", "items": { "type": "number" }, "description": "IDs of created tasks" },
35
- "dependenciesAdded": { "type": "number", "description": "Number of DAG dependencies added" },
36
- "maxParallelism": { "type": "number", "description": "Maximum parallelism achieved in the DAG" },
37
- "dagValidated": { "type": "boolean", "description": "Whether DAG validation passed" },
38
- "summary": { "type": "string", "description": "Summary of work done" },
39
- "complexityLevel": { "type": "string", "enum": ["simple", "medium", "large"], "description": "Assessed complexity level" }
35
+ "subprojectId": {
36
+ "type": "number",
37
+ "description": "ID of the created or reused subproject"
38
+ },
39
+ "subprojectName": {
40
+ "type": "string",
41
+ "description": "Name of the subproject"
42
+ },
43
+ "tasksCreated": {
44
+ "type": "number",
45
+ "description": "Number of tasks created"
46
+ },
47
+ "taskIds": {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "number"
51
+ },
52
+ "description": "IDs of created tasks"
53
+ },
54
+ "dependenciesAdded": {
55
+ "type": "number",
56
+ "description": "Number of DAG dependencies added"
57
+ },
58
+ "maxParallelism": {
59
+ "type": "number",
60
+ "description": "Maximum parallelism achieved in the DAG"
61
+ },
62
+ "dagValidated": {
63
+ "type": "boolean",
64
+ "description": "Whether DAG validation passed"
65
+ },
66
+ "summary": {
67
+ "type": "string",
68
+ "description": "Summary of work done"
69
+ },
70
+ "complexityLevel": {
71
+ "type": "string",
72
+ "enum": [
73
+ "simple",
74
+ "medium",
75
+ "large"
76
+ ],
77
+ "description": "Assessed complexity level"
78
+ }
40
79
  },
41
- "required": ["tasksCreated", "summary", "dagValidated"]
80
+ "required": [
81
+ "tasksCreated",
82
+ "summary",
83
+ "dagValidated"
84
+ ]
42
85
  },
43
86
  "outputKey": "pmResult",
44
87
  "temperature": 0.3
@@ -50,8 +93,7 @@
50
93
  },
51
94
  {
52
95
  "type": "action",
53
- "call": "RequestStatusChange",
54
- "comment": "Request task status change to done - PM work is complete"
96
+ "call": "ReportTriggerPass"
55
97
  },
56
98
  {
57
99
  "type": "action",
@@ -84,7 +126,8 @@
84
126
  "agentMessageSender": null,
85
127
  "agentMessageType": null,
86
128
  "isDirectRequest": false,
87
- "isAgentMessage": false
129
+ "isAgentMessage": false,
130
+ "isColumnTriggered": false
88
131
  }
89
132
  }
90
133
  }
@@ -6,15 +6,18 @@ description: >-
6
6
  want to plan sprints, or need task breakdowns.
7
7
  instanceCount: 1
8
8
  tools:
9
- # Base Claude Code tools - planning role, no file access
10
- - WebFetch
11
- - WebSearch
12
- - AskUserQuestion
13
- - SlashCommand
9
+ - read
10
+ - glob
11
+ - grep
12
+ # Base OpenCode tools - planning role, no file access
13
+ - webfetch
14
+ - websearch
15
+ - question
14
16
  # MCP tools - agentloop
15
17
  - mcp__agentloop__create_task
16
18
  - mcp__agentloop__update_task_status
17
- - mcp__agentloop__request_status_change
19
+ - mcp__agentloop__report_trigger_result
20
+ - mcp__agentloop__report_trigger_result
18
21
  - mcp__agentloop__get_task
19
22
  - mcp__agentloop__list_tasks
20
23
  - mcp__agentloop__add_task_comment
@@ -40,7 +43,7 @@ mcp:
40
43
  instructions: |
41
44
  ALWAYS check existing tasks BEFORE creating new ones.
42
45
  Prevents duplicate tasks and builds on existing work.
43
- Use limit: 100, status: "all" for full context.
46
+ Use limit: 100 for full context (omit status to get all tasks).
44
47
  required: true
45
48
  - name: create_task
46
49
  instructions: |