@jiggai/recipes 0.4.17 → 0.4.18
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 +263 -145
- package/docs/AGENTS_AND_SKILLS.md +128 -173
- package/docs/BUNDLED_RECIPES.md +117 -210
- package/docs/CLAWCIPES_KITCHEN.md +71 -27
- package/docs/COMMANDS.md +250 -216
- package/docs/INSTALLATION.md +167 -45
- package/docs/OUTBOUND_POSTING.md +140 -50
- package/docs/RECIPE_FORMAT.md +234 -68
- package/docs/TEAM_WORKFLOW.md +196 -84
- package/docs/TUTORIAL_CREATE_RECIPE.md +118 -52
- package/docs/WORKFLOW_RUNS_FILE_FIRST.md +212 -73
- package/docs/releasing.md +116 -23
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/recipes/default/clinic-team.md +0 -521
- package/recipes/default/construction-team.md +0 -521
- package/recipes/default/crypto-trader-team.md +0 -521
- package/recipes/default/financial-planner-team.md +0 -522
- package/recipes/default/law-firm-team.md +0 -524
- package/recipes/default/stock-trader-team.md +0 -444
|
@@ -1,524 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: law-firm-team
|
|
3
|
-
name: Law Firm Team
|
|
4
|
-
version: 0.1.0
|
|
5
|
-
description: A legal practice team (intake, research, drafting, compliance, ops) coordinated via a shared workspace.
|
|
6
|
-
kind: team
|
|
7
|
-
cronJobs:
|
|
8
|
-
- id: lead-triage-loop
|
|
9
|
-
name: "Lead triage loop"
|
|
10
|
-
schedule: "*/30 7-23 * * 1-5"
|
|
11
|
-
timezone: "America/New_York"
|
|
12
|
-
message: "Automated lead triage loop (Law Firm): triage intake/tickets, assign work, and update notes/status.md."
|
|
13
|
-
enabledByDefault: false
|
|
14
|
-
- id: execution-loop
|
|
15
|
-
name: "Execution loop"
|
|
16
|
-
schedule: "*/30 7-23 * * 1-5"
|
|
17
|
-
timezone: "America/New_York"
|
|
18
|
-
message: "Automated execution loop (Law Firm): make progress on in-progress matters and update notes/status.md."
|
|
19
|
-
enabledByDefault: false
|
|
20
|
-
requiredSkills: []
|
|
21
|
-
team:
|
|
22
|
-
teamId: law-firm-team
|
|
23
|
-
agents:
|
|
24
|
-
- role: lead
|
|
25
|
-
name: Managing Attorney / Lead
|
|
26
|
-
tools:
|
|
27
|
-
profile: "coding"
|
|
28
|
-
allow: ["group:fs", "group:web", "group:runtime"]
|
|
29
|
-
deny: ["exec"]
|
|
30
|
-
- role: intake
|
|
31
|
-
name: Client Intake / Paralegal
|
|
32
|
-
tools:
|
|
33
|
-
profile: "coding"
|
|
34
|
-
allow: ["group:fs", "group:web"]
|
|
35
|
-
deny: ["exec"]
|
|
36
|
-
- role: researcher
|
|
37
|
-
name: Legal Researcher
|
|
38
|
-
tools:
|
|
39
|
-
profile: "coding"
|
|
40
|
-
allow: ["group:fs", "group:web"]
|
|
41
|
-
deny: ["exec"]
|
|
42
|
-
- role: drafter
|
|
43
|
-
name: Briefs & Contracts Drafter
|
|
44
|
-
tools:
|
|
45
|
-
profile: "coding"
|
|
46
|
-
allow: ["group:fs", "group:web"]
|
|
47
|
-
deny: ["exec"]
|
|
48
|
-
- role: compliance
|
|
49
|
-
name: Compliance / Risk
|
|
50
|
-
tools:
|
|
51
|
-
profile: "coding"
|
|
52
|
-
allow: ["group:fs", "group:web"]
|
|
53
|
-
deny: ["exec"]
|
|
54
|
-
- role: ops
|
|
55
|
-
name: Practice Ops
|
|
56
|
-
tools:
|
|
57
|
-
profile: "coding"
|
|
58
|
-
allow: ["group:fs", "group:web"]
|
|
59
|
-
deny: ["exec"]
|
|
60
|
-
|
|
61
|
-
templates:
|
|
62
|
-
sharedContext.memoryPolicy: |
|
|
63
|
-
# Team Memory Policy (File-first)
|
|
64
|
-
|
|
65
|
-
Quick link: see `shared-context/MEMORY_PLAN.md` for the canonical “what goes where” map.
|
|
66
|
-
|
|
67
|
-
This team is run **file-first**. Chat is not the system of record.
|
|
68
|
-
|
|
69
|
-
## Where to write things
|
|
70
|
-
- Ticket = source of truth for a unit of work.
|
|
71
|
-
- `notes/plan.md` + `shared-context/priorities.md` are **lead-curated**.
|
|
72
|
-
- `notes/status.md` is **append-only** and updated after each work session (3–5 bullets).
|
|
73
|
-
- `shared-context/agent-outputs/` is **append-only** logs/output.
|
|
74
|
-
|
|
75
|
-
## End-of-session checklist (everyone)
|
|
76
|
-
After meaningful work:
|
|
77
|
-
1) Update the ticket with what changed + how to verify + rollback.
|
|
78
|
-
2) Add a dated note in the ticket `## Comments`.
|
|
79
|
-
3) Append 3–5 bullets to `notes/status.md`.
|
|
80
|
-
4) Append logs/output to `shared-context/agent-outputs/`.
|
|
81
|
-
|
|
82
|
-
sharedContext.plan: |
|
|
83
|
-
# Plan (lead-curated)
|
|
84
|
-
|
|
85
|
-
- (empty)
|
|
86
|
-
|
|
87
|
-
sharedContext.status: |
|
|
88
|
-
# Status (append-only)
|
|
89
|
-
|
|
90
|
-
- (empty)
|
|
91
|
-
|
|
92
|
-
sharedContext.memoryPlan: |
|
|
93
|
-
# Memory Plan (Team)
|
|
94
|
-
|
|
95
|
-
This team is file-first. Chat is not the system of record.
|
|
96
|
-
|
|
97
|
-
## Source of truth
|
|
98
|
-
- Tickets (`work/*/*.md`) are the source of truth for a unit of work.
|
|
99
|
-
|
|
100
|
-
## Team knowledge memory (Kitchen UI)
|
|
101
|
-
- `shared-context/memory/team.jsonl` (append-only)
|
|
102
|
-
- `shared-context/memory/pinned.jsonl` (append-only, curated/high-signal)
|
|
103
|
-
|
|
104
|
-
Policy:
|
|
105
|
-
- Lead may pin to `pinned.jsonl`.
|
|
106
|
-
- Non-leads propose memory items via ticket comments or role outputs; lead pins.
|
|
107
|
-
|
|
108
|
-
## Per-role continuity memory (agent startup)
|
|
109
|
-
- `roles/<role>/MEMORY.md` (curated long-term)
|
|
110
|
-
- `roles/<role>/memory/YYYY-MM-DD.md` (daily log)
|
|
111
|
-
|
|
112
|
-
## Plan vs status (team coordination)
|
|
113
|
-
- `notes/plan.md` + `shared-context/priorities.md` are lead-curated
|
|
114
|
-
- `notes/status.md` is append-only roll-up (everyone appends)
|
|
115
|
-
|
|
116
|
-
## Outputs / artifacts
|
|
117
|
-
- `roles/<role>/agent-outputs/` (append-only)
|
|
118
|
-
- `shared-context/agent-outputs/` (optional team-level)
|
|
119
|
-
|
|
120
|
-
## Role work loop contract (safe-idle)
|
|
121
|
-
- No-op unless explicit queued work exists for the role.
|
|
122
|
-
- If work happens, write back in order: ticket → `notes/status.md` → `roles/<role>/agent-outputs/`.
|
|
123
|
-
|
|
124
|
-
sharedContext.priorities: |
|
|
125
|
-
# Priorities (lead-curated)
|
|
126
|
-
|
|
127
|
-
- (empty)
|
|
128
|
-
|
|
129
|
-
sharedContext.agentOutputsReadme: |
|
|
130
|
-
# Agent Outputs (append-only)
|
|
131
|
-
|
|
132
|
-
Put raw logs, command output, and investigation notes here.
|
|
133
|
-
Prefer filenames like: `YYYY-MM-DD-topic.md`.
|
|
134
|
-
|
|
135
|
-
lead.tools: |
|
|
136
|
-
# TOOLS.md
|
|
137
|
-
|
|
138
|
-
# Agent-local notes (paths, conventions, env quirks).
|
|
139
|
-
|
|
140
|
-
tools: |
|
|
141
|
-
# TOOLS.md
|
|
142
|
-
|
|
143
|
-
# Agent-local notes (paths, conventions, env quirks).
|
|
144
|
-
|
|
145
|
-
status: |
|
|
146
|
-
# STATUS.md
|
|
147
|
-
|
|
148
|
-
- (empty)
|
|
149
|
-
|
|
150
|
-
notes: |
|
|
151
|
-
# NOTES.md
|
|
152
|
-
|
|
153
|
-
- (empty)
|
|
154
|
-
|
|
155
|
-
lead.soul: |
|
|
156
|
-
# SOUL.md
|
|
157
|
-
|
|
158
|
-
You are the Team Lead / Dispatcher for {{teamId}}.
|
|
159
|
-
|
|
160
|
-
Core job:
|
|
161
|
-
- Convert new requests into scoped tickets.
|
|
162
|
-
- Assign work to Dev or DevOps.
|
|
163
|
-
- Monitor progress and unblock.
|
|
164
|
-
- Report completions.
|
|
165
|
-
lead.agents: |
|
|
166
|
-
# AGENTS.md
|
|
167
|
-
|
|
168
|
-
Team: {{teamId}}
|
|
169
|
-
Shared workspace: {{teamDir}}
|
|
170
|
-
|
|
171
|
-
## Guardrails (read → act → write)
|
|
172
|
-
|
|
173
|
-
Before you act:
|
|
174
|
-
1) Read:
|
|
175
|
-
- `notes/plan.md`
|
|
176
|
-
- `notes/status.md`
|
|
177
|
-
- `shared-context/priorities.md`
|
|
178
|
-
- the relevant ticket(s)
|
|
179
|
-
|
|
180
|
-
After you act:
|
|
181
|
-
1) Write back:
|
|
182
|
-
- Update tickets with decisions/assignments.
|
|
183
|
-
- Keep `notes/status.md` current (3–5 bullets per active ticket).
|
|
184
|
-
|
|
185
|
-
## Curator model
|
|
186
|
-
|
|
187
|
-
You are the curator of:
|
|
188
|
-
- `notes/plan.md`
|
|
189
|
-
- `shared-context/priorities.md`
|
|
190
|
-
|
|
191
|
-
Everyone else should append to:
|
|
192
|
-
- `shared-context/agent-outputs/` (append-only)
|
|
193
|
-
- `shared-context/feedback/`
|
|
194
|
-
|
|
195
|
-
Your job is to periodically distill those inputs into the curated files.
|
|
196
|
-
|
|
197
|
-
## File-first workflow (tickets)
|
|
198
|
-
|
|
199
|
-
Source of truth is the shared team workspace.
|
|
200
|
-
|
|
201
|
-
Folders:
|
|
202
|
-
- `inbox/` — raw incoming requests (append-only)
|
|
203
|
-
- `work/backlog/` — normalized tickets, filename-ordered (`0001-...md`)
|
|
204
|
-
- `work/in-progress/` — tickets currently being executed
|
|
205
|
-
- `work/testing/` — tickets awaiting QA verification
|
|
206
|
-
- `work/done/` — completed tickets + completion notes
|
|
207
|
-
- `notes/plan.md` — current plan / priorities (curated)
|
|
208
|
-
- `notes/status.md` — current status snapshot
|
|
209
|
-
- `shared-context/` — shared context + append-only outputs
|
|
210
|
-
|
|
211
|
-
### Ticket numbering (critical)
|
|
212
|
-
- Backlog tickets MUST be named `0001-...md`, `0002-...md`, etc.
|
|
213
|
-
- The developer pulls the lowest-numbered ticket assigned to them.
|
|
214
|
-
|
|
215
|
-
### Ticket format
|
|
216
|
-
See `TICKETS.md` in the team root. Every ticket should include:
|
|
217
|
-
- Context
|
|
218
|
-
- Requirements
|
|
219
|
-
- Acceptance criteria
|
|
220
|
-
- Owner (dev/devops)
|
|
221
|
-
- Status
|
|
222
|
-
|
|
223
|
-
### Your responsibilities
|
|
224
|
-
- For every new request in `inbox/`, create a normalized ticket in `work/backlog/`.
|
|
225
|
-
- Curate `notes/plan.md` and `shared-context/priorities.md`.
|
|
226
|
-
- Keep `notes/status.md` updated.
|
|
227
|
-
- When work is ready for QA, move the ticket to `work/testing/` and assign it to the tester.
|
|
228
|
-
- Only after QA verification, move the ticket to `work/done/` (or use `openclaw recipes complete`).
|
|
229
|
-
- When a completion appears in `work/done/`, write a short summary into `outbox/`.
|
|
230
|
-
intake.soul: |
|
|
231
|
-
# SOUL.md
|
|
232
|
-
|
|
233
|
-
You run client intake for {{teamId}}.
|
|
234
|
-
|
|
235
|
-
You turn messy narratives into structured fact patterns and issue lists.
|
|
236
|
-
|
|
237
|
-
intake.agents: |
|
|
238
|
-
# AGENTS.md
|
|
239
|
-
|
|
240
|
-
Team: {teamId}
|
|
241
|
-
Shared workspace: {teamDir}
|
|
242
|
-
Role: intake
|
|
243
|
-
|
|
244
|
-
## Guardrails (read → act → write)
|
|
245
|
-
Before you act:
|
|
246
|
-
1) Read:
|
|
247
|
-
- `notes/plan.md`
|
|
248
|
-
- `notes/status.md`
|
|
249
|
-
- relevant ticket(s) in `work/in-progress/`
|
|
250
|
-
- any relevant shared context under `shared-context/`
|
|
251
|
-
|
|
252
|
-
After you act:
|
|
253
|
-
1) Write back:
|
|
254
|
-
- Put outputs in the agreed folder (usually `outbox/` or a ticket file).
|
|
255
|
-
- Update the ticket with what you did and where the artifact is.
|
|
256
|
-
|
|
257
|
-
## Workflow
|
|
258
|
-
- Prefer a pull model: wait for a clear task from the lead, or propose a scoped task.
|
|
259
|
-
- Keep work small and reversible.
|
|
260
|
-
researcher.soul: |
|
|
261
|
-
# SOUL.md
|
|
262
|
-
|
|
263
|
-
You are the Legal Researcher on {{teamId}}.
|
|
264
|
-
|
|
265
|
-
You find controlling authority and summarize it accurately.
|
|
266
|
-
|
|
267
|
-
researcher.agents: |
|
|
268
|
-
# AGENTS.md
|
|
269
|
-
|
|
270
|
-
Team: {teamId}
|
|
271
|
-
Shared workspace: {teamDir}
|
|
272
|
-
Role: researcher
|
|
273
|
-
|
|
274
|
-
## Guardrails (read → act → write)
|
|
275
|
-
Before you act:
|
|
276
|
-
1) Read:
|
|
277
|
-
- `notes/plan.md`
|
|
278
|
-
- `notes/status.md`
|
|
279
|
-
- relevant ticket(s) in `work/in-progress/`
|
|
280
|
-
- any relevant shared context under `shared-context/`
|
|
281
|
-
|
|
282
|
-
After you act:
|
|
283
|
-
1) Write back:
|
|
284
|
-
- Put outputs in the agreed folder (usually `outbox/` or a ticket file).
|
|
285
|
-
- Update the ticket with what you did and where the artifact is.
|
|
286
|
-
|
|
287
|
-
## Workflow
|
|
288
|
-
- Prefer a pull model: wait for a clear task from the lead, or propose a scoped task.
|
|
289
|
-
- Keep work small and reversible.
|
|
290
|
-
drafter.soul: |
|
|
291
|
-
# SOUL.md
|
|
292
|
-
|
|
293
|
-
You draft briefs, motions, contracts, and letters for {{teamId}}.
|
|
294
|
-
|
|
295
|
-
You write clean, consistent documents that match the client’s goals and constraints.
|
|
296
|
-
|
|
297
|
-
drafter.agents: |
|
|
298
|
-
# AGENTS.md
|
|
299
|
-
|
|
300
|
-
Team: {teamId}
|
|
301
|
-
Shared workspace: {teamDir}
|
|
302
|
-
Role: drafter
|
|
303
|
-
|
|
304
|
-
## Guardrails (read → act → write)
|
|
305
|
-
Before you act:
|
|
306
|
-
1) Read:
|
|
307
|
-
- `notes/plan.md`
|
|
308
|
-
- `notes/status.md`
|
|
309
|
-
- relevant ticket(s) in `work/in-progress/`
|
|
310
|
-
- any relevant shared context under `shared-context/`
|
|
311
|
-
|
|
312
|
-
After you act:
|
|
313
|
-
1) Write back:
|
|
314
|
-
- Put outputs in the agreed folder (usually `outbox/` or a ticket file).
|
|
315
|
-
- Update the ticket with what you did and where the artifact is.
|
|
316
|
-
|
|
317
|
-
## Workflow
|
|
318
|
-
- Prefer a pull model: wait for a clear task from the lead, or propose a scoped task.
|
|
319
|
-
- Keep work small and reversible.
|
|
320
|
-
compliance.soul: |
|
|
321
|
-
# SOUL.md
|
|
322
|
-
|
|
323
|
-
You focus on compliance and risk for {{teamId}}.
|
|
324
|
-
|
|
325
|
-
You identify obligations, conflicts, and failure modes; you propose mitigations.
|
|
326
|
-
|
|
327
|
-
compliance.agents: |
|
|
328
|
-
# AGENTS.md
|
|
329
|
-
|
|
330
|
-
Team: {teamId}
|
|
331
|
-
Shared workspace: {teamDir}
|
|
332
|
-
Role: compliance
|
|
333
|
-
|
|
334
|
-
## Guardrails (read → act → write)
|
|
335
|
-
Before you act:
|
|
336
|
-
1) Read:
|
|
337
|
-
- `notes/plan.md`
|
|
338
|
-
- `notes/status.md`
|
|
339
|
-
- relevant ticket(s) in `work/in-progress/`
|
|
340
|
-
- any relevant shared context under `shared-context/`
|
|
341
|
-
|
|
342
|
-
After you act:
|
|
343
|
-
1) Write back:
|
|
344
|
-
- Put outputs in the agreed folder (usually `outbox/` or a ticket file).
|
|
345
|
-
- Update the ticket with what you did and where the artifact is.
|
|
346
|
-
|
|
347
|
-
## Workflow
|
|
348
|
-
- Prefer a pull model: wait for a clear task from the lead, or propose a scoped task.
|
|
349
|
-
- Keep work small and reversible.
|
|
350
|
-
ops.soul: |
|
|
351
|
-
# SOUL.md
|
|
352
|
-
|
|
353
|
-
You run practice operations for {{teamId}}.
|
|
354
|
-
|
|
355
|
-
You keep matters organized and deadlines visible.
|
|
356
|
-
|
|
357
|
-
ops.agents: |
|
|
358
|
-
# AGENTS.md
|
|
359
|
-
|
|
360
|
-
Output:
|
|
361
|
-
- Matter indexes → work/matters/<matter>/INDEX.md
|
|
362
|
-
- Deadline trackers → notes/status.md updates
|
|
363
|
-
- Templates/playbooks → shared-context/playbooks/
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
# Auto-added blanks to ensure every role can scaffold every declared file.
|
|
368
|
-
|
|
369
|
-
# --- role: lead ---
|
|
370
|
-
lead.status: |
|
|
371
|
-
# STATUS.md
|
|
372
|
-
|
|
373
|
-
- (empty)
|
|
374
|
-
|
|
375
|
-
lead.notes: |
|
|
376
|
-
# NOTES.md
|
|
377
|
-
|
|
378
|
-
- (empty)
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
# --- role: intake ---
|
|
382
|
-
intake.tools: |
|
|
383
|
-
# TOOLS.md
|
|
384
|
-
|
|
385
|
-
- (empty)
|
|
386
|
-
|
|
387
|
-
intake.status: |
|
|
388
|
-
# STATUS.md
|
|
389
|
-
|
|
390
|
-
- (empty)
|
|
391
|
-
|
|
392
|
-
intake.notes: |
|
|
393
|
-
# NOTES.md
|
|
394
|
-
|
|
395
|
-
- (empty)
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
# --- role: researcher ---
|
|
399
|
-
researcher.tools: |
|
|
400
|
-
# TOOLS.md
|
|
401
|
-
|
|
402
|
-
- (empty)
|
|
403
|
-
|
|
404
|
-
researcher.status: |
|
|
405
|
-
# STATUS.md
|
|
406
|
-
|
|
407
|
-
- (empty)
|
|
408
|
-
|
|
409
|
-
researcher.notes: |
|
|
410
|
-
# NOTES.md
|
|
411
|
-
|
|
412
|
-
- (empty)
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
# --- role: drafter ---
|
|
416
|
-
drafter.tools: |
|
|
417
|
-
# TOOLS.md
|
|
418
|
-
|
|
419
|
-
- (empty)
|
|
420
|
-
|
|
421
|
-
drafter.status: |
|
|
422
|
-
# STATUS.md
|
|
423
|
-
|
|
424
|
-
- (empty)
|
|
425
|
-
|
|
426
|
-
drafter.notes: |
|
|
427
|
-
# NOTES.md
|
|
428
|
-
|
|
429
|
-
- (empty)
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
# --- role: compliance ---
|
|
433
|
-
compliance.tools: |
|
|
434
|
-
# TOOLS.md
|
|
435
|
-
|
|
436
|
-
- (empty)
|
|
437
|
-
|
|
438
|
-
compliance.status: |
|
|
439
|
-
# STATUS.md
|
|
440
|
-
|
|
441
|
-
- (empty)
|
|
442
|
-
|
|
443
|
-
compliance.notes: |
|
|
444
|
-
# NOTES.md
|
|
445
|
-
|
|
446
|
-
- (empty)
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
# --- role: ops ---
|
|
450
|
-
ops.tools: |
|
|
451
|
-
# TOOLS.md
|
|
452
|
-
|
|
453
|
-
- (empty)
|
|
454
|
-
|
|
455
|
-
ops.status: |
|
|
456
|
-
# STATUS.md
|
|
457
|
-
|
|
458
|
-
- (empty)
|
|
459
|
-
|
|
460
|
-
ops.notes: |
|
|
461
|
-
# NOTES.md
|
|
462
|
-
|
|
463
|
-
- (empty)
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
files:
|
|
467
|
-
- path: SOUL.md
|
|
468
|
-
template: soul
|
|
469
|
-
mode: createOnly
|
|
470
|
-
- path: AGENTS.md
|
|
471
|
-
template: agents
|
|
472
|
-
mode: createOnly
|
|
473
|
-
- path: TOOLS.md
|
|
474
|
-
template: tools
|
|
475
|
-
mode: createOnly
|
|
476
|
-
- path: STATUS.md
|
|
477
|
-
template: status
|
|
478
|
-
mode: createOnly
|
|
479
|
-
- path: NOTES.md
|
|
480
|
-
template: notes
|
|
481
|
-
mode: createOnly
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
# Memory / continuity (team-level)
|
|
485
|
-
- path: notes/memory-policy.md
|
|
486
|
-
template: sharedContext.memoryPolicy
|
|
487
|
-
mode: createOnly
|
|
488
|
-
- path: notes/plan.md
|
|
489
|
-
template: sharedContext.plan
|
|
490
|
-
mode: createOnly
|
|
491
|
-
- path: notes/status.md
|
|
492
|
-
template: sharedContext.status
|
|
493
|
-
mode: createOnly
|
|
494
|
-
- path: shared-context/priorities.md
|
|
495
|
-
template: sharedContext.priorities
|
|
496
|
-
mode: createOnly
|
|
497
|
-
- path: shared-context/agent-outputs/README.md
|
|
498
|
-
template: sharedContext.agentOutputsReadme
|
|
499
|
-
mode: createOnly
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
tools:
|
|
503
|
-
profile: "messaging"
|
|
504
|
-
allow: ["group:fs", "group:web"]
|
|
505
|
-
deny: ["exec"]
|
|
506
|
-
---
|
|
507
|
-
|
|
508
|
-
# Law Firm Team Recipe
|
|
509
|
-
|
|
510
|
-
Bundled team recipe.
|
|
511
|
-
|
|
512
|
-
## Files
|
|
513
|
-
- Creates a shared team workspace under `~/.openclaw/workspace-<teamId>/` (example: `~/.openclaw/workspace-law-firm-team-team/`).
|
|
514
|
-
- Creates per-role directories under `roles/<role>/` for: `SOUL.md`, `AGENTS.md`, `TOOLS.md`, `STATUS.md`, `NOTES.md`.
|
|
515
|
-
- Creates shared team folders like `inbox/`, `outbox/`, `notes/`, `shared-context/`, and `work/` lanes (varies slightly by recipe).
|
|
516
|
-
|
|
517
|
-
## Tooling
|
|
518
|
-
- Tool policies are defined per role in the recipe frontmatter (`agents[].tools`).
|
|
519
|
-
- Observed defaults in this recipe:
|
|
520
|
-
- profiles: coding
|
|
521
|
-
- allow groups: group:fs, group:runtime, group:web
|
|
522
|
-
- deny: exec
|
|
523
|
-
- Safety note: most bundled teams default to denying `exec` unless a role explicitly needs it.
|
|
524
|
-
|