@opengoat/core 2026.2.14 → 2026.2.17

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 (89) hide show
  1. package/dist/core/agents/application/agent.service.d.ts +19 -3
  2. package/dist/core/agents/application/agent.service.js +170 -45
  3. package/dist/core/agents/application/agent.service.js.map +1 -1
  4. package/dist/core/boards/application/board.service.d.ts +2 -0
  5. package/dist/core/boards/application/board.service.js +36 -2
  6. package/dist/core/boards/application/board.service.js.map +1 -1
  7. package/dist/core/bootstrap/application/bootstrap.service.js +17 -1
  8. package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -1
  9. package/dist/core/opengoat/application/opengoat.service.d.ts +14 -3
  10. package/dist/core/opengoat/application/opengoat.service.helpers.d.ts +62 -0
  11. package/dist/core/opengoat/application/opengoat.service.helpers.js +403 -0
  12. package/dist/core/opengoat/application/opengoat.service.helpers.js.map +1 -0
  13. package/dist/core/opengoat/application/opengoat.service.js +653 -371
  14. package/dist/core/opengoat/application/opengoat.service.js.map +1 -1
  15. package/dist/core/orchestration/application/orchestration.service.d.ts +2 -0
  16. package/dist/core/orchestration/application/orchestration.service.js +150 -52
  17. package/dist/core/orchestration/application/orchestration.service.js.map +1 -1
  18. package/dist/core/providers/application/provider.service.d.ts +35 -4
  19. package/dist/core/providers/application/provider.service.js +823 -96
  20. package/dist/core/providers/application/provider.service.js.map +1 -1
  21. package/dist/core/providers/index.d.ts +1 -1
  22. package/dist/core/providers/index.js.map +1 -1
  23. package/dist/core/providers/loader.js +4 -2
  24. package/dist/core/providers/loader.js.map +1 -1
  25. package/dist/core/providers/openclaw-gateway-rpc.d.ts +20 -0
  26. package/dist/core/providers/openclaw-gateway-rpc.js +629 -0
  27. package/dist/core/providers/openclaw-gateway-rpc.js.map +1 -0
  28. package/dist/core/providers/provider-module.d.ts +11 -0
  29. package/dist/core/providers/provider-module.js +8 -1
  30. package/dist/core/providers/provider-module.js.map +1 -1
  31. package/dist/core/providers/providers/claude-code/index.d.ts +4 -0
  32. package/dist/core/providers/providers/claude-code/index.js +32 -0
  33. package/dist/core/providers/providers/claude-code/index.js.map +1 -0
  34. package/dist/core/providers/providers/claude-code/provider.d.ts +13 -0
  35. package/dist/core/providers/providers/claude-code/provider.js +152 -0
  36. package/dist/core/providers/providers/claude-code/provider.js.map +1 -0
  37. package/dist/core/providers/providers/codex/index.d.ts +4 -0
  38. package/dist/core/providers/providers/codex/index.js +32 -0
  39. package/dist/core/providers/providers/codex/index.js.map +1 -0
  40. package/dist/core/providers/providers/codex/provider.d.ts +12 -0
  41. package/dist/core/providers/providers/codex/provider.js +156 -0
  42. package/dist/core/providers/providers/codex/provider.js.map +1 -0
  43. package/dist/core/providers/providers/cursor/index.d.ts +4 -0
  44. package/dist/core/providers/providers/cursor/index.js +32 -0
  45. package/dist/core/providers/providers/cursor/index.js.map +1 -0
  46. package/dist/core/providers/providers/cursor/provider.d.ts +12 -0
  47. package/dist/core/providers/providers/cursor/provider.js +161 -0
  48. package/dist/core/providers/providers/cursor/provider.js.map +1 -0
  49. package/dist/core/providers/providers/gemini-cli/index.d.ts +4 -0
  50. package/dist/core/providers/providers/gemini-cli/index.js +36 -0
  51. package/dist/core/providers/providers/gemini-cli/index.js.map +1 -0
  52. package/dist/core/providers/providers/gemini-cli/provider.d.ts +11 -0
  53. package/dist/core/providers/providers/gemini-cli/provider.js +122 -0
  54. package/dist/core/providers/providers/gemini-cli/provider.js.map +1 -0
  55. package/dist/core/providers/providers/openclaw/index.js +8 -0
  56. package/dist/core/providers/providers/openclaw/index.js.map +1 -1
  57. package/dist/core/providers/providers/openclaw/provider.js +1 -0
  58. package/dist/core/providers/providers/openclaw/provider.js.map +1 -1
  59. package/dist/core/providers/providers/opencode/index.d.ts +4 -0
  60. package/dist/core/providers/providers/opencode/index.js +27 -0
  61. package/dist/core/providers/providers/opencode/index.js.map +1 -0
  62. package/dist/core/providers/providers/opencode/provider.d.ts +12 -0
  63. package/dist/core/providers/providers/opencode/provider.js +130 -0
  64. package/dist/core/providers/providers/opencode/provider.js.map +1 -0
  65. package/dist/core/providers/providers/registry.d.ts +2 -0
  66. package/dist/core/providers/providers/registry.js +17 -0
  67. package/dist/core/providers/providers/registry.js.map +1 -0
  68. package/dist/core/providers/registry.d.ts +2 -1
  69. package/dist/core/providers/registry.js +40 -0
  70. package/dist/core/providers/registry.js.map +1 -1
  71. package/dist/core/providers/types.d.ts +1 -0
  72. package/dist/core/scenarios/application/scenario-runner.service.js +2 -1
  73. package/dist/core/scenarios/application/scenario-runner.service.js.map +1 -1
  74. package/dist/core/sessions/application/session.service.d.ts +0 -2
  75. package/dist/core/sessions/application/session.service.js +10 -73
  76. package/dist/core/sessions/application/session.service.js.map +1 -1
  77. package/dist/core/sessions/domain/session.d.ts +0 -3
  78. package/dist/core/sessions/domain/session.js.map +1 -1
  79. package/dist/core/skills/application/skill.service.js +4 -1
  80. package/dist/core/skills/application/skill.service.js.map +1 -1
  81. package/dist/core/templates/assets/ceo/BOOTSTRAP.md +3 -3
  82. package/dist/core/templates/assets/ceo/ROLE.md +5 -3
  83. package/dist/core/templates/assets/skills/og-board-individual/SKILL.md +66 -89
  84. package/dist/core/templates/assets/skills/og-board-manager/SKILL.md +64 -45
  85. package/dist/core/templates/assets/skills/og-boards/SKILL.md +65 -0
  86. package/dist/core/templates/default-templates.d.ts +1 -2
  87. package/dist/core/templates/default-templates.js +22 -10
  88. package/dist/core/templates/default-templates.js.map +1 -1
  89. package/package.json +3 -2
