@clawcipes/recipes 0.2.7 → 0.2.8
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 +30 -26
- package/docs/AGENTS_AND_SKILLS.md +14 -19
- package/docs/BUNDLED_RECIPES.md +1 -1
- package/docs/CLAWCIPES_KITCHEN.md +5 -5
- package/docs/INSTALLATION.md +5 -5
- package/docs/RECIPE_FORMAT.md +1 -1
- package/docs/TEAM_WORKFLOW.md +5 -2
- package/docs/TUTORIAL_CREATE_RECIPE.md +15 -6
- package/index.ts +493 -389
- package/package.json +3 -3
- package/recipes/default/development-team.md +1 -1
- package/src/lib/remove-team.ts +200 -0
- package/src/lib/ticket-workflow.ts +59 -0
package/README.md
CHANGED
|
@@ -1,28 +1,35 @@
|
|
|
1
|
-
# Clawcipes (OpenClaw Recipes Plugin)
|
|
1
|
+
# Clawcipes (OpenClaw Recipes Plugin) — DEPRECATED
|
|
2
|
+
|
|
3
|
+
> This package is deprecated. Use **@jiggai/clawrecipes** instead.
|
|
2
4
|
|
|
3
5
|
<p align="center">
|
|
4
|
-
<img src="./
|
|
6
|
+
<img src="./clawrecipes_cook.jpg" alt="ClawRecipes logo" width="240" />
|
|
5
7
|
</p>
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
ClawRecipes is an OpenClaw plugin that provides **CLI-first recipes** for scaffolding specialist agents and teams from Markdown.
|
|
8
10
|
|
|
9
|
-
If you like durable workflows:
|
|
11
|
+
If you like durable workflows: ClawRecipes is built around a **file-first team workspace** (inbox/backlog/in-progress/testing/done) that plays nicely with git.
|
|
10
12
|
|
|
11
13
|
## Quickstart
|
|
12
14
|
### 1) Install
|
|
13
15
|
#### Option A (preferred): install from npm
|
|
14
|
-
Once published:
|
|
15
16
|
|
|
16
17
|
```bash
|
|
17
|
-
openclaw plugins install @
|
|
18
|
+
openclaw plugins install @jiggai/clawrecipes
|
|
18
19
|
openclaw gateway restart
|
|
19
20
|
openclaw plugins list
|
|
20
21
|
```
|
|
21
22
|
|
|
23
|
+
#### Deprecated (do not use): install Clawcipes package
|
|
24
|
+
```bash
|
|
25
|
+
openclaw plugins install @clawcipes/recipes
|
|
26
|
+
openclaw gateway restart
|
|
27
|
+
```
|
|
28
|
+
|
|
22
29
|
#### Option B: install from GitHub
|
|
23
30
|
```bash
|
|
24
|
-
git clone https://github.com/
|
|
25
|
-
openclaw plugins install --link ~/
|
|
31
|
+
git clone https://github.com/JIGGAI/ClawRecipes.git ~/clawrecipes
|
|
32
|
+
openclaw plugins install --link ~/clawrecipes
|
|
26
33
|
openclaw gateway restart
|
|
27
34
|
openclaw plugins list
|
|
28
35
|
```
|
|
@@ -35,7 +42,7 @@ openclaw recipes list
|
|
|
35
42
|
### 3) Scaffold a team
|
|
36
43
|
```bash
|
|
37
44
|
openclaw recipes scaffold-team development-team \
|
|
38
|
-
--team-id development-team \
|
|
45
|
+
--team-id development-team-team \
|
|
39
46
|
--overwrite \
|
|
40
47
|
--apply-config
|
|
41
48
|
```
|
|
@@ -43,7 +50,7 @@ openclaw recipes scaffold-team development-team \
|
|
|
43
50
|
### 4) Dispatch a request into work artifacts
|
|
44
51
|
```bash
|
|
45
52
|
openclaw recipes dispatch \
|
|
46
|
-
--team-id development-team \
|
|
53
|
+
--team-id development-team-team \
|
|
47
54
|
--request "Add a new recipe for a customer-support team" \
|
|
48
55
|
--owner lead
|
|
49
56
|
```
|
|
@@ -68,6 +75,7 @@ The plugin supports these config keys (with defaults):
|
|
|
68
75
|
- `workspaceTeamsDir` (default: `teams`)
|
|
69
76
|
- `autoInstallMissingSkills` (default: `false`)
|
|
70
77
|
- `confirmAutoInstall` (default: `true`)
|
|
78
|
+
- `cronInstallation` (default: `prompt`; values: `off|prompt|on`)
|
|
71
79
|
|
|
72
80
|
Config schema is defined in `openclaw.plugin.json`.
|
|
73
81
|
|
|
@@ -97,9 +105,9 @@ Reference:
|
|
|
97
105
|
- Recipe format: `docs/RECIPE_FORMAT.md`
|
|
98
106
|
- Bundled recipes: `docs/BUNDLED_RECIPES.md`
|
|
99
107
|
- Team workflow: `docs/TEAM_WORKFLOW.md`
|
|
100
|
-
-
|
|
108
|
+
- ClawRecipes Kitchen (UI): `docs/CLAWCIPES_KITCHEN.md`
|
|
101
109
|
|
|
102
|
-
(Also see: GitHub repo https://github.com/
|
|
110
|
+
(Also see: GitHub repo https://github.com/JIGGAI/ClawRecipes)
|
|
103
111
|
## Notes / principles
|
|
104
112
|
- Workspaces:
|
|
105
113
|
- Standalone agents: `~/.openclaw/workspace-<agentId>/`
|
|
@@ -111,25 +119,21 @@ Reference:
|
|
|
111
119
|
- Recipe template rendering is intentionally simple: `{{var}}` replacement only.
|
|
112
120
|
|
|
113
121
|
## Removing (uninstalling) a scaffolded team
|
|
114
|
-
|
|
122
|
+
ClawRecipes includes a safe uninstall command:
|
|
115
123
|
|
|
116
|
-
To remove a scaffolded team created with `scaffold-team --apply-config`, do two things:
|
|
117
|
-
|
|
118
|
-
1) Remove the team workspace (recommended: send to trash):
|
|
119
|
-
```bash
|
|
120
|
-
trash ~/.openclaw/workspace-<teamId>
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
2) Remove the agents from OpenClaw config:
|
|
124
|
-
- Edit `~/.openclaw/openclaw.json`
|
|
125
|
-
- Delete the matching entries under `agents.list[]` whose `id` starts with `<teamId>-`
|
|
126
|
-
- Restart:
|
|
127
124
|
```bash
|
|
125
|
+
openclaw recipes remove-team --team-id <teamId> --plan --json
|
|
126
|
+
openclaw recipes remove-team --team-id <teamId> --yes
|
|
128
127
|
openclaw gateway restart
|
|
129
128
|
```
|
|
130
129
|
|
|
130
|
+
Notes:
|
|
131
|
+
- The command is confirmation-gated by default (use `--yes` to apply).
|
|
132
|
+
- Cron cleanup is conservative: it removes only cron jobs that are explicitly **stamped** with `recipes.teamId=<teamId>`.
|
|
133
|
+
- If you need a manual fallback, you can still delete `~/.openclaw/workspace-<teamId>` and remove `<teamId>-*` agents from `agents.list[]` in `~/.openclaw/openclaw.json`.
|
|
134
|
+
|
|
131
135
|
## Links
|
|
132
|
-
- GitHub: https://github.com/
|
|
136
|
+
- GitHub: https://github.com/JIGGAI/ClawRecipes
|
|
133
137
|
- Docs:
|
|
134
138
|
- Installation: `docs/INSTALLATION.md`
|
|
135
139
|
- Commands: `docs/COMMANDS.md`
|
|
@@ -137,7 +141,7 @@ openclaw gateway restart
|
|
|
137
141
|
- Team workflow: `docs/TEAM_WORKFLOW.md`
|
|
138
142
|
|
|
139
143
|
## What you should be developing (not this plugin)
|
|
140
|
-
|
|
144
|
+
ClawRecipes is meant to be *installed* and then used to build **agents + teams**.
|
|
141
145
|
|
|
142
146
|
Most users should focus on:
|
|
143
147
|
- authoring recipes in their OpenClaw workspace (`<workspace>/recipes/*.md`)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Agents and skills (OpenClaw +
|
|
1
|
+
# Agents and skills (OpenClaw + ClawRecipes)
|
|
2
2
|
|
|
3
|
-
This doc explains the mental model: **what an agent is**, how **skills/tools** work, and how
|
|
3
|
+
This doc explains the mental model: **what an agent is**, how **skills/tools** work, and how ClawRecipes helps you build agents + teams.
|
|
4
4
|
|
|
5
5
|
## What is an agent?
|
|
6
6
|
In OpenClaw, an **agent** is a configured assistant persona with:
|
|
@@ -9,7 +9,7 @@ In OpenClaw, an **agent** is a configured assistant persona with:
|
|
|
9
9
|
- a **tool policy** (what tools it is allowed to use)
|
|
10
10
|
- a **model** configuration (defaults come from OpenClaw)
|
|
11
11
|
|
|
12
|
-
In
|
|
12
|
+
In ClawRecipes, a **standalone** agent recipe scaffolds a dedicated workspace like:
|
|
13
13
|
|
|
14
14
|
```
|
|
15
15
|
~/.openclaw/workspace-<agentId>/
|
|
@@ -38,7 +38,7 @@ In OpenClaw, skills are surfaced as tools the agent can use.
|
|
|
38
38
|
## Tool policies (allow/deny)
|
|
39
39
|
Every agent can have a tool policy in OpenClaw config (written via `--apply-config` when scaffolding).
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
ClawRecipes recipes commonly use:
|
|
42
42
|
- `allow: ["group:fs", "group:web"]` for safe file + web access
|
|
43
43
|
- `allow: ["group:runtime"]` when the agent needs to run local commands
|
|
44
44
|
- `allow: ["group:automation"]` for automation-oriented tools
|
|
@@ -84,7 +84,7 @@ openclaw gateway restart
|
|
|
84
84
|
> 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.
|
|
85
85
|
|
|
86
86
|
## Installing skills (workspace-local)
|
|
87
|
-
|
|
87
|
+
ClawRecipes favors **workspace-local** installs so each OpenClaw workspace is self-contained.
|
|
88
88
|
|
|
89
89
|
### Install a skill slug
|
|
90
90
|
```bash
|
|
@@ -112,7 +112,7 @@ openclaw recipes install <recipe-id>
|
|
|
112
112
|
That installs the recipe’s declared skills.
|
|
113
113
|
|
|
114
114
|
### Removing a skill
|
|
115
|
-
|
|
115
|
+
ClawRecipes currently does **not** implement a remove command.
|
|
116
116
|
|
|
117
117
|
To remove a workspace-local skill:
|
|
118
118
|
- delete the folder: `<workspace>/skills/<skill-slug>`
|
|
@@ -121,23 +121,18 @@ To remove a workspace-local skill:
|
|
|
121
121
|
(We can add `openclaw recipes uninstall <slug>` later if you want it to be first-class.)
|
|
122
122
|
|
|
123
123
|
## Removing (uninstalling) a scaffolded team
|
|
124
|
-
|
|
124
|
+
ClawRecipes includes a safe uninstall command:
|
|
125
125
|
|
|
126
|
-
If you scaffolded a team with `scaffold-team --apply-config`, removal has two parts:
|
|
127
|
-
|
|
128
|
-
1) Remove the team workspace (recommended: send to trash):
|
|
129
|
-
```bash
|
|
130
|
-
trash ~/.openclaw/workspace-<teamId>
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
2) Remove the agents from OpenClaw config:
|
|
134
|
-
- Edit `~/.openclaw/openclaw.json`
|
|
135
|
-
- Delete the matching entries under `agents.list[]` whose `id` starts with `<teamId>-`
|
|
136
|
-
- Restart:
|
|
137
126
|
```bash
|
|
127
|
+
openclaw recipes remove-team --team-id <teamId> --plan --json
|
|
128
|
+
openclaw recipes remove-team --team-id <teamId> --yes
|
|
138
129
|
openclaw gateway restart
|
|
139
130
|
```
|
|
140
131
|
|
|
132
|
+
Notes:
|
|
133
|
+
- Cron cleanup is conservative: it removes only cron jobs explicitly stamped with `recipes.teamId=<teamId>`.
|
|
134
|
+
- You can still do it manually by deleting `~/.openclaw/workspace-<teamId>` and removing `<teamId>-*` entries from `agents.list[]` in `~/.openclaw/openclaw.json`.
|
|
135
|
+
|
|
141
136
|
## Teams: shared workspace + multiple agents
|
|
142
137
|
A **team** recipe scaffolds a **shared workspace root** plus role folders:
|
|
143
138
|
|
|
@@ -197,7 +192,7 @@ openclaw recipes scaffold-team <recipeId> --team-id <teamId> --overwrite
|
|
|
197
192
|
```
|
|
198
193
|
|
|
199
194
|
### 2) The agent’s OpenClaw config (tool permissions, identity, model)
|
|
200
|
-
When you scaffold with `--apply-config`,
|
|
195
|
+
When you scaffold with `--apply-config`, ClawRecipes writes the agent entry into OpenClaw config:
|
|
201
196
|
- `~/.openclaw/openclaw.json` → `agents.list[]`
|
|
202
197
|
|
|
203
198
|
Re-run scaffold/scaffold-team with `--apply-config` any time you want the recipe’s tool policy (allow/deny) to be re-applied.
|
package/docs/BUNDLED_RECIPES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ClawRecipes Kitchen (UI)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
ClawRecipes Kitchen is our UI for managing ClawRecipes workflows.
|
|
4
4
|
|
|
5
5
|
## What it’s for
|
|
6
6
|
- Activity feed (high-level semantic events)
|
|
@@ -11,11 +11,11 @@ Clawcipes Kitchen is our UI for managing Clawcipes workflows.
|
|
|
11
11
|
- Approvals inbox + routing (e.g., Telegram)
|
|
12
12
|
|
|
13
13
|
## Status
|
|
14
|
-
|
|
14
|
+
ClawRecipes Kitchen is under active development.
|
|
15
15
|
|
|
16
16
|
## Relationship to the plugin
|
|
17
|
-
- The **
|
|
18
|
-
-
|
|
17
|
+
- The **ClawRecipes plugin** is CLI-first and works without any UI.
|
|
18
|
+
- ClawRecipes Kitchen is an optional UI companion for:
|
|
19
19
|
- visibility (activity/search)
|
|
20
20
|
- approvals
|
|
21
21
|
- human review of plans and changes
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -14,22 +14,22 @@ This repo is an **OpenClaw plugin** (not a standalone CLI). OpenClaw loads it an
|
|
|
14
14
|
Once published, you can install directly via npm:
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
openclaw plugins install @
|
|
17
|
+
openclaw plugins install @jiggai/clawrecipes
|
|
18
18
|
openclaw gateway restart
|
|
19
19
|
openclaw plugins list
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
### Option B: install from GitHub
|
|
23
23
|
```bash
|
|
24
|
-
git clone https://github.com/
|
|
25
|
-
openclaw plugins install --link ~/
|
|
24
|
+
git clone https://github.com/JIGGAI/ClawRecipes.git ~/clawrecipes
|
|
25
|
+
openclaw plugins install --link ~/clawrecipes
|
|
26
26
|
openclaw gateway restart
|
|
27
27
|
openclaw plugins list
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
### Option B: already cloned
|
|
31
31
|
```bash
|
|
32
|
-
openclaw plugins install --link ~/
|
|
32
|
+
openclaw plugins install --link ~/clawrecipes
|
|
33
33
|
openclaw gateway restart
|
|
34
34
|
openclaw plugins list
|
|
35
35
|
```
|
|
@@ -49,7 +49,7 @@ openclaw recipes list
|
|
|
49
49
|
If you pull a newer version from GitHub, restart the gateway so OpenClaw reloads the plugin:
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
|
-
cd ~/
|
|
52
|
+
cd ~/clawrecipes
|
|
53
53
|
git pull
|
|
54
54
|
openclaw gateway restart
|
|
55
55
|
```
|
package/docs/RECIPE_FORMAT.md
CHANGED
|
@@ -83,7 +83,7 @@ agents:
|
|
|
83
83
|
For team recipes, file templates are namespaced by role:
|
|
84
84
|
- `lead.soul`, `dev.soul`, etc.
|
|
85
85
|
|
|
86
|
-
If a `files[].template` key does not contain a `.`,
|
|
86
|
+
If a `files[].template` key does not contain a `.`, ClawRecipes prefixes it with `<role>.`.
|
|
87
87
|
|
|
88
88
|
## Cron jobs (optional)
|
|
89
89
|
Recipes can optionally declare cron jobs to be reconciled during `scaffold` / `scaffold-team`.
|
package/docs/TEAM_WORKFLOW.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Team workflow (file-first)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
ClawRecipes’ differentiator is the **shared team workspace** + a simple, durable, file-first workflow.
|
|
4
4
|
|
|
5
5
|
## Team workspace structure
|
|
6
6
|
When you scaffold a team:
|
|
@@ -34,7 +34,10 @@ When you scaffold a team:
|
|
|
34
34
|
|
|
35
35
|
4) **Test**
|
|
36
36
|
- Move ticket to `work/testing/`.
|
|
37
|
-
-
|
|
37
|
+
- Assign `Owner: test` (or explicitly tag the tester role) and include clear “Verification steps” in the ticket.
|
|
38
|
+
- Tester verifies and either:
|
|
39
|
+
- moves to `work/done/` (pass), or
|
|
40
|
+
- bounces back to `work/in-progress/` with a bug note (fail)
|
|
38
41
|
|
|
39
42
|
5) **Complete**
|
|
40
43
|
- Move ticket to `work/done/` (or use `complete`).
|
|
@@ -8,7 +8,7 @@ You’ll learn:
|
|
|
8
8
|
- how templates/files are written
|
|
9
9
|
- how to scaffold a team and run the file-first workflow
|
|
10
10
|
|
|
11
|
-
## Step 0 — confirm
|
|
11
|
+
## Step 0 — confirm ClawRecipes is installed
|
|
12
12
|
```bash
|
|
13
13
|
openclaw plugins list
|
|
14
14
|
openclaw recipes list
|
|
@@ -80,7 +80,9 @@ templates:
|
|
|
80
80
|
How you work:
|
|
81
81
|
- Pick the lowest numbered ticket assigned to you.
|
|
82
82
|
- Move it to `work/in-progress/`.
|
|
83
|
-
-
|
|
83
|
+
- Do the work.
|
|
84
|
+
- When ready for QA, move it to `work/testing/` and assign Owner to `test`.
|
|
85
|
+
- After QA passes, move it to `work/done/` and write a short completion report.
|
|
84
86
|
|
|
85
87
|
files:
|
|
86
88
|
- path: SOUL.md
|
|
@@ -110,9 +112,9 @@ openclaw recipes scaffold-team my-first-team --team-id my-first-team-team --appl
|
|
|
110
112
|
```
|
|
111
113
|
|
|
112
114
|
You should now have:
|
|
113
|
-
- `~/.openclaw/workspace
|
|
114
|
-
- `~/.openclaw/workspace
|
|
115
|
-
- `~/.openclaw/workspace
|
|
115
|
+
- `~/.openclaw/workspace-my-first-team-team/` (team shared workspace)
|
|
116
|
+
- `~/.openclaw/workspace-my-first-team-team/roles/lead/`
|
|
117
|
+
- `~/.openclaw/workspace-my-first-team-team/roles/worker/`
|
|
116
118
|
|
|
117
119
|
## Step 3 — dispatch a request
|
|
118
120
|
```bash
|
|
@@ -128,9 +130,16 @@ This will propose (or write, with `--yes`) three artifacts:
|
|
|
128
130
|
- an assignment stub
|
|
129
131
|
|
|
130
132
|
## Step 4 — run the workflow
|
|
133
|
+
Tickets move through lanes:
|
|
134
|
+
- `work/backlog/` → `work/in-progress/` → `work/testing/` → `work/done/`
|
|
135
|
+
|
|
131
136
|
- Move the ticket from `work/backlog/` → `work/in-progress/`
|
|
132
137
|
- Do the work
|
|
133
|
-
-
|
|
138
|
+
- When ready for QA:
|
|
139
|
+
- Move the ticket to `work/testing/`
|
|
140
|
+
- Set `Owner: test` and add **Verification steps** to the ticket
|
|
141
|
+
- After verification:
|
|
142
|
+
- Move the ticket to `work/done/` and add a short completion report
|
|
134
143
|
|
|
135
144
|
## Common mistakes
|
|
136
145
|
- **Forgetting the `-team` suffix** on `--team-id` (required).
|