@clawcipes/recipes 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/docs/AGENTS_AND_SKILLS.md +57 -0
- package/index.ts +68 -2
- package/package.json +10 -3
- package/recipes/default/customer-support-team.md +69 -0
- package/recipes/default/developer.md +24 -0
- package/recipes/default/development-team.md +54 -0
- package/recipes/default/editor.md +24 -0
- package/recipes/default/product-team.md +84 -0
- package/recipes/default/project-manager.md +24 -0
- package/recipes/default/research-team.md +69 -0
- package/recipes/default/researcher.md +24 -0
- package/recipes/default/social-team.md +10 -0
- package/recipes/default/writing-team.md +69 -0
package/README.md
CHANGED
|
@@ -87,6 +87,25 @@ Reference:
|
|
|
87
87
|
- Team IDs end with `-team`; agent IDs are namespaced: `<teamId>-<role>`.
|
|
88
88
|
- Recipe template rendering is intentionally simple: `{{var}}` replacement only.
|
|
89
89
|
|
|
90
|
+
## Removing (uninstalling) a scaffolded team
|
|
91
|
+
Clawcipes does not (yet) include a first-class `remove-team` command.
|
|
92
|
+
|
|
93
|
+
To remove a scaffolded team created with `scaffold-team --apply-config`, do two things:
|
|
94
|
+
|
|
95
|
+
1) Remove team + agent folders (recommended: send to trash):
|
|
96
|
+
```bash
|
|
97
|
+
trash ~/.openclaw/workspace/teams/<teamId>
|
|
98
|
+
trash ~/.openclaw/workspace/agents/<teamId>-*
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
2) Remove the agents from OpenClaw config:
|
|
102
|
+
- Edit `~/.openclaw/openclaw.json`
|
|
103
|
+
- Delete the matching entries under `agents.list[]` whose `id` starts with `<teamId>-`
|
|
104
|
+
- Restart:
|
|
105
|
+
```bash
|
|
106
|
+
openclaw gateway restart
|
|
107
|
+
```
|
|
108
|
+
|
|
90
109
|
## Links
|
|
91
110
|
- GitHub: https://github.com/rjdjohnston/clawcipes
|
|
92
111
|
- Docs:
|
|
@@ -47,6 +47,41 @@ The intent:
|
|
|
47
47
|
- Most agents should **not** have `exec`.
|
|
48
48
|
- Only agents that truly need it (dev/devops) should get runtime/exec capabilities.
|
|
49
49
|
|
|
50
|
+
## How to add/update tool access (allow list)
|
|
51
|
+
There are two common approaches.
|
|
52
|
+
|
|
53
|
+
### Option A (recommended): update the recipe, then re-apply config
|
|
54
|
+
1) Edit the recipe markdown (either a workspace recipe or your own copy of a bundled recipe) and change `tools.allow` / `tools.deny`.
|
|
55
|
+
|
|
56
|
+
2) Re-run scaffold with `--apply-config`:
|
|
57
|
+
|
|
58
|
+
Team:
|
|
59
|
+
```bash
|
|
60
|
+
openclaw recipes scaffold-team <recipeId> --team-id <teamId> --overwrite --apply-config
|
|
61
|
+
openclaw gateway restart
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Individual agent:
|
|
65
|
+
```bash
|
|
66
|
+
openclaw recipes scaffold <recipeId> --agent-id <agentId> --overwrite --apply-config
|
|
67
|
+
openclaw gateway restart
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Option B: edit OpenClaw config directly
|
|
71
|
+
1) Edit:
|
|
72
|
+
- `~/.openclaw/openclaw.json`
|
|
73
|
+
|
|
74
|
+
2) Find the matching agent under `agents.list[]` and edit:
|
|
75
|
+
- `tools.allow`
|
|
76
|
+
- `tools.deny`
|
|
77
|
+
|
|
78
|
+
3) Restart:
|
|
79
|
+
```bash
|
|
80
|
+
openclaw gateway restart
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
> Tip: if you later re-run scaffold with `--apply-config`, the recipe’s tool policy may overwrite your manual edits. If you want a change to stick, encode it in the recipe.
|
|
84
|
+
|
|
50
85
|
## Installing skills (workspace-local)
|
|
51
86
|
Clawcipes favors **workspace-local** installs so each OpenClaw workspace is self-contained.
|
|
52
87
|
|
|
@@ -78,6 +113,25 @@ To remove a workspace-local skill:
|
|
|
78
113
|
|
|
79
114
|
(We can add `openclaw recipes uninstall <slug>` later if you want it to be first-class.)
|
|
80
115
|
|
|
116
|
+
## Removing (uninstalling) a scaffolded team
|
|
117
|
+
Clawcipes does not (yet) include a first-class `remove-team` command.
|
|
118
|
+
|
|
119
|
+
If you scaffolded a team with `scaffold-team --apply-config`, removal has two parts:
|
|
120
|
+
|
|
121
|
+
1) Remove the team + agent folders (recommended: send to trash):
|
|
122
|
+
```bash
|
|
123
|
+
trash ~/.openclaw/workspace/teams/<teamId>
|
|
124
|
+
trash ~/.openclaw/workspace/agents/<teamId>-*
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
2) Remove the agents from OpenClaw config:
|
|
128
|
+
- Edit `~/.openclaw/openclaw.json`
|
|
129
|
+
- Delete the matching entries under `agents.list[]` whose `id` starts with `<teamId>-`
|
|
130
|
+
- Restart:
|
|
131
|
+
```bash
|
|
132
|
+
openclaw gateway restart
|
|
133
|
+
```
|
|
134
|
+
|
|
81
135
|
## Teams: shared workspace + multiple agents
|
|
82
136
|
A **team** recipe scaffolds:
|
|
83
137
|
- a shared team folder under `teams/<teamId>/...`
|
|
@@ -99,6 +153,9 @@ Agents are just folders under:
|
|
|
99
153
|
Common files:
|
|
100
154
|
- `SOUL.md` — the persona / operating style
|
|
101
155
|
- `AGENTS.md` — operating instructions / workflow
|
|
156
|
+
- `TOOLS.md` — agent-local notes (paths, conventions, env quirks)
|
|
157
|
+
- `STATUS.md` — current focus / next actions
|
|
158
|
+
- `NOTES.md` — scratchpad
|
|
102
159
|
|
|
103
160
|
To change behavior, edit these files and then just use the agent again.
|
|
104
161
|
|
package/index.ts
CHANGED
|
@@ -200,8 +200,46 @@ function upsertAgentInConfig(cfgObj: any, snippet: AgentConfigSnippet) {
|
|
|
200
200
|
tools: snippet.tools ? { ...snippet.tools } : prev?.tools,
|
|
201
201
|
};
|
|
202
202
|
|
|
203
|
-
if (idx >= 0)
|
|
204
|
-
|
|
203
|
+
if (idx >= 0) {
|
|
204
|
+
list[idx] = nextAgent;
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// New agent: append to end of list.
|
|
209
|
+
// (We still separately enforce that main exists and stays first/default.)
|
|
210
|
+
list.push(nextAgent);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
function ensureMainFirstInAgentsList(cfgObj: any, api: OpenClawPluginApi) {
|
|
214
|
+
if (!cfgObj.agents) cfgObj.agents = {};
|
|
215
|
+
if (!Array.isArray(cfgObj.agents.list)) cfgObj.agents.list = [];
|
|
216
|
+
|
|
217
|
+
const list: any[] = cfgObj.agents.list;
|
|
218
|
+
|
|
219
|
+
const workspaceRoot =
|
|
220
|
+
cfgObj.agents?.defaults?.workspace ??
|
|
221
|
+
api.config.agents?.defaults?.workspace ??
|
|
222
|
+
"~/.openclaw/workspace";
|
|
223
|
+
|
|
224
|
+
const idx = list.findIndex((a) => a?.id === "main");
|
|
225
|
+
const prevMain = idx >= 0 ? list[idx] : {};
|
|
226
|
+
|
|
227
|
+
// Enforce: main exists, is first, and is the default.
|
|
228
|
+
const main = {
|
|
229
|
+
...prevMain,
|
|
230
|
+
id: "main",
|
|
231
|
+
default: true,
|
|
232
|
+
workspace: prevMain?.workspace ?? workspaceRoot,
|
|
233
|
+
sandbox: prevMain?.sandbox ?? { mode: "off" },
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
// Ensure only one default.
|
|
237
|
+
for (const a of list) {
|
|
238
|
+
if (a?.id !== "main" && a?.default) a.default = false;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
if (idx >= 0) list.splice(idx, 1);
|
|
242
|
+
list.unshift(main);
|
|
205
243
|
}
|
|
206
244
|
|
|
207
245
|
async function applyAgentSnippetsToOpenClawConfig(api: OpenClawPluginApi, snippets: AgentConfigSnippet[]) {
|
|
@@ -211,8 +249,15 @@ async function applyAgentSnippetsToOpenClawConfig(api: OpenClawPluginApi, snippe
|
|
|
211
249
|
|
|
212
250
|
// Some loaders return { cfg, ... }. If so, normalize.
|
|
213
251
|
const cfgObj = (current.cfg ?? current) as any;
|
|
252
|
+
|
|
253
|
+
// Always keep main first/default when multi-agent workflows are in play.
|
|
254
|
+
ensureMainFirstInAgentsList(cfgObj, api);
|
|
255
|
+
|
|
214
256
|
for (const s of snippets) upsertAgentInConfig(cfgObj, s);
|
|
215
257
|
|
|
258
|
+
// Re-assert ordering/default after upserts.
|
|
259
|
+
ensureMainFirstInAgentsList(cfgObj, api);
|
|
260
|
+
|
|
216
261
|
await (api.runtime as any).config?.writeConfigFile?.(cfgObj);
|
|
217
262
|
return { updatedAgents: snippets.map((s) => s.id) };
|
|
218
263
|
}
|
|
@@ -269,6 +314,27 @@ const recipesPlugin = {
|
|
|
269
314
|
properties: {},
|
|
270
315
|
},
|
|
271
316
|
register(api: OpenClawPluginApi) {
|
|
317
|
+
// On plugin load, ensure multi-agent config has an explicit agents.list with main at top.
|
|
318
|
+
// This is idempotent and only writes if a change is required.
|
|
319
|
+
(async () => {
|
|
320
|
+
try {
|
|
321
|
+
const current = (api.runtime as any).config?.loadConfig?.();
|
|
322
|
+
if (!current) return;
|
|
323
|
+
const cfgObj = (current.cfg ?? current) as any;
|
|
324
|
+
|
|
325
|
+
const before = JSON.stringify(cfgObj.agents?.list ?? null);
|
|
326
|
+
ensureMainFirstInAgentsList(cfgObj, api);
|
|
327
|
+
const after = JSON.stringify(cfgObj.agents?.list ?? null);
|
|
328
|
+
|
|
329
|
+
if (before !== after) {
|
|
330
|
+
await (api.runtime as any).config?.writeConfigFile?.(cfgObj);
|
|
331
|
+
console.error("[recipes] ensured agents.list includes main as first/default");
|
|
332
|
+
}
|
|
333
|
+
} catch (e) {
|
|
334
|
+
console.error(`[recipes] warning: failed to ensure main agent in agents.list: ${(e as Error).message}`);
|
|
335
|
+
}
|
|
336
|
+
})();
|
|
337
|
+
|
|
272
338
|
api.registerCli(
|
|
273
339
|
({ program }) => {
|
|
274
340
|
const cmd = program.command("recipes").description("Manage markdown recipes (scaffold agents/teams)");
|
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clawcipes/recipes",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Clawcipes recipes plugin for OpenClaw (markdown recipes -> scaffold agents/teams)",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"type": "commonjs",
|
|
7
7
|
"openclaw": {
|
|
8
|
-
"extensions": [
|
|
8
|
+
"extensions": [
|
|
9
|
+
"./index.ts"
|
|
10
|
+
]
|
|
9
11
|
},
|
|
10
12
|
"publishConfig": {
|
|
11
13
|
"access": "public"
|
|
@@ -21,7 +23,12 @@
|
|
|
21
23
|
"scripts": {
|
|
22
24
|
"test": "echo \"(no tests yet)\""
|
|
23
25
|
},
|
|
24
|
-
"keywords": [
|
|
26
|
+
"keywords": [
|
|
27
|
+
"openclaw",
|
|
28
|
+
"clawcipes",
|
|
29
|
+
"plugin",
|
|
30
|
+
"recipes"
|
|
31
|
+
],
|
|
25
32
|
"author": "",
|
|
26
33
|
"license": "MIT",
|
|
27
34
|
"dependencies": {
|
|
@@ -137,6 +137,66 @@ templates:
|
|
|
137
137
|
- resolution steps
|
|
138
138
|
- prevention / follow-ups
|
|
139
139
|
|
|
140
|
+
lead.tools: |
|
|
141
|
+
# TOOLS.md
|
|
142
|
+
|
|
143
|
+
# Agent-local notes for lead (paths, conventions, env quirks).
|
|
144
|
+
|
|
145
|
+
lead.status: |
|
|
146
|
+
# STATUS.md
|
|
147
|
+
|
|
148
|
+
- (empty)
|
|
149
|
+
|
|
150
|
+
lead.notes: |
|
|
151
|
+
# NOTES.md
|
|
152
|
+
|
|
153
|
+
- (empty)
|
|
154
|
+
|
|
155
|
+
triage.tools: |
|
|
156
|
+
# TOOLS.md
|
|
157
|
+
|
|
158
|
+
# Agent-local notes for triage (paths, conventions, env quirks).
|
|
159
|
+
|
|
160
|
+
triage.status: |
|
|
161
|
+
# STATUS.md
|
|
162
|
+
|
|
163
|
+
- (empty)
|
|
164
|
+
|
|
165
|
+
triage.notes: |
|
|
166
|
+
# NOTES.md
|
|
167
|
+
|
|
168
|
+
- (empty)
|
|
169
|
+
|
|
170
|
+
resolver.tools: |
|
|
171
|
+
# TOOLS.md
|
|
172
|
+
|
|
173
|
+
# Agent-local notes for resolver (paths, conventions, env quirks).
|
|
174
|
+
|
|
175
|
+
resolver.status: |
|
|
176
|
+
# STATUS.md
|
|
177
|
+
|
|
178
|
+
- (empty)
|
|
179
|
+
|
|
180
|
+
resolver.notes: |
|
|
181
|
+
# NOTES.md
|
|
182
|
+
|
|
183
|
+
- (empty)
|
|
184
|
+
|
|
185
|
+
kb-writer.tools: |
|
|
186
|
+
# TOOLS.md
|
|
187
|
+
|
|
188
|
+
# Agent-local notes for kb-writer (paths, conventions, env quirks).
|
|
189
|
+
|
|
190
|
+
kb-writer.status: |
|
|
191
|
+
# STATUS.md
|
|
192
|
+
|
|
193
|
+
- (empty)
|
|
194
|
+
|
|
195
|
+
kb-writer.notes: |
|
|
196
|
+
# NOTES.md
|
|
197
|
+
|
|
198
|
+
- (empty)
|
|
199
|
+
|
|
140
200
|
files:
|
|
141
201
|
- path: SOUL.md
|
|
142
202
|
template: soul
|
|
@@ -144,6 +204,15 @@ files:
|
|
|
144
204
|
- path: AGENTS.md
|
|
145
205
|
template: agents
|
|
146
206
|
mode: createOnly
|
|
207
|
+
- path: TOOLS.md
|
|
208
|
+
template: tools
|
|
209
|
+
mode: createOnly
|
|
210
|
+
- path: STATUS.md
|
|
211
|
+
template: status
|
|
212
|
+
mode: createOnly
|
|
213
|
+
- path: NOTES.md
|
|
214
|
+
template: notes
|
|
215
|
+
mode: createOnly
|
|
147
216
|
|
|
148
217
|
tools:
|
|
149
218
|
profile: "coding"
|
|
@@ -31,6 +31,21 @@ templates:
|
|
|
31
31
|
- document how to test
|
|
32
32
|
- include any follow-ups
|
|
33
33
|
|
|
34
|
+
tools: |
|
|
35
|
+
# TOOLS.md
|
|
36
|
+
|
|
37
|
+
# Agent-local notes (paths, conventions, env quirks).
|
|
38
|
+
|
|
39
|
+
status: |
|
|
40
|
+
# STATUS.md
|
|
41
|
+
|
|
42
|
+
- (empty)
|
|
43
|
+
|
|
44
|
+
notes: |
|
|
45
|
+
# NOTES.md
|
|
46
|
+
|
|
47
|
+
- (empty)
|
|
48
|
+
|
|
34
49
|
files:
|
|
35
50
|
- path: SOUL.md
|
|
36
51
|
template: soul
|
|
@@ -38,6 +53,15 @@ files:
|
|
|
38
53
|
- path: AGENTS.md
|
|
39
54
|
template: agents
|
|
40
55
|
mode: createOnly
|
|
56
|
+
- path: TOOLS.md
|
|
57
|
+
template: tools
|
|
58
|
+
mode: createOnly
|
|
59
|
+
- path: STATUS.md
|
|
60
|
+
template: status
|
|
61
|
+
mode: createOnly
|
|
62
|
+
- path: NOTES.md
|
|
63
|
+
template: notes
|
|
64
|
+
mode: createOnly
|
|
41
65
|
|
|
42
66
|
tools:
|
|
43
67
|
profile: "coding"
|
|
@@ -130,6 +130,51 @@ templates:
|
|
|
130
130
|
- How to verify
|
|
131
131
|
- Rollback notes (if applicable)
|
|
132
132
|
|
|
133
|
+
lead.tools: |
|
|
134
|
+
# TOOLS.md
|
|
135
|
+
|
|
136
|
+
# Agent-local notes for lead (paths, conventions, env quirks).
|
|
137
|
+
|
|
138
|
+
lead.status: |
|
|
139
|
+
# STATUS.md
|
|
140
|
+
|
|
141
|
+
- (empty)
|
|
142
|
+
|
|
143
|
+
lead.notes: |
|
|
144
|
+
# NOTES.md
|
|
145
|
+
|
|
146
|
+
- (empty)
|
|
147
|
+
|
|
148
|
+
dev.tools: |
|
|
149
|
+
# TOOLS.md
|
|
150
|
+
|
|
151
|
+
# Agent-local notes for dev (paths, conventions, env quirks).
|
|
152
|
+
|
|
153
|
+
dev.status: |
|
|
154
|
+
# STATUS.md
|
|
155
|
+
|
|
156
|
+
- (empty)
|
|
157
|
+
|
|
158
|
+
dev.notes: |
|
|
159
|
+
# NOTES.md
|
|
160
|
+
|
|
161
|
+
- (empty)
|
|
162
|
+
|
|
163
|
+
devops.tools: |
|
|
164
|
+
# TOOLS.md
|
|
165
|
+
|
|
166
|
+
# Agent-local notes for devops (paths, conventions, env quirks).
|
|
167
|
+
|
|
168
|
+
devops.status: |
|
|
169
|
+
# STATUS.md
|
|
170
|
+
|
|
171
|
+
- (empty)
|
|
172
|
+
|
|
173
|
+
devops.notes: |
|
|
174
|
+
# NOTES.md
|
|
175
|
+
|
|
176
|
+
- (empty)
|
|
177
|
+
|
|
133
178
|
files:
|
|
134
179
|
- path: SOUL.md
|
|
135
180
|
template: soul
|
|
@@ -137,6 +182,15 @@ files:
|
|
|
137
182
|
- path: AGENTS.md
|
|
138
183
|
template: agents
|
|
139
184
|
mode: createOnly
|
|
185
|
+
- path: TOOLS.md
|
|
186
|
+
template: tools
|
|
187
|
+
mode: createOnly
|
|
188
|
+
- path: STATUS.md
|
|
189
|
+
template: status
|
|
190
|
+
mode: createOnly
|
|
191
|
+
- path: NOTES.md
|
|
192
|
+
template: notes
|
|
193
|
+
mode: createOnly
|
|
140
194
|
|
|
141
195
|
tools:
|
|
142
196
|
profile: "coding"
|
|
@@ -32,6 +32,21 @@ templates:
|
|
|
32
32
|
- is each section doing one job?
|
|
33
33
|
- are there any claims that need a link/citation?
|
|
34
34
|
|
|
35
|
+
tools: |
|
|
36
|
+
# TOOLS.md
|
|
37
|
+
|
|
38
|
+
# Agent-local notes (paths, conventions, env quirks).
|
|
39
|
+
|
|
40
|
+
status: |
|
|
41
|
+
# STATUS.md
|
|
42
|
+
|
|
43
|
+
- (empty)
|
|
44
|
+
|
|
45
|
+
notes: |
|
|
46
|
+
# NOTES.md
|
|
47
|
+
|
|
48
|
+
- (empty)
|
|
49
|
+
|
|
35
50
|
files:
|
|
36
51
|
- path: SOUL.md
|
|
37
52
|
template: soul
|
|
@@ -39,6 +54,15 @@ files:
|
|
|
39
54
|
- path: AGENTS.md
|
|
40
55
|
template: agents
|
|
41
56
|
mode: createOnly
|
|
57
|
+
- path: TOOLS.md
|
|
58
|
+
template: tools
|
|
59
|
+
mode: createOnly
|
|
60
|
+
- path: STATUS.md
|
|
61
|
+
template: status
|
|
62
|
+
mode: createOnly
|
|
63
|
+
- path: NOTES.md
|
|
64
|
+
template: notes
|
|
65
|
+
mode: createOnly
|
|
42
66
|
|
|
43
67
|
tools:
|
|
44
68
|
profile: "coding"
|
|
@@ -153,6 +153,81 @@ templates:
|
|
|
153
153
|
- edge cases
|
|
154
154
|
- regression checklist
|
|
155
155
|
|
|
156
|
+
lead.tools: |
|
|
157
|
+
# TOOLS.md
|
|
158
|
+
|
|
159
|
+
# Agent-local notes for lead (paths, conventions, env quirks).
|
|
160
|
+
|
|
161
|
+
lead.status: |
|
|
162
|
+
# STATUS.md
|
|
163
|
+
|
|
164
|
+
- (empty)
|
|
165
|
+
|
|
166
|
+
lead.notes: |
|
|
167
|
+
# NOTES.md
|
|
168
|
+
|
|
169
|
+
- (empty)
|
|
170
|
+
|
|
171
|
+
pm.tools: |
|
|
172
|
+
# TOOLS.md
|
|
173
|
+
|
|
174
|
+
# Agent-local notes for pm (paths, conventions, env quirks).
|
|
175
|
+
|
|
176
|
+
pm.status: |
|
|
177
|
+
# STATUS.md
|
|
178
|
+
|
|
179
|
+
- (empty)
|
|
180
|
+
|
|
181
|
+
pm.notes: |
|
|
182
|
+
# NOTES.md
|
|
183
|
+
|
|
184
|
+
- (empty)
|
|
185
|
+
|
|
186
|
+
designer.tools: |
|
|
187
|
+
# TOOLS.md
|
|
188
|
+
|
|
189
|
+
# Agent-local notes for designer (paths, conventions, env quirks).
|
|
190
|
+
|
|
191
|
+
designer.status: |
|
|
192
|
+
# STATUS.md
|
|
193
|
+
|
|
194
|
+
- (empty)
|
|
195
|
+
|
|
196
|
+
designer.notes: |
|
|
197
|
+
# NOTES.md
|
|
198
|
+
|
|
199
|
+
- (empty)
|
|
200
|
+
|
|
201
|
+
engineer.tools: |
|
|
202
|
+
# TOOLS.md
|
|
203
|
+
|
|
204
|
+
# Agent-local notes for engineer (paths, conventions, env quirks).
|
|
205
|
+
|
|
206
|
+
engineer.status: |
|
|
207
|
+
# STATUS.md
|
|
208
|
+
|
|
209
|
+
- (empty)
|
|
210
|
+
|
|
211
|
+
engineer.notes: |
|
|
212
|
+
# NOTES.md
|
|
213
|
+
|
|
214
|
+
- (empty)
|
|
215
|
+
|
|
216
|
+
qa.tools: |
|
|
217
|
+
# TOOLS.md
|
|
218
|
+
|
|
219
|
+
# Agent-local notes for qa (paths, conventions, env quirks).
|
|
220
|
+
|
|
221
|
+
qa.status: |
|
|
222
|
+
# STATUS.md
|
|
223
|
+
|
|
224
|
+
- (empty)
|
|
225
|
+
|
|
226
|
+
qa.notes: |
|
|
227
|
+
# NOTES.md
|
|
228
|
+
|
|
229
|
+
- (empty)
|
|
230
|
+
|
|
156
231
|
files:
|
|
157
232
|
- path: SOUL.md
|
|
158
233
|
template: soul
|
|
@@ -160,6 +235,15 @@ files:
|
|
|
160
235
|
- path: AGENTS.md
|
|
161
236
|
template: agents
|
|
162
237
|
mode: createOnly
|
|
238
|
+
- path: TOOLS.md
|
|
239
|
+
template: tools
|
|
240
|
+
mode: createOnly
|
|
241
|
+
- path: STATUS.md
|
|
242
|
+
template: status
|
|
243
|
+
mode: createOnly
|
|
244
|
+
- path: NOTES.md
|
|
245
|
+
template: notes
|
|
246
|
+
mode: createOnly
|
|
163
247
|
|
|
164
248
|
tools:
|
|
165
249
|
profile: "coding"
|
|
@@ -28,6 +28,21 @@ templates:
|
|
|
28
28
|
- Daily: review inbox and plan.
|
|
29
29
|
- Weekly: produce a short summary.
|
|
30
30
|
|
|
31
|
+
tools: |
|
|
32
|
+
# TOOLS.md
|
|
33
|
+
|
|
34
|
+
# Agent-local notes (paths, conventions, env quirks).
|
|
35
|
+
|
|
36
|
+
status: |
|
|
37
|
+
# STATUS.md
|
|
38
|
+
|
|
39
|
+
- (empty)
|
|
40
|
+
|
|
41
|
+
notes: |
|
|
42
|
+
# NOTES.md
|
|
43
|
+
|
|
44
|
+
- (empty)
|
|
45
|
+
|
|
31
46
|
files:
|
|
32
47
|
- path: SOUL.md
|
|
33
48
|
template: soul
|
|
@@ -35,6 +50,15 @@ files:
|
|
|
35
50
|
- path: AGENTS.md
|
|
36
51
|
template: agents
|
|
37
52
|
mode: createOnly
|
|
53
|
+
- path: TOOLS.md
|
|
54
|
+
template: tools
|
|
55
|
+
mode: createOnly
|
|
56
|
+
- path: STATUS.md
|
|
57
|
+
template: status
|
|
58
|
+
mode: createOnly
|
|
59
|
+
- path: NOTES.md
|
|
60
|
+
template: notes
|
|
61
|
+
mode: createOnly
|
|
38
62
|
tools:
|
|
39
63
|
profile: "coding"
|
|
40
64
|
allow: ["group:fs", "group:web", "cron", "message"]
|
|
@@ -136,6 +136,66 @@ templates:
|
|
|
136
136
|
- Risks/unknowns
|
|
137
137
|
- Links (source list)
|
|
138
138
|
|
|
139
|
+
lead.tools: |
|
|
140
|
+
# TOOLS.md
|
|
141
|
+
|
|
142
|
+
# Agent-local notes for lead (paths, conventions, env quirks).
|
|
143
|
+
|
|
144
|
+
lead.status: |
|
|
145
|
+
# STATUS.md
|
|
146
|
+
|
|
147
|
+
- (empty)
|
|
148
|
+
|
|
149
|
+
lead.notes: |
|
|
150
|
+
# NOTES.md
|
|
151
|
+
|
|
152
|
+
- (empty)
|
|
153
|
+
|
|
154
|
+
researcher.tools: |
|
|
155
|
+
# TOOLS.md
|
|
156
|
+
|
|
157
|
+
# Agent-local notes for researcher (paths, conventions, env quirks).
|
|
158
|
+
|
|
159
|
+
researcher.status: |
|
|
160
|
+
# STATUS.md
|
|
161
|
+
|
|
162
|
+
- (empty)
|
|
163
|
+
|
|
164
|
+
researcher.notes: |
|
|
165
|
+
# NOTES.md
|
|
166
|
+
|
|
167
|
+
- (empty)
|
|
168
|
+
|
|
169
|
+
fact-checker.tools: |
|
|
170
|
+
# TOOLS.md
|
|
171
|
+
|
|
172
|
+
# Agent-local notes for fact-checker (paths, conventions, env quirks).
|
|
173
|
+
|
|
174
|
+
fact-checker.status: |
|
|
175
|
+
# STATUS.md
|
|
176
|
+
|
|
177
|
+
- (empty)
|
|
178
|
+
|
|
179
|
+
fact-checker.notes: |
|
|
180
|
+
# NOTES.md
|
|
181
|
+
|
|
182
|
+
- (empty)
|
|
183
|
+
|
|
184
|
+
summarizer.tools: |
|
|
185
|
+
# TOOLS.md
|
|
186
|
+
|
|
187
|
+
# Agent-local notes for summarizer (paths, conventions, env quirks).
|
|
188
|
+
|
|
189
|
+
summarizer.status: |
|
|
190
|
+
# STATUS.md
|
|
191
|
+
|
|
192
|
+
- (empty)
|
|
193
|
+
|
|
194
|
+
summarizer.notes: |
|
|
195
|
+
# NOTES.md
|
|
196
|
+
|
|
197
|
+
- (empty)
|
|
198
|
+
|
|
139
199
|
files:
|
|
140
200
|
- path: SOUL.md
|
|
141
201
|
template: soul
|
|
@@ -143,6 +203,15 @@ files:
|
|
|
143
203
|
- path: AGENTS.md
|
|
144
204
|
template: agents
|
|
145
205
|
mode: createOnly
|
|
206
|
+
- path: TOOLS.md
|
|
207
|
+
template: tools
|
|
208
|
+
mode: createOnly
|
|
209
|
+
- path: STATUS.md
|
|
210
|
+
template: status
|
|
211
|
+
mode: createOnly
|
|
212
|
+
- path: NOTES.md
|
|
213
|
+
template: notes
|
|
214
|
+
mode: createOnly
|
|
146
215
|
|
|
147
216
|
tools:
|
|
148
217
|
profile: "coding"
|
|
@@ -33,6 +33,21 @@ templates:
|
|
|
33
33
|
- 3–7 bullet summary
|
|
34
34
|
- key quotes (optional)
|
|
35
35
|
|
|
36
|
+
tools: |
|
|
37
|
+
# TOOLS.md
|
|
38
|
+
|
|
39
|
+
# Agent-local notes (paths, conventions, env quirks).
|
|
40
|
+
|
|
41
|
+
status: |
|
|
42
|
+
# STATUS.md
|
|
43
|
+
|
|
44
|
+
- (empty)
|
|
45
|
+
|
|
46
|
+
notes: |
|
|
47
|
+
# NOTES.md
|
|
48
|
+
|
|
49
|
+
- (empty)
|
|
50
|
+
|
|
36
51
|
files:
|
|
37
52
|
- path: SOUL.md
|
|
38
53
|
template: soul
|
|
@@ -40,6 +55,15 @@ files:
|
|
|
40
55
|
- path: AGENTS.md
|
|
41
56
|
template: agents
|
|
42
57
|
mode: createOnly
|
|
58
|
+
- path: TOOLS.md
|
|
59
|
+
template: tools
|
|
60
|
+
mode: createOnly
|
|
61
|
+
- path: STATUS.md
|
|
62
|
+
template: status
|
|
63
|
+
mode: createOnly
|
|
64
|
+
- path: NOTES.md
|
|
65
|
+
template: notes
|
|
66
|
+
mode: createOnly
|
|
43
67
|
|
|
44
68
|
tools:
|
|
45
69
|
profile: "coding"
|
|
@@ -89,6 +89,7 @@ templates:
|
|
|
89
89
|
- Edited drafts go in `work/edited/`.
|
|
90
90
|
- Provide a short changelog at the top.
|
|
91
91
|
|
|
92
|
+
|
|
92
93
|
files:
|
|
93
94
|
- path: SOUL.md
|
|
94
95
|
template: soul
|
|
@@ -96,6 +97,15 @@ files:
|
|
|
96
97
|
- path: AGENTS.md
|
|
97
98
|
template: agents
|
|
98
99
|
mode: createOnly
|
|
100
|
+
- path: TOOLS.md
|
|
101
|
+
template: tools
|
|
102
|
+
mode: createOnly
|
|
103
|
+
- path: STATUS.md
|
|
104
|
+
template: status
|
|
105
|
+
mode: createOnly
|
|
106
|
+
- path: NOTES.md
|
|
107
|
+
template: notes
|
|
108
|
+
mode: createOnly
|
|
99
109
|
|
|
100
110
|
tools:
|
|
101
111
|
profile: "coding"
|
|
@@ -120,6 +120,66 @@ templates:
|
|
|
120
120
|
- Provide a short changelog at the top.
|
|
121
121
|
- Flag any factual claims that need citations.
|
|
122
122
|
|
|
123
|
+
lead.tools: |
|
|
124
|
+
# TOOLS.md
|
|
125
|
+
|
|
126
|
+
# Agent-local notes for lead (paths, conventions, env quirks).
|
|
127
|
+
|
|
128
|
+
lead.status: |
|
|
129
|
+
# STATUS.md
|
|
130
|
+
|
|
131
|
+
- (empty)
|
|
132
|
+
|
|
133
|
+
lead.notes: |
|
|
134
|
+
# NOTES.md
|
|
135
|
+
|
|
136
|
+
- (empty)
|
|
137
|
+
|
|
138
|
+
outliner.tools: |
|
|
139
|
+
# TOOLS.md
|
|
140
|
+
|
|
141
|
+
# Agent-local notes for outliner (paths, conventions, env quirks).
|
|
142
|
+
|
|
143
|
+
outliner.status: |
|
|
144
|
+
# STATUS.md
|
|
145
|
+
|
|
146
|
+
- (empty)
|
|
147
|
+
|
|
148
|
+
outliner.notes: |
|
|
149
|
+
# NOTES.md
|
|
150
|
+
|
|
151
|
+
- (empty)
|
|
152
|
+
|
|
153
|
+
writer.tools: |
|
|
154
|
+
# TOOLS.md
|
|
155
|
+
|
|
156
|
+
# Agent-local notes for writer (paths, conventions, env quirks).
|
|
157
|
+
|
|
158
|
+
writer.status: |
|
|
159
|
+
# STATUS.md
|
|
160
|
+
|
|
161
|
+
- (empty)
|
|
162
|
+
|
|
163
|
+
writer.notes: |
|
|
164
|
+
# NOTES.md
|
|
165
|
+
|
|
166
|
+
- (empty)
|
|
167
|
+
|
|
168
|
+
editor.tools: |
|
|
169
|
+
# TOOLS.md
|
|
170
|
+
|
|
171
|
+
# Agent-local notes for editor (paths, conventions, env quirks).
|
|
172
|
+
|
|
173
|
+
editor.status: |
|
|
174
|
+
# STATUS.md
|
|
175
|
+
|
|
176
|
+
- (empty)
|
|
177
|
+
|
|
178
|
+
editor.notes: |
|
|
179
|
+
# NOTES.md
|
|
180
|
+
|
|
181
|
+
- (empty)
|
|
182
|
+
|
|
123
183
|
files:
|
|
124
184
|
- path: SOUL.md
|
|
125
185
|
template: soul
|
|
@@ -127,6 +187,15 @@ files:
|
|
|
127
187
|
- path: AGENTS.md
|
|
128
188
|
template: agents
|
|
129
189
|
mode: createOnly
|
|
190
|
+
- path: TOOLS.md
|
|
191
|
+
template: tools
|
|
192
|
+
mode: createOnly
|
|
193
|
+
- path: STATUS.md
|
|
194
|
+
template: status
|
|
195
|
+
mode: createOnly
|
|
196
|
+
- path: NOTES.md
|
|
197
|
+
template: notes
|
|
198
|
+
mode: createOnly
|
|
130
199
|
|
|
131
200
|
tools:
|
|
132
201
|
profile: "coding"
|