@@ -5,10 +5,12 @@ You are the CEO of an organization fully run by AI agents.
5
5
  - Your id: ceo (agent id)
6
6
  - Your name: CEO
7
7
  - Role: CEO
8
- - For info about your reportees, run `opengoat agent info ceo`.
8
+ - For info about your reportees, call tool `opengoat_agent_info` with `{"agentId":"ceo"}`.
9
+ - Use OpenGoat tools directly (`opengoat_*`), not shell CLI commands.
9
10
  - To delegate and coordinate work, use `og-*` skills.
10
- - Organization context is available in `../../organization` - you're the owner of these files.
11
- - You can view and edit the wiki in `../../organization/wiki`.
11
+ - Organization context is available in `~/.opengoat/organization` - you're the owner of these files.
12
+ - You can view and edit the wiki in `~/.opengoat/organization/wiki`.
13
+ - If you need to use a repo, clone it or copy it into your own workspace.
12
14
 
13
15
  ---
14
16
 
@@ -7,142 +7,119 @@ metadata:
7
7
 
8
8
  # Board Individual
9
9
 
10
- Use this skill to read and update tasks assigned to you. Follow your manager’s instructions for what to do, and use the commands below to keep task state accurate.
10
+ Use this skill to read and update tasks assigned to you.
11
11
 
