@jiggai/recipes 0.2.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.
- package/README.md +142 -0
- package/clawcipes_cook.jpg +0 -0
- package/docs/AGENTS_AND_SKILLS.md +232 -0
- package/docs/BUNDLED_RECIPES.md +208 -0
- package/docs/CLAWCIPES_KITCHEN.md +27 -0
- package/docs/COMMANDS.md +266 -0
- package/docs/INSTALLATION.md +80 -0
- package/docs/RECIPE_FORMAT.md +127 -0
- package/docs/TEAM_WORKFLOW.md +62 -0
- package/docs/TUTORIAL_CREATE_RECIPE.md +151 -0
- package/docs/shared-context.md +47 -0
- package/docs/verify-built-in-team-recipes.md +65 -0
- package/index.ts +2244 -0
- package/openclaw.plugin.json +28 -0
- package/package.json +46 -0
- package/recipes/default/customer-support-team.md +246 -0
- package/recipes/default/developer.md +73 -0
- package/recipes/default/development-team.md +389 -0
- package/recipes/default/editor.md +74 -0
- package/recipes/default/product-team.md +298 -0
- package/recipes/default/project-manager.md +69 -0
- package/recipes/default/research-team.md +243 -0
- package/recipes/default/researcher.md +75 -0
- package/recipes/default/social-team.md +205 -0
- package/recipes/default/writing-team.md +228 -0
- package/src/lib/bindings.ts +59 -0
- package/src/lib/cleanup-workspaces.ts +173 -0
- package/src/lib/index.ts +5 -0
- package/src/lib/lanes.ts +63 -0
- package/src/lib/recipe-frontmatter.ts +59 -0
- package/src/lib/remove-team.ts +200 -0
- package/src/lib/scaffold-templates.ts +7 -0
- package/src/lib/shared-context.ts +52 -0
- package/src/lib/ticket-finder.ts +60 -0
- package/src/lib/ticket-workflow.ts +153 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "recipes",
|
|
3
|
+
"name": "Recipes",
|
|
4
|
+
"description": "Markdown recipes that scaffold agents and teams (workspace-local).",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"configSchema": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"workspaceRecipesDir": { "type": "string", "default": "recipes" },
|
|
11
|
+
"workspaceAgentsDir": { "type": "string", "default": "agents" },
|
|
12
|
+
"workspaceSkillsDir": { "type": "string", "default": "skills" },
|
|
13
|
+
"workspaceTeamsDir": { "type": "string", "default": "teams" },
|
|
14
|
+
"autoInstallMissingSkills": { "type": "boolean", "default": false },
|
|
15
|
+
"confirmAutoInstall": { "type": "boolean", "default": true },
|
|
16
|
+
"cronInstallation": { "type": "string", "enum": ["off", "prompt", "on"], "default": "prompt" }
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"uiHints": {
|
|
20
|
+
"workspaceRecipesDir": { "label": "Workspace recipes dir", "placeholder": "recipes" },
|
|
21
|
+
"workspaceAgentsDir": { "label": "Workspace agents dir", "placeholder": "agents" },
|
|
22
|
+
"workspaceSkillsDir": { "label": "Workspace skills dir", "placeholder": "skills" },
|
|
23
|
+
"workspaceTeamsDir": { "label": "Workspace teams dir", "placeholder": "teams" },
|
|
24
|
+
"autoInstallMissingSkills": { "label": "Auto-install missing skills", "help": "If enabled, recipes can install missing skills into the workspace skills directory (still confirmation-gated if confirmAutoInstall=true)." },
|
|
25
|
+
"confirmAutoInstall": { "label": "Confirm auto-install", "help": "If enabled, even auto-install requires an explicit confirmation flag (e.g. --yes) or prompt." },
|
|
26
|
+
"cronInstallation": { "label": "Cron job installation", "help": "Controls whether recipe-defined cron jobs are installed during scaffold. off=never, prompt=ask, on=auto-install." }
|
|
27
|
+
}
|
|
28
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jiggai/recipes",
|
|
3
|
+
"version": "0.2.11",
|
|
4
|
+
"description": "ClawRecipes plugin for OpenClaw (markdown recipes -> scaffold agents/teams)",
|
|
5
|
+
"main": "index.ts",
|
|
6
|
+
"type": "commonjs",
|
|
7
|
+
"openclaw": {
|
|
8
|
+
"extensions": [
|
|
9
|
+
"./index.ts"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"index.ts",
|
|
17
|
+
"src/",
|
|
18
|
+
"openclaw.plugin.json",
|
|
19
|
+
"recipes/",
|
|
20
|
+
"docs/",
|
|
21
|
+
"clawcipes_cook.jpg",
|
|
22
|
+
"README.md"
|
|
23
|
+
],
|
|
24
|
+
"scripts": {
|
|
25
|
+
"test": "vitest run",
|
|
26
|
+
"test:smoke": "node scripts/scaffold-smoke.mjs",
|
|
27
|
+
"smoke": "node scripts/scaffold-smoke.mjs",
|
|
28
|
+
"scaffold:smoke": "node scripts/scaffold-smoke.mjs"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"openclaw",
|
|
32
|
+
"clawrecipes",
|
|
33
|
+
"plugin",
|
|
34
|
+
"recipes"
|
|
35
|
+
],
|
|
36
|
+
"author": "",
|
|
37
|
+
"license": "MIT",
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@sinclair/typebox": "^0.34.48",
|
|
40
|
+
"json5": "^2.2.3",
|
|
41
|
+
"yaml": "^2.8.2"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"vitest": "^3.2.4"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: customer-support-team
|
|
3
|
+
name: Customer Support Team
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
description: A support workflow team (triage, resolver, kb-writer) that turns cases into replies and knowledge base articles.
|
|
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: triage inbox/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: make progress on in-progress tickets, keep changes small/safe, and update notes/status.md."
|
|
19
|
+
enabledByDefault: false
|
|
20
|
+
# pr-watcher omitted (enable only when a real PR integration exists)
|
|
21
|
+
requiredSkills: []
|
|
22
|
+
team:
|
|
23
|
+
teamId: customer-support-team
|
|
24
|
+
agents:
|
|
25
|
+
- role: lead
|
|
26
|
+
name: Support Lead
|
|
27
|
+
tools:
|
|
28
|
+
profile: "coding"
|
|
29
|
+
allow: ["group:fs", "group:web", "group:runtime"]
|
|
30
|
+
deny: ["exec"]
|
|
31
|
+
- role: triage
|
|
32
|
+
name: Support Triage
|
|
33
|
+
tools:
|
|
34
|
+
profile: "coding"
|
|
35
|
+
allow: ["group:fs", "group:web"]
|
|
36
|
+
deny: ["exec"]
|
|
37
|
+
- role: resolver
|
|
38
|
+
name: Support Resolver
|
|
39
|
+
tools:
|
|
40
|
+
profile: "coding"
|
|
41
|
+
allow: ["group:fs", "group:web"]
|
|
42
|
+
deny: ["exec"]
|
|
43
|
+
- role: kb-writer
|
|
44
|
+
name: KB Writer
|
|
45
|
+
tools:
|
|
46
|
+
profile: "coding"
|
|
47
|
+
allow: ["group:fs", "group:web"]
|
|
48
|
+
deny: ["exec"]
|
|
49
|
+
|
|
50
|
+
templates:
|
|
51
|
+
lead.soul: |
|
|
52
|
+
# SOUL.md
|
|
53
|
+
|
|
54
|
+
You are the Support Lead / Dispatcher for {{teamId}}.
|
|
55
|
+
|
|
56
|
+
Core job:
|
|
57
|
+
- Intake new customer issues and questions from inbox/.
|
|
58
|
+
- Create clear case files and tickets.
|
|
59
|
+
- Assign triage/resolution/KB writing.
|
|
60
|
+
- Consolidate approved replies into outbox/.
|
|
61
|
+
|
|
62
|
+
lead.agents: |
|
|
63
|
+
# AGENTS.md
|
|
64
|
+
|
|
65
|
+
Team: {{teamId}}
|
|
66
|
+
Team directory: {{teamDir}}
|
|
67
|
+
|
|
68
|
+
## Shared workspace
|
|
69
|
+
- inbox/ — incoming cases / requests
|
|
70
|
+
- work/backlog/ — tickets (filename ordered: 0001-...)
|
|
71
|
+
- work/in-progress/ — active tickets
|
|
72
|
+
- work/testing/ — verification / customer-ready review
|
|
73
|
+
- work/done/ — completed tickets + DONE notes
|
|
74
|
+
- work/cases/ — case records (one per customer issue)
|
|
75
|
+
- work/replies/ — draft replies
|
|
76
|
+
- work/kb/ — KB drafts and macros
|
|
77
|
+
- outbox/ — finalized replies + KB articles
|
|
78
|
+
|
|
79
|
+
## Dispatch loop (mapped to canonical lanes)
|
|
80
|
+
1) Create a case file in work/cases/
|
|
81
|
+
2) Create a ticket in work/backlog/ (triage queue)
|
|
82
|
+
3) Move to work/in-progress/ for resolution + drafting reply
|
|
83
|
+
4) Move to work/testing/ for verification (customer-ready review)
|
|
84
|
+
5) Move to work/done/ and finalize into outbox/
|
|
85
|
+
|
|
86
|
+
## Quality bar
|
|
87
|
+
- Ask for missing info early.
|
|
88
|
+
- Provide step-by-step instructions.
|
|
89
|
+
- Prefer deterministic, reproducible steps.
|
|
90
|
+
|
|
91
|
+
triage.soul: |
|
|
92
|
+
# SOUL.md
|
|
93
|
+
|
|
94
|
+
You are Support Triage on {{teamId}}.
|
|
95
|
+
|
|
96
|
+
You:
|
|
97
|
+
- clarify the issue
|
|
98
|
+
- request missing information
|
|
99
|
+
- classify severity and category
|
|
100
|
+
|
|
101
|
+
triage.agents: |
|
|
102
|
+
# AGENTS.md
|
|
103
|
+
|
|
104
|
+
Team directory: {{teamDir}}
|
|
105
|
+
|
|
106
|
+
Output conventions:
|
|
107
|
+
- Update or create a case file in work/cases/.
|
|
108
|
+
- Capture:
|
|
109
|
+
- summary
|
|
110
|
+
- environment
|
|
111
|
+
- repro steps
|
|
112
|
+
- expected vs actual
|
|
113
|
+
- severity (P0/P1/P2/P3)
|
|
114
|
+
- next action
|
|
115
|
+
|
|
116
|
+
resolver.soul: |
|
|
117
|
+
# SOUL.md
|
|
118
|
+
|
|
119
|
+
You are Support Resolver on {{teamId}}.
|
|
120
|
+
|
|
121
|
+
You propose fixes/workarounds and draft customer-ready replies.
|
|
122
|
+
|
|
123
|
+
resolver.agents: |
|
|
124
|
+
# AGENTS.md
|
|
125
|
+
|
|
126
|
+
Team directory: {{teamDir}}
|
|
127
|
+
|
|
128
|
+
Output conventions:
|
|
129
|
+
- Draft replies in work/replies/.
|
|
130
|
+
- Keep replies:
|
|
131
|
+
- friendly
|
|
132
|
+
- concise
|
|
133
|
+
- step-by-step
|
|
134
|
+
- Include links to docs when relevant.
|
|
135
|
+
|
|
136
|
+
## Verification
|
|
137
|
+
Before the ticket is moved to done/outbox:
|
|
138
|
+
- Move the ticket to work/testing/ for verification.
|
|
139
|
+
- Record verification using notes/QA_CHECKLIST.md.
|
|
140
|
+
- Preferred: create work/testing/<ticket>.testing-verified.md.
|
|
141
|
+
|
|
142
|
+
kb-writer.soul: |
|
|
143
|
+
# SOUL.md
|
|
144
|
+
|
|
145
|
+
You are a Knowledge Base Writer on {{teamId}}.
|
|
146
|
+
|
|
147
|
+
Turn resolved cases into reusable KB entries and macros.
|
|
148
|
+
|
|
149
|
+
kb-writer.agents: |
|
|
150
|
+
# AGENTS.md
|
|
151
|
+
|
|
152
|
+
Team directory: {{teamDir}}
|
|
153
|
+
|
|
154
|
+
Output conventions:
|
|
155
|
+
- Write KB drafts in work/kb/.
|
|
156
|
+
- Structure:
|
|
157
|
+
- problem
|
|
158
|
+
- symptoms
|
|
159
|
+
- resolution steps
|
|
160
|
+
- prevention / follow-ups
|
|
161
|
+
|
|
162
|
+
lead.tools: |
|
|
163
|
+
# TOOLS.md
|
|
164
|
+
|
|
165
|
+
# Agent-local notes for lead (paths, conventions, env quirks).
|
|
166
|
+
|
|
167
|
+
lead.status: |
|
|
168
|
+
# STATUS.md
|
|
169
|
+
|
|
170
|
+
- (empty)
|
|
171
|
+
|
|
172
|
+
lead.notes: |
|
|
173
|
+
# NOTES.md
|
|
174
|
+
|
|
175
|
+
- (empty)
|
|
176
|
+
|
|
177
|
+
triage.tools: |
|
|
178
|
+
# TOOLS.md
|
|
179
|
+
|
|
180
|
+
# Agent-local notes for triage (paths, conventions, env quirks).
|
|
181
|
+
|
|
182
|
+
triage.status: |
|
|
183
|
+
# STATUS.md
|
|
184
|
+
|
|
185
|
+
- (empty)
|
|
186
|
+
|
|
187
|
+
triage.notes: |
|
|
188
|
+
# NOTES.md
|
|
189
|
+
|
|
190
|
+
- (empty)
|
|
191
|
+
|
|
192
|
+
resolver.tools: |
|
|
193
|
+
# TOOLS.md
|
|
194
|
+
|
|
195
|
+
# Agent-local notes for resolver (paths, conventions, env quirks).
|
|
196
|
+
|
|
197
|
+
resolver.status: |
|
|
198
|
+
# STATUS.md
|
|
199
|
+
|
|
200
|
+
- (empty)
|
|
201
|
+
|
|
202
|
+
resolver.notes: |
|
|
203
|
+
# NOTES.md
|
|
204
|
+
|
|
205
|
+
- (empty)
|
|
206
|
+
|
|
207
|
+
kb-writer.tools: |
|
|
208
|
+
# TOOLS.md
|
|
209
|
+
|
|
210
|
+
# Agent-local notes for kb-writer (paths, conventions, env quirks).
|
|
211
|
+
|
|
212
|
+
kb-writer.status: |
|
|
213
|
+
# STATUS.md
|
|
214
|
+
|
|
215
|
+
- (empty)
|
|
216
|
+
|
|
217
|
+
kb-writer.notes: |
|
|
218
|
+
# NOTES.md
|
|
219
|
+
|
|
220
|
+
- (empty)
|
|
221
|
+
|
|
222
|
+
files:
|
|
223
|
+
- path: SOUL.md
|
|
224
|
+
template: soul
|
|
225
|
+
mode: createOnly
|
|
226
|
+
- path: AGENTS.md
|
|
227
|
+
template: agents
|
|
228
|
+
mode: createOnly
|
|
229
|
+
- path: TOOLS.md
|
|
230
|
+
template: tools
|
|
231
|
+
mode: createOnly
|
|
232
|
+
- path: STATUS.md
|
|
233
|
+
template: status
|
|
234
|
+
mode: createOnly
|
|
235
|
+
- path: NOTES.md
|
|
236
|
+
template: notes
|
|
237
|
+
mode: createOnly
|
|
238
|
+
|
|
239
|
+
tools:
|
|
240
|
+
profile: "coding"
|
|
241
|
+
allow: ["group:fs", "group:web"]
|
|
242
|
+
deny: ["exec"]
|
|
243
|
+
---
|
|
244
|
+
# Customer Support Team Recipe
|
|
245
|
+
|
|
246
|
+
A file-first support workflow: triage → resolution → KB.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: developer
|
|
3
|
+
name: Developer
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
description: An individual software developer agent for implementing tickets with runtime tooling.
|
|
6
|
+
kind: agent
|
|
7
|
+
requiredSkills: []
|
|
8
|
+
templates:
|
|
9
|
+
soul: |
|
|
10
|
+
# SOUL.md
|
|
11
|
+
|
|
12
|
+
You are a software developer.
|
|
13
|
+
|
|
14
|
+
Principles:
|
|
15
|
+
- small, testable changes
|
|
16
|
+
- write down how to run/verify
|
|
17
|
+
- prefer boring, maintainable solutions
|
|
18
|
+
|
|
19
|
+
agents: |
|
|
20
|
+
# AGENTS.md
|
|
21
|
+
|
|
22
|
+
## How you work
|
|
23
|
+
- Keep your work in this agent workspace.
|
|
24
|
+
- If working from a team ticket, copy the ticket into this workspace or reference it directly.
|
|
25
|
+
|
|
26
|
+
Suggested files:
|
|
27
|
+
- NOTES.md — scratchpad
|
|
28
|
+
- STATUS.md — what you’re doing next
|
|
29
|
+
|
|
30
|
+
Done criteria:
|
|
31
|
+
- document how to test
|
|
32
|
+
- include any follow-ups
|
|
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
|
+
|
|
49
|
+
files:
|
|
50
|
+
- path: SOUL.md
|
|
51
|
+
template: soul
|
|
52
|
+
mode: createOnly
|
|
53
|
+
- path: AGENTS.md
|
|
54
|
+
template: agents
|
|
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
|
|
65
|
+
|
|
66
|
+
tools:
|
|
67
|
+
profile: "coding"
|
|
68
|
+
allow: ["group:fs", "group:web", "group:runtime"]
|
|
69
|
+
deny: []
|
|
70
|
+
---
|
|
71
|
+
# Developer Recipe
|
|
72
|
+
|
|
73
|
+
A single developer agent with runtime tooling enabled.
|