12
- ## Quick start
12
+ Use tools directly. Do not run shell CLI commands like `sh ./opengoat ...`.
13
+
14
+ ## Quick Start
13
15
 
14
16
  Replace `<me>` with your agent id.
15
17
 
16
- ```bash
17
- opengoat agent info <me>
18
+ ```text
19
+ opengoat_agent_info({ "agentId": "<me>" })
18
20
  ```
19
21
 
20
22
  You will typically have one or more `<task-id>` values to update.
21
23
 
22
- ## Relevant commands
23
-
24
- ```bash
25
- opengoat task list [--as <me>] [--json]
26
- opengoat task show <task-id> [--json]
27
-
28
- opengoat task status <task-id> <todo|doing|blocked|pending|done> [--reason <reason>] [--as <me>]
29
-
30
- opengoat task blocker add <task-id> <content> [--as <me>]
31
- opengoat task artifact add <task-id> <content> [--as <me>]
32
- opengoat task worklog add <task-id> <content> [--as <me>]
24
+ ## Relevant Tools
25
+
26
+ ```text
27
+ opengoat_task_list({ "assignee": "<me>" })
28
+ opengoat_task_get({ "taskId": "<task-id>" })
29
+ opengoat_task_update_status({
30
+ "actorId": "<me>",
31
+ "taskId": "<task-id>",
32
+ "status": "todo|doing|blocked|pending|done",
33
+ "reason": "<optional-reason>"
34
+ })
35
+ opengoat_task_add_blocker({ "actorId": "<me>", "taskId": "<task-id>", "blocker": "..." })
36
+ opengoat_task_add_artifact({ "actorId": "<me>", "taskId": "<task-id>", "content": "..." })
37
+ opengoat_task_add_worklog({ "actorId": "<me>", "taskId": "<task-id>", "content": "..." })
33
38
  ```
34
39
 
35
- ## View tasks
40
+ ## View Tasks
36
41
 
37
42
  ### Show a single task
38
43
 
39
- ```bash
40
- opengoat task show <task-id>
44
+ ```text
45
+ opengoat_task_get({ "taskId": "<task-id>" })
41
46
  ```
42
47
 
43
48
  ### List tasks
44
49
 
45
- List tasks owned by an agent (often: you):
46
-
47
- ```bash
48
- opengoat task list --as <me>
49
- ```
50
-
51
- ### List tasks by status (practical approach)
52
-
53
- Use JSON output and filter locally. The JSON includes task status (`todo|doing|blocked|pending|done`).
54
-
55
- ```bash
56
- opengoat task list --json
50
+ ```text
51
+ opengoat_task_list({ "assignee": "<me>" })
57
52
  ```
58
53
 
59
- Filter examples (adjust the jq selector to match the JSON shape you see):
60
-
61
- ```bash
62
-
63
- # If the JSON is an array of tasks
54
+ ### List latest tasks
64
55
 
65
- opengoat task list --json | jq '.[] | select(.status=="doing")'
66
-
67
- # If the JSON is an object that contains a tasks array
68
-
69
- opengoat task list --json | jq '.tasks[] | select(.status=="doing")'
56
+ ```text
57
+ opengoat_task_list_latest({ "assignee": "<me>", "limit": 20 })
70
58
  ```
71
59
 
72
- ## Update task status
60
+ ## Update Task Status
73
61
 
74
62
  Statuses: `todo`, `doing`, `blocked`, `pending`, `done`.
75
63
 
76
- ```bash
77
- opengoat task status <task-id> <todo|doing|blocked|pending|done> [--reason "<reason>"]
64
+ ```text
65
+ opengoat_task_update_status({
66
+ "actorId": "<me>",
67
+ "taskId": "<task-id>",
68
+ "status": "doing|blocked|pending|done|todo",
69
+ "reason": "<reason when needed>"
70
+ })
78
71
  ```
79
72
 
80
73
  ### Reason rules
81
74
 
82
- - `--reason` is **mandatory** when moving to:
83
- - `blocked`
84
- - `pending`
85
- - `--reason` is optional for other statuses, but recommended when it improves clarity.
75
+ - `reason` is mandatory when moving to `blocked` or `pending`.
76
+ - `reason` is optional for other statuses, but recommended when it improves clarity.
86
77
 
87
78
  Examples:
88
79
 
89
- ```bash
90
-
91
- # Start work
92
-
93
- opengoat task status <task-id> doing
94
-
95
- # Blocked (reason required)
96
-
97
- opengoat task status <task-id> blocked --reason "Need API token from platform team"
98
-
99
- # Pending (reason required)
100
-
101
- opengoat task status <task-id> pending --reason "Waiting for review window on Friday"
102
-
103
- # Done (reason optional but useful)
104
-
105
- opengoat task status <task-id> done --reason "Merged PR #123 and deployed"
80
+ ```text
81
+ opengoat_task_update_status({ "actorId": "<me>", "taskId": "<task-id>", "status": "doing" })
82
+ opengoat_task_update_status({ "actorId": "<me>", "taskId": "<task-id>", "status": "blocked", "reason": "Need API token from platform team" })
83
+ opengoat_task_update_status({ "actorId": "<me>", "taskId": "<task-id>", "status": "pending", "reason": "Waiting for review window on Friday" })
84
+ opengoat_task_update_status({ "actorId": "<me>", "taskId": "<task-id>", "status": "done", "reason": "Merged PR #123 and deployed" })
106
85
  ```
107
86
 
108
- ### Assignee override (only if you must)
87
+ ## Blockers, Artifacts, Worklogs
109
88
 
110
- Some contexts require specifying an assignee context explicitly.
89
+ ### Add a blocker entry
111
90
 
112
- ```bash
113
- opengoat task status <task-id> doing --as <agent-id>
114
- ```
115
-
116
- ## Blockers, artifacts, worklogs
117
-
118
- ### Add a blocker entry (recommended when blocked)
119
-
120
- Use this to capture what is blocking you and what unblocks you.
121
-
122
- ```bash
123
- opengoat task blocker add <task-id> "Blocked by <thing>. Unblocks when <condition>." --as <me>
91
+ ```text
92
+ opengoat_task_add_blocker({
93
+ "actorId": "<me>",
94
+ "taskId": "<task-id>",
95
+ "blocker": "Blocked by <thing>. Unblocks when <condition>."
96
+ })
124
97
  ```
125
98
 
126
99
  ### Add an artifact (proof of work)
127
100
 
128
- Use this for PR links, docs, screenshots, commands run, or final outputs.
129
-
130
- ```bash
131
- opengoat task artifact add <task-id> "PR: <link> | Docs: <link> | Output: <summary>" --as <me>
101
+ ```text
102
+ opengoat_task_add_artifact({
103
+ "actorId": "<me>",
104
+ "taskId": "<task-id>",
105
+ "content": "PR: <link> | Docs: <link> | Output: <summary>"
106
+ })
132
107
  ```
133
108
 
134
109
  ### Add a worklog update (progress notes)
135
110
 
136
- Use for concise progress updates and handoffs.
137
-
138
- ```bash
139
- opengoat task worklog add <task-id> "Did X. Next: Y. Risk: Z." --as <me>
111
+ ```text
112
+ opengoat_task_add_worklog({
113
+ "actorId": "<me>",
114
+ "taskId": "<task-id>",
115
+ "content": "Did X. Next: Y. Risk: Z."
116
+ })
140
117
  ```
141
118
 
142
- ## Minimal hygiene
119
+ ## Minimal Hygiene
143
120
 
144
- - Keep status accurate (`todo` `doing` `blocked/pending/done`).
145
- - When moving to `blocked` or `pending`, always include a specific `--reason`.
121
+ - Keep status accurate (`todo` -> `doing` -> `blocked/pending/done`).
122
+ - When moving to `blocked` or `pending`, include a specific reason.
146
123
  - When blocked, add a blocker entry that states what unblocks you.
147
124
  - When done, add at least one artifact that proves completion.
148
125
  - Use worklogs when progress is non-obvious or when handing off.
@@ -7,90 +7,109 @@ metadata:
7
7
 
8
8
  # Board Manager
9
9
 
10
- Delegate and track work using tasks.
10
+ Delegate and track work using OpenGoat tools.
11
+
12
+ Use tools directly. Do not run shell CLI commands like `sh ./opengoat ...`.
11
13
 
12
14
  ## Allowed Actions
13
15
 
14
16
  - Create tasks for yourself.
15
17
  - Assign tasks to your direct or indirect reportees.
16
- - Read task state.
17
- - If your session has an associated project, specify the path when creating tasks.
18
+ - Read and update task state.
19
+ - Add blockers, artifacts, and worklogs.
18
20
 
19
21
  Important: replace `<me>` with your agent ID.
20
22
 
21
- ```bash
22
- opengoat agent info <me>
23
+ ```text
24
+ opengoat_agent_info({ "agentId": "<me>" })
23
25
  ```
24
26
 
25
- ## Task Commands
27
+ ## Task Tools
26
28
 
27
- ```bash
28
- opengoat task list --as <me>
29
- opengoat task create --owner <me> --title "..." --description "..." --assign <agent-id> [--project <path>]
30
- opengoat task show <task-id>
29
+ ```text
30
+ opengoat_task_list({ "assignee": "<me>" })
31
+ opengoat_task_get({ "taskId": "<task-id>" })
32
+ opengoat_task_create({
33
+ "actorId": "<me>",
34
+ "title": "...",
35
+ "description": "...",
36
+ "assignedTo": "<agent-id>",
37
+ "project": "<path>"
38
+ })
39
+ opengoat_task_update_status({
40
+ "actorId": "<me>",
41
+ "taskId": "<task-id>",
42
+ "status": "todo|doing|blocked|pending|done",
43
+ "reason": "<optional-reason>"
44
+ })
45
+ opengoat_task_add_blocker({ "actorId": "<me>", "taskId": "<task-id>", "blocker": "..." })
46
+ opengoat_task_add_artifact({ "actorId": "<me>", "taskId": "<task-id>", "content": "..." })
47
+ opengoat_task_add_worklog({ "actorId": "<me>", "taskId": "<task-id>", "content": "..." })
31
48
  ```
32
49
 
33
- ## Standard workflow
50
+ ## Standard Workflow
34
51
 
35
52
  ### 1. Confirm org context
36
53
 
37
- ```bash
38
- opengoat agent info <me>
54
+ ```text
55
+ opengoat_agent_info({ "agentId": "<me>" })
39
56
  ```
40
57
 
41
58
  Use the output to ensure:
42
59
 
43
- - You assign only to **your** reportees (direct or indirect) or yourself
44
- - You choose task granularity appropriate to your layer in the org
60
+ - You assign only to your reportees (direct or indirect) or yourself.
61
+ - You choose task granularity appropriate to your layer in the org.
45
62
 
46
63
  ### 2. Review tasks
47
64
 
48
- ```bash
49
- opengoat task list --as <me>
50
- opengoat task show <task-id>
65
+ ```text
66
+ opengoat_task_list({ "assignee": "<me>" })
67
+ opengoat_task_get({ "taskId": "<task-id>" })
51
68
  ```
52
69
 
53
70
  ### 3. Delegate by creating a task
54
71
 
55
72
  Create one task per owner and outcome.
56
73
 
57
- ```bash
58
- opengoat task create \
59
- --owner <me> \
60
- --title "<verb>: <deliverable>" \
61
- --description "<context + deliverable + acceptance criteria>" \
62
- --assign <agent-id> \
63
- [--project <path>]
74
+ ```text
75
+ opengoat_task_create({
76
+ "actorId": "<me>",
77
+ "title": "<verb>: <deliverable>",
78
+ "description": "<context + deliverable + acceptance criteria>",
79
+ "assignedTo": "<agent-id>",
80
+ "project": "<path>"
81
+ })
64
82
  ```
65
83
 
66
84
  ## Self-assigning (do the work yourself)
67
85
 
68
- If the task is small enough and you have the tools and context to complete it efficiently, **do not delegate**. Create a task for yourself so the work is still tracked.
86
+ If the task is small enough and you have the tools and context to complete it efficiently, do not delegate. Create a task for yourself so the work is still tracked.
69
87
 
70
88
  Rules:
71
89
 
72
- - Use `--assign <me>`
73
- - Keep the task scoped to a single, verifiable outcome
74
- - Include acceptance criteria so done is unambiguous
90
+ - Use `"assignedTo": "<me>"`.
91
+ - Keep the task scoped to a single, verifiable outcome.
92
+ - Include acceptance criteria so done is unambiguous.
75
93
 
76
94
  Example:
77
95
 
78
- ```bash
79
- opengoat task create \
80
- --owner <me> \
81
- --title "Fix: <short description>" \
82
- --description "Context:\n- ...\n\nDeliverable:\n- ...\n\nAcceptance criteria:\n- ..." \
83
- --assign <me> \
84
- [--project <path>]
96
+ ```text
97
+ opengoat_task_create({
98
+ "actorId": "<me>",
99
+ "title": "Fix: <short description>",
100
+ "description": "Context:\n- ...\n\nDeliverable:\n- ...\n\nAcceptance criteria:\n- ...",
101
+ "assignedTo": "<me>",
102
+ "project": "<path>"
103
+ })
85
104
  ```
86
105
 
87
- ## Task sizing and detail level (depends on your layer)
106
+ ## Task sizing and detail level
88
107
 
89
- Do not blindly "break tasks down small." Size tasks based on where you sit in the org and who you are assigning to. You already know your org shape (direct and indirect reportees, and which reportees are managers). Use that.
108
+ Do not blindly break tasks down small. Size tasks based on where you sit in the org and who you are assigning to.
90
109
 
91
110
  ### If you are a higher-level manager
92
111
 
93
- Write **outcome-focused** tasks:
112
+ Write outcome-focused tasks:
94
113
 
95
114
  - What result is needed
96
115
  - Why it matters
@@ -101,13 +120,13 @@ Expect your reportee to create smaller tasks for their own direct reportees if n
101
120
 
102
121
  ### If you are the last manager before execution
103
122
 
104
- Write **execution-ready** tasks:
123
+ Write execution-ready tasks:
105
124
 
106
125
  - Concrete steps when helpful
107
- - File paths, commands, edge cases
108
- - Clear validation steps (how to verify)
126
+ - File paths and edge cases
127
+ - Clear validation steps
109
128
 
110
- ## Task writing template (not enforced, but recommended)
129
+ ## Task writing template
111
130
 
112
131
  ### Title
113
132
 
@@ -118,7 +137,7 @@ Use a verb + deliverable:
118
137
  - `Investigate: <question>`
119
138
  - `Decide: <tradeoff>`
120
139
 
121
- ### Description (pasteable)
140
+ ### Description
122
141
 
123
142
  ```text
124
143
  Context:
@@ -137,4 +156,4 @@ Constraints:
137
156
  ## Troubleshooting
138
157
 
139
158
  - Task creation fails: you are likely assigning to someone who is not in your reportee tree. Reassign to a valid reportee (direct or indirect) or assign to yourself.
140
- - You can use `opengoat task --help` to see available commands and options.
159
+ - If a tool call fails, inspect the tool error and retry with corrected parameters.
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: og-boards
3
+ description: Use when you need to create, inspect, or update task boards
4
+ metadata:
5
+ version: "1.0.0"
6
+ ---
7
+
8
+ # OG Boards
9
+
10
+ Use this skill for task board operations.
11
+
12
+ - Run commands using the CLI tool `opengoat`.
13
+
14
+ Your agent id is `<me>`.
15
+
16
+ ## Read Tasks
17
+
18
+ ```bash
19
+ opengoat task list --as <me>
20
+ opengoat task list --as <me> --json
21
+ opengoat task show <task-id>
22
+ opengoat task show <task-id> --json
23
+ ```
24
+
25
+ ## Create Tasks
26
+
27
+ ```bash
28
+ opengoat task create \
29
+ --owner <me> \
30
+ --assign <me> \
31
+ --title "<verb>: <deliverable>" \
32
+ --description "<context + deliverable + acceptance criteria>"
33
+ ```
34
+
35
+ ## Update Status
36
+
37
+ Valid statuses: `todo`, `doing`, `pending`, `blocked`, `done`.
38
+
39
+ ```bash
40
+ opengoat task status <task-id> doing --as <me>
41
+ opengoat task status <task-id> done --as <me>
42
+ ```
43
+
44
+ `pending` and `blocked` require `--reason`:
45
+
46
+ ```bash
47
+ opengoat task status <task-id> blocked --reason "Waiting for API token from platform team." --as <me>
48
+ opengoat task status <task-id> pending --reason "Waiting for review window." --as <me>
49
+ ```
50
+
51
+ ## Add Task Entries
52
+
53
+ ```bash
54
+ opengoat task blocker add <task-id> "Blocked by <thing>. Unblocks when <condition>." --as <me>
55
+ opengoat task artifact add <task-id> "PR: <link> | Docs: <link> | Output: <summary>" --as <me>
56
+ opengoat task worklog add <task-id> "Did X. Next: Y. Risk: Z." --as <me>
57
+ ```
58
+
59
+ ## Operational Workflow
60
+
61
+ 1. List current work (`task list --as <me>`).
62
+ 2. Open the target task (`task show <task-id> --json`).
63
+ 3. Move to `doing` when active.
64
+ 4. Add blocker/worklog/artifact entries as the task evolves.
65
+ 5. Move to `done` and include at least one artifact proving completion.
@@ -15,8 +15,7 @@ export declare function renderGlobalConfig(nowIso: string): OpenGoatConfig;
15
15
  export declare function renderAgentsIndex(nowIso: string, agents: string[]): AgentsIndex;
16
16
  export declare function renderCeoRoleMarkdown(): string;
17
17
  export declare function renderCeoBootstrapMarkdown(): string;
18
- export declare function renderBoardManagerSkillMarkdown(): string;
19
- export declare function renderBoardIndividualSkillMarkdown(): string;
18
+ export declare function renderBoardsSkillMarkdown(agentId: string): string;
20
19
  export declare function listOrganizationMarkdownTemplates(): OrganizationMarkdownTemplate[];
21
20
  export declare function renderInternalAgentConfig(agent: AgentIdentity, options?: AgentTemplateOptions): Record<string, unknown>;
22
21
  export declare function resolveAgentRole(agentId: string, type: "manager" | "individual", rawRole?: string): string;
@@ -1,5 +1,5 @@
1
1
  import { readdirSync, readFileSync } from "node:fs";
2
- import { DEFAULT_AGENT_ID, isDefaultAgentId } from "../domain/agent-id.js";
2
+ import { DEFAULT_AGENT_ID, isDefaultAgentId, normalizeAgentId } from "../domain/agent-id.js";
3
3
  export { DEFAULT_AGENT_ID } from "../domain/agent-id.js";
4
4
  const ROLE_SKILLS = {
5
5
  manager: [],
@@ -26,11 +26,9 @@ export function renderCeoRoleMarkdown() {
26
26
  export function renderCeoBootstrapMarkdown() {
27
27
  return readMarkdownTemplate("ceo/BOOTSTRAP.md");
28
28
  }
29
- export function renderBoardManagerSkillMarkdown() {
30
- return readMarkdownTemplate("skills/og-board-manager/SKILL.md");
31
- }
32
- export function renderBoardIndividualSkillMarkdown() {
33
- return readMarkdownTemplate("skills/og-board-individual/SKILL.md");
29
+ export function renderBoardsSkillMarkdown(agentId) {
30
+ const resolvedAgentId = normalizeAgentId(agentId) || DEFAULT_AGENT_ID;
31
+ return readMarkdownTemplate("skills/og-boards/SKILL.md").replaceAll("<me>", resolvedAgentId);
34
32
  }
35
33
  export function listOrganizationMarkdownTemplates() {
36
34
  return discoverOrganizationMarkdownTemplates();
@@ -61,7 +59,9 @@ export function renderInternalAgentConfig(agent, options = {}) {
61
59
  priority: type === "manager" ? 100 : 50,
62
60
  },
63
61
  runtime: {
64
- adapter: "openclaw",
62
+ provider: {
63
+ id: "openclaw",
64
+ },
65
65
  mode: "organization",
66
66
  sessions: {
67
67
  mainKey: "main",
@@ -130,9 +130,7 @@ function readMarkdownTemplate(relativePath) {
130
130
  function discoverOrganizationMarkdownTemplates() {
131
131
  let fileNames;
132
132
  try {
133
- fileNames = readdirSync(new URL("./assets/organization/", import.meta.url))
134
- .filter((name) => isMarkdownFile(name))
135
- .sort((left, right) => left.localeCompare(right));
133
+ fileNames = listOrganizationMarkdownFileNames(new URL("./assets/organization/", import.meta.url));
136
134
  }
137
135
  catch (error) {
138
136
  if (isNotFoundError(error)) {
@@ -148,6 +146,20 @@ function discoverOrganizationMarkdownTemplates() {
148
146
  function isMarkdownFile(fileName) {
149
147
  return fileName.toLowerCase().endsWith(".md");
150
148
  }
149
+ function listOrganizationMarkdownFileNames(directory, relativePrefix = "") {
150
+ const entries = readdirSync(directory, { withFileTypes: true }).sort((left, right) => left.name.localeCompare(right.name));
151
+ const fileNames = [];
152
+ for (const entry of entries) {
153
+ if (entry.isDirectory()) {
154
+ fileNames.push(...listOrganizationMarkdownFileNames(new URL(`${entry.name}/`, directory), `${relativePrefix}${entry.name}/`));
155
+ continue;
156
+ }
157
+ if (entry.isFile() && isMarkdownFile(entry.name)) {
158
+ fileNames.push(`${relativePrefix}${entry.name}`);
159
+ }
160
+ }
161
+ return fileNames;
162
+ }
151
163
  function isNotFoundError(error) {
152
164
  if (!error || typeof error !== "object") {
153
165
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"default-templates.js","sourceRoot":"","sources":["../../../src/core/templates/default-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-templates.js","sourceRoot":"","sources":["../../../src/core/templates/default-templates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengoat/core",
3
- "version": "2026.2.14",
3
+ "version": "2026.2.17",
4
4
  "description": "OpenGoat core organization runtime and OpenClaw adapters",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,8 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@agentclientprotocol/sdk": "^0.14.1",
26
- "sql.js": "^1.13.0"
26
+ "sql.js": "^1.13.0",
27
+ "ws": "^8.18.3"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@types/node": "^22.13.4",