@robbiesrobotics/alice-agents 1.2.5 โ†’ 1.2.7

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 CHANGED
@@ -1,8 +1,8 @@
1
- # ๐Ÿง  A.L.I.C.E. โ€” 28 AI Agents for OpenClaw
1
+ # ๐Ÿง  A.L.I.C.E. โ€” AI Agent Framework for OpenClaw
2
2
 
3
3
  **Adaptive Learning & Intelligent Coordination Engine**
4
4
 
5
- One conversation. One orchestrator. Twenty-eight specialists. A.L.I.C.E. turns OpenClaw into a full AI team โ€” talk to Olivia, and she routes your request to the right expert.
5
+ One conversation. One orchestrator. Ten starter agents โ€” with 18 more in Pro. A.L.I.C.E. turns OpenClaw into a full AI team โ€” talk to Olivia, and she routes your request to the right expert.
6
6
 
7
7
  ## Quick Start
8
8
 
@@ -14,6 +14,8 @@ That's it. The installer detects your OpenClaw installation, asks a few question
14
14
 
15
15
  ## What You Get
16
16
 
17
+ **Starter** includes 10 agents. **Pro** unlocks 18 more โ€” [sign up at getalice.av3.ai](https://getalice.av3.ai/signup?plan=pro)
18
+
17
19
  An orchestrator (Olivia) backed by specialist agents across every domain:
18
20
 
19
21
  | Agent | Domain | Emoji | Tier |
package/lib/installer.mjs CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  promptCustomModel,
13
13
  promptTier,
14
14
  confirm,
15
+ choose,
15
16
  input,
16
17
  closePrompt,
17
18
  detectUserName,
@@ -99,74 +100,63 @@ async function checkForOpenClawUpdate(auto) {
99
100
  }
100
101
  }
101
102
 
102
- async function installOpenClaw(auto) {
103
- console.log(' โš ๏ธ OpenClaw is not installed.\n');
103
+ async function installRuntime(auto) {
104
+ console.log(' โš ๏ธ No agent runtime detected.\n');
105
+ console.log(' A.L.I.C.E. requires a compatible runtime. We recommend NemoClaw โ€”');
106
+ console.log(" NVIDIA's secure, open-source distribution that includes OpenClaw");
107
+ console.log(' plus enterprise-grade security (OpenShell sandbox, local AI models).\n');
104
108
 
105
- if (!auto) {
106
- const shouldInstall = await confirm(' Would you like to install OpenClaw now?');
107
- if (!shouldInstall) {
108
- console.log('\n Install OpenClaw manually:');
109
- console.log(' npm install -g openclaw');
110
- console.log(' openclaw configure');
111
- console.log(`\n Then re-run: npx @robbiesrobotics/alice-agents\n`);
112
- process.exit(0);
109
+ let choice;
110
+ if (auto) {
111
+ choice = 'nemoclaw';
112
+ } else {
113
+ choice = await choose(' Which would you like to install?', [
114
+ { label: 'NemoClaw (Recommended)', value: 'nemoclaw' },
115
+ { label: 'OpenClaw only', value: 'openclaw' },
116
+ ]);
117
+ }
118
+
119
+ if (choice === 'nemoclaw') {
120
+ console.log(' ๐Ÿ“ฆ Installing NemoClaw...\n');
121
+ try {
122
+ execSync('curl -fsSL https://nvidia.com/nemoclaw.sh | bash', { stdio: 'inherit' });
123
+ console.log('\n โœ” NemoClaw installed โ€” agents will run in OpenShell sandbox\n');
124
+ } catch (err) {
125
+ console.error('\n โŒ Failed to install NemoClaw. Try manually:');
126
+ console.error(' curl -fsSL https://nvidia.com/nemoclaw.sh | bash\n');
127
+ process.exit(1);
128
+ }
129
+ } else {
130
+ console.log(' ๐Ÿ“ฆ Installing OpenClaw...\n');
131
+ try {
132
+ execSync('npm install -g openclaw', { stdio: 'inherit' });
133
+ console.log('\n โœ” OpenClaw installed\n');
134
+ } catch (err) {
135
+ console.error('\n โŒ Failed to install OpenClaw. Try manually:');
136
+ console.error(' npm install -g openclaw\n');
137
+ process.exit(1);
113
138
  }
114
139
  }
115
140
 
116
- console.log(' ๐Ÿ“ฆ Installing OpenClaw...\n');
141
+ // Run openclaw configure
117
142
  try {
118
- execSync('npm install -g openclaw', { stdio: 'inherit' });
119
- console.log('\n โœ“ OpenClaw installed\n');
120
- } catch (err) {
121
- console.error('\n โŒ Failed to install OpenClaw. Try manually:');
122
- console.error(' npm install -g openclaw\n');
143
+ execSync('openclaw configure', { stdio: 'inherit' });
144
+ console.log('\n โœ“ OpenClaw configured\n');
145
+ } catch {
146
+ console.error('\n โš ๏ธ Configuration incomplete. Run manually:');
147
+ console.error(' openclaw configure');
148
+ console.error(` Then: npx @robbiesrobotics/alice-agents\n`);
123
149
  process.exit(1);
124
150
  }
125
-
126
- // Check if openclaw needs configuration
127
- if (!configExists()) {
128
- console.log(' OpenClaw needs initial configuration before A.L.I.C.E. can be set up.');
129
- console.log(' This will set up your API keys, channels, and preferences.\n');
130
-
131
- if (!auto) {
132
- const shouldConfigure = await confirm(' Run openclaw configure now?');
133
- if (shouldConfigure) {
134
- try {
135
- execSync('openclaw configure', { stdio: 'inherit' });
136
- console.log('\n โœ“ OpenClaw configured\n');
137
- } catch {
138
- console.error('\n โš ๏ธ Configuration incomplete. Run manually:');
139
- console.error(' openclaw configure');
140
- console.error(` npx @robbiesrobotics/alice-agents\n`);
141
- process.exit(1);
142
- }
143
- } else {
144
- console.log('\n Run these commands when ready:');
145
- console.log(' openclaw configure');
146
- console.log(` npx @robbiesrobotics/alice-agents\n`);
147
- process.exit(0);
148
- }
149
- } else {
150
- console.error(' โŒ OpenClaw is installed but not configured.');
151
- console.error(' Run: openclaw configure');
152
- console.error(` Then: npx @robbiesrobotics/alice-agents\n`);
153
- process.exit(1);
154
- }
155
- }
156
151
  }
157
152
 
158
153
  const __dirname = dirname(fileURLToPath(import.meta.url));
159
154
 
160
155
  function loadAgentRegistry() {
161
- const raw = readFileSync(join(__dirname, '..', 'templates', 'agents.json'), 'utf8');
156
+ const raw = readFileSync(join(__dirname, '..', 'templates', 'agents-starter.json'), 'utf8');
162
157
  return JSON.parse(raw);
163
158
  }
164
159
 
165
- function filterByTier(agents, tier) {
166
- if (tier === 'pro') return agents;
167
- return agents.filter((a) => a.tier === 'starter');
168
- }
169
-
170
160
  function printBanner() {
171
161
  console.log();
172
162
  console.log(' โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—');
@@ -174,7 +164,7 @@ function printBanner() {
174
164
  console.log(' โ•‘ ๐Ÿง  A.L.I.C.E. Agent Framework Installer โ•‘');
175
165
  console.log(' โ•‘ โ•‘');
176
166
  console.log(' โ•‘ Adaptive Learning & Intelligent Coordination โ•‘');
177
- console.log(' โ•‘ Engine โ€” 28 specialists, one conversation. โ•‘');
167
+ console.log(' โ•‘ Engine โ€” 10 starter agents, one conversation. โ•‘');
178
168
  console.log(' โ•‘ โ•‘');
179
169
  console.log(' โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•');
180
170
  console.log();
@@ -219,7 +209,7 @@ export async function runInstall(options = {}) {
219
209
 
220
210
  // 1. Detect OpenClaw โ€” offer to install if missing
221
211
  if (!isOpenClawInstalled() || !configExists()) {
222
- await installOpenClaw(auto);
212
+ await installRuntime(auto);
223
213
  }
224
214
 
225
215
  // Final check
@@ -233,9 +223,10 @@ export async function runInstall(options = {}) {
233
223
 
234
224
  const runtime = await detectRuntime();
235
225
  if (runtime === 'nemoclaw') {
236
- console.log(' โœ” NemoClaw detected โ€” agents will run inside OpenShell sandbox\n');
226
+ console.log(' โœ” NemoClaw detected โ€” agents will run in OpenShell sandbox (secure mode)\n');
237
227
  } else {
238
228
  console.log(' โœ” OpenClaw detected\n');
229
+ console.log(' ๐Ÿ’ก Tip: Upgrade to NemoClaw for enterprise security: https://nvidia.com/nemoclaw\n');
239
230
  }
240
231
 
241
232
  const allAgents = loadAgentRegistry();
@@ -294,7 +285,26 @@ export async function runInstall(options = {}) {
294
285
  tier = await promptTier();
295
286
  }
296
287
 
297
- const agents = filterByTier(allAgents, tier);
288
+ if (tier === 'pro') {
289
+ console.log();
290
+ console.log(' \ud83d\udd12 Pro Tier \u2014 Authentication Required');
291
+ console.log();
292
+ console.log(' Pro unlocks 18 additional specialist agents:');
293
+ console.log(' \ud83d\udc65 Hannah (HR) \ud83d\udcc8 Aiden (Analytics) \u270d\ufe0f Clara (Communication)');
294
+ console.log(' \u2699\ufe0f Avery (Automation) \ud83d\udd27 Owen (Operations) \ud83d\udd0c Isaac (Integration)');
295
+ console.log(' \u2708\ufe0f Tommy (Travel) \ud83d\udcbc Sloane (Sales) \ud83c\udfa8 Nadia (UI/UX)');
296
+ console.log(' \ud83d\udce3 Morgan (Marketing) \ud83d\udd77\ufe0f Alex (API Crawling) \ud83e\uddea Uma (UX Research)');
297
+ console.log(' \ud83d\uddc2\ufe0f Caleb (CRM) \ud83d\udccb Elena (Estimation) \ud83d\udcb0 Audrey (Accounting)');
298
+ console.log(' \u2696\ufe0f Logan (Legal) \ud83d\udccc Eva (Executive Assistant) \ud83d\udcc5 Parker (Project Mgmt)');
299
+ console.log();
300
+ console.log(' To unlock Pro, sign up at: getalice.av3.ai/signup?plan=pro');
301
+ console.log(' Then run: npx @robbiesrobotics/alice-agents');
302
+ console.log();
303
+ closePrompt();
304
+ return;
305
+ }
306
+
307
+ const agents = allAgents;
298
308
 
299
309
  // 6. Confirmation
300
310
  printSummary(mode, tier, agents, preset, userInfo);
@@ -348,6 +358,10 @@ export async function runInstall(options = {}) {
348
358
  console.log(' โœ“ Manifest written');
349
359
 
350
360
  console.log(`\n ๐ŸŽ‰ A.L.I.C.E. installed! ${agentCount} agents ready.`);
361
+ const finalRuntime = await detectRuntime();
362
+ if (finalRuntime === 'nemoclaw') {
363
+ console.log(' ๐Ÿ”’ Running in secure mode โ€” OpenShell sandbox active\n');
364
+ }
351
365
  console.log(' Restart OpenClaw to activate: openclaw gateway restart\n');
352
366
  }
353
367
 
package/lib/prompter.mjs CHANGED
@@ -97,6 +97,6 @@ export async function promptCustomModel() {
97
97
  export async function promptTier() {
98
98
  return choose('Agent tier:', [
99
99
  { label: 'Starter (10 agents) โ€” core team for most workflows', value: 'starter' },
100
- { label: 'Pro (all 28 agents) โ€” full specialist roster', value: 'pro' },
100
+ { label: 'Pro (18 more agents) โ€” sign up at getalice.av3.ai/signup?plan=pro', value: 'pro' },
101
101
  ]);
102
102
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robbiesrobotics/alice-agents",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "A.L.I.C.E. โ€” 28 AI agents for OpenClaw. One conversation, one team.",
5
5
  "bin": {
6
6
  "alice-agents": "bin/alice-install.mjs"
@@ -22,7 +22,9 @@
22
22
  "lib/",
23
23
  "tools/",
24
24
  "snapshots/",
25
- "templates/",
25
+ "templates/agents-starter.json",
26
+ "templates/skills/",
27
+ "templates/workspaces/",
26
28
  "SELF-HEALING-SPEC.md",
27
29
  "README.md"
28
30
  ],
@@ -0,0 +1,287 @@
1
+ [
2
+ {
3
+ "id": "olivia",
4
+ "name": "Olivia",
5
+ "domain": "Orchestration",
6
+ "theme": "orchestrator of a 28-agent team",
7
+ "emoji": "\ud83e\udde0",
8
+ "description": "Routes tasks, coordinates specialists, manages conversations",
9
+ "tier": "starter",
10
+ "coding": false,
11
+ "isOrchestrator": true,
12
+ "sandbox": {
13
+ "mode": "off"
14
+ },
15
+ "tools": {
16
+ "profile": "full",
17
+ "alsoAllow": [
18
+ "web_search",
19
+ "web_fetch",
20
+ "canvas",
21
+ "browser",
22
+ "message",
23
+ "tts",
24
+ "sessions_spawn",
25
+ "sessions_send",
26
+ "sessions_list",
27
+ "sessions_history",
28
+ "session_status",
29
+ "agents_list",
30
+ "cron"
31
+ ]
32
+ },
33
+ "extraConfig": {
34
+ "default": true,
35
+ "groupChat": {
36
+ "mentionPatterns": [
37
+ "@olivia",
38
+ "@alice",
39
+ "olivia",
40
+ "alice"
41
+ ]
42
+ },
43
+ "subagents": {
44
+ "allowAgents": [
45
+ "*"
46
+ ]
47
+ }
48
+ }
49
+ },
50
+ {
51
+ "id": "dylan",
52
+ "name": "Dylan",
53
+ "domain": "Development",
54
+ "theme": "development specialist",
55
+ "emoji": "\ud83d\udcbb",
56
+ "description": "Code, architecture, technical implementation, debugging",
57
+ "tier": "starter",
58
+ "coding": true,
59
+ "sandbox": {
60
+ "mode": "off"
61
+ },
62
+ "tools": {
63
+ "profile": "coding",
64
+ "alsoAllow": [
65
+ "web_search",
66
+ "web_fetch"
67
+ ]
68
+ }
69
+ },
70
+ {
71
+ "id": "selena",
72
+ "name": "Selena",
73
+ "domain": "Security",
74
+ "theme": "security specialist",
75
+ "emoji": "\ud83d\udee1\ufe0f",
76
+ "description": "Security review, policy/risk analysis, secure implementation guidance",
77
+ "tier": "starter",
78
+ "coding": false,
79
+ "sandbox": {
80
+ "mode": "off"
81
+ },
82
+ "tools": {
83
+ "allow": [
84
+ "read",
85
+ "write",
86
+ "exec",
87
+ "process",
88
+ "web_search",
89
+ "web_fetch",
90
+ "sessions_list",
91
+ "sessions_history",
92
+ "session_status"
93
+ ],
94
+ "deny": [
95
+ "edit",
96
+ "apply_patch",
97
+ "canvas",
98
+ "browser",
99
+ "cron"
100
+ ]
101
+ }
102
+ },
103
+ {
104
+ "id": "devon",
105
+ "name": "Devon",
106
+ "domain": "DevOps",
107
+ "theme": "DevOps specialist",
108
+ "emoji": "\ud83d\ude80",
109
+ "description": "CI/CD, infrastructure, deployment, containerization",
110
+ "tier": "starter",
111
+ "coding": true,
112
+ "sandbox": {
113
+ "mode": "off"
114
+ },
115
+ "tools": {
116
+ "profile": "coding",
117
+ "alsoAllow": [
118
+ "web_search",
119
+ "web_fetch"
120
+ ]
121
+ }
122
+ },
123
+ {
124
+ "id": "quinn",
125
+ "name": "Quinn",
126
+ "domain": "QA/Testing",
127
+ "theme": "QA/testing specialist",
128
+ "emoji": "\u2705",
129
+ "description": "Test strategy, test writing, quality assurance, bug triage",
130
+ "tier": "starter",
131
+ "coding": true,
132
+ "sandbox": {
133
+ "mode": "off"
134
+ },
135
+ "tools": {
136
+ "profile": "coding",
137
+ "alsoAllow": [
138
+ "web_search",
139
+ "web_fetch",
140
+ "browser"
141
+ ]
142
+ }
143
+ },
144
+ {
145
+ "id": "felix",
146
+ "name": "Felix",
147
+ "domain": "Frontend",
148
+ "theme": "frontend developer",
149
+ "emoji": "\ud83d\udda5\ufe0f",
150
+ "description": "UI components, frontend frameworks, responsive design, CSS",
151
+ "tier": "starter",
152
+ "coding": true,
153
+ "sandbox": {
154
+ "mode": "off"
155
+ },
156
+ "tools": {
157
+ "profile": "coding",
158
+ "alsoAllow": [
159
+ "web_search",
160
+ "web_fetch"
161
+ ]
162
+ }
163
+ },
164
+ {
165
+ "id": "daphne",
166
+ "name": "Daphne",
167
+ "domain": "Documentation",
168
+ "theme": "documentation specialist",
169
+ "emoji": "\ud83d\udcdd",
170
+ "description": "Technical writing, API docs, guides, README files",
171
+ "tier": "starter",
172
+ "coding": false,
173
+ "sandbox": {
174
+ "mode": "all",
175
+ "scope": "agent"
176
+ },
177
+ "tools": {
178
+ "allow": [
179
+ "read",
180
+ "write",
181
+ "edit",
182
+ "apply_patch",
183
+ "web_search",
184
+ "web_fetch",
185
+ "sessions_list",
186
+ "sessions_history",
187
+ "session_status"
188
+ ],
189
+ "deny": [
190
+ "exec",
191
+ "process",
192
+ "browser",
193
+ "canvas",
194
+ "cron"
195
+ ]
196
+ }
197
+ },
198
+ {
199
+ "id": "rowan",
200
+ "name": "Rowan",
201
+ "domain": "Research",
202
+ "theme": "research specialist",
203
+ "emoji": "\ud83d\udd0d",
204
+ "description": "Deep research, competitive analysis, literature review, fact-finding",
205
+ "tier": "starter",
206
+ "coding": false,
207
+ "sandbox": {
208
+ "mode": "all",
209
+ "scope": "agent"
210
+ },
211
+ "tools": {
212
+ "allow": [
213
+ "read",
214
+ "write",
215
+ "web_search",
216
+ "web_fetch",
217
+ "browser",
218
+ "sessions_list",
219
+ "sessions_history",
220
+ "session_status"
221
+ ],
222
+ "deny": [
223
+ "exec",
224
+ "process",
225
+ "edit",
226
+ "canvas",
227
+ "apply_patch",
228
+ "cron"
229
+ ]
230
+ }
231
+ },
232
+ {
233
+ "id": "darius",
234
+ "name": "Darius",
235
+ "domain": "Data",
236
+ "theme": "data specialist",
237
+ "emoji": "\ud83d\udcca",
238
+ "description": "Data pipelines, databases, SQL, ETL, data modeling",
239
+ "tier": "starter",
240
+ "coding": true,
241
+ "sandbox": {
242
+ "mode": "off"
243
+ },
244
+ "tools": {
245
+ "profile": "coding",
246
+ "alsoAllow": [
247
+ "web_search",
248
+ "web_fetch"
249
+ ]
250
+ }
251
+ },
252
+ {
253
+ "id": "sophie",
254
+ "name": "Sophie",
255
+ "domain": "Support",
256
+ "theme": "support specialist",
257
+ "emoji": "\ud83d\udcac",
258
+ "description": "User support, troubleshooting guidance, FAQ creation",
259
+ "tier": "starter",
260
+ "coding": false,
261
+ "sandbox": {
262
+ "mode": "all",
263
+ "scope": "agent"
264
+ },
265
+ "tools": {
266
+ "allow": [
267
+ "read",
268
+ "web_search",
269
+ "web_fetch",
270
+ "message",
271
+ "sessions_list",
272
+ "sessions_history",
273
+ "session_status"
274
+ ],
275
+ "deny": [
276
+ "write",
277
+ "edit",
278
+ "exec",
279
+ "process",
280
+ "canvas",
281
+ "browser",
282
+ "apply_patch",
283
+ "cron"
284
+ ]
285
+ }
286
+ }
287
+ ]
@@ -1,487 +0,0 @@
1
- [
2
- {
3
- "id": "olivia",
4
- "name": "Olivia",
5
- "domain": "Orchestration",
6
- "theme": "orchestrator of a 28-agent team",
7
- "emoji": "๐Ÿง ",
8
- "description": "Routes tasks, coordinates specialists, manages conversations",
9
- "tier": "starter",
10
- "coding": false,
11
- "isOrchestrator": true,
12
- "sandbox": { "mode": "off" },
13
- "tools": {
14
- "profile": "full",
15
- "alsoAllow": [
16
- "web_search", "web_fetch", "canvas", "browser", "message", "tts",
17
- "sessions_spawn", "sessions_send", "sessions_list", "sessions_history",
18
- "session_status", "agents_list", "cron"
19
- ]
20
- },
21
- "extraConfig": {
22
- "default": true,
23
- "groupChat": {
24
- "mentionPatterns": ["@olivia", "@alice", "olivia", "alice"]
25
- },
26
- "subagents": {
27
- "allowAgents": ["*"]
28
- }
29
- }
30
- },
31
- {
32
- "id": "dylan",
33
- "name": "Dylan",
34
- "domain": "Development",
35
- "theme": "development specialist",
36
- "emoji": "๐Ÿ’ป",
37
- "description": "Code, architecture, technical implementation, debugging",
38
- "tier": "starter",
39
- "coding": true,
40
- "sandbox": { "mode": "off" },
41
- "tools": {
42
- "profile": "coding",
43
- "alsoAllow": ["web_search", "web_fetch"]
44
- }
45
- },
46
- {
47
- "id": "selena",
48
- "name": "Selena",
49
- "domain": "Security",
50
- "theme": "security specialist",
51
- "emoji": "๐Ÿ›ก๏ธ",
52
- "description": "Security review, policy/risk analysis, secure implementation guidance",
53
- "tier": "starter",
54
- "coding": false,
55
- "sandbox": { "mode": "off" },
56
- "tools": {
57
- "allow": [
58
- "read", "write", "exec", "process", "web_search", "web_fetch",
59
- "sessions_list", "sessions_history", "session_status"
60
- ],
61
- "deny": ["edit", "apply_patch", "canvas", "browser", "cron"]
62
- }
63
- },
64
- {
65
- "id": "devon",
66
- "name": "Devon",
67
- "domain": "DevOps",
68
- "theme": "DevOps specialist",
69
- "emoji": "๐Ÿš€",
70
- "description": "CI/CD, infrastructure, deployment, containerization",
71
- "tier": "starter",
72
- "coding": true,
73
- "sandbox": { "mode": "off" },
74
- "tools": {
75
- "profile": "coding",
76
- "alsoAllow": ["web_search", "web_fetch"]
77
- }
78
- },
79
- {
80
- "id": "quinn",
81
- "name": "Quinn",
82
- "domain": "QA/Testing",
83
- "theme": "QA/testing specialist",
84
- "emoji": "โœ…",
85
- "description": "Test strategy, test writing, quality assurance, bug triage",
86
- "tier": "starter",
87
- "coding": true,
88
- "sandbox": { "mode": "off" },
89
- "tools": {
90
- "profile": "coding",
91
- "alsoAllow": ["web_search", "web_fetch", "browser"]
92
- }
93
- },
94
- {
95
- "id": "felix",
96
- "name": "Felix",
97
- "domain": "Frontend",
98
- "theme": "frontend developer",
99
- "emoji": "๐Ÿ–ฅ๏ธ",
100
- "description": "UI components, frontend frameworks, responsive design, CSS",
101
- "tier": "starter",
102
- "coding": true,
103
- "sandbox": { "mode": "off" },
104
- "tools": {
105
- "profile": "coding",
106
- "alsoAllow": ["web_search", "web_fetch"]
107
- }
108
- },
109
- {
110
- "id": "daphne",
111
- "name": "Daphne",
112
- "domain": "Documentation",
113
- "theme": "documentation specialist",
114
- "emoji": "๐Ÿ“",
115
- "description": "Technical writing, API docs, guides, README files",
116
- "tier": "starter",
117
- "coding": false,
118
- "sandbox": { "mode": "all", "scope": "agent" },
119
- "tools": {
120
- "allow": [
121
- "read", "write", "edit", "apply_patch", "web_search", "web_fetch",
122
- "sessions_list", "sessions_history", "session_status"
123
- ],
124
- "deny": ["exec", "process", "browser", "canvas", "cron"]
125
- }
126
- },
127
- {
128
- "id": "rowan",
129
- "name": "Rowan",
130
- "domain": "Research",
131
- "theme": "research specialist",
132
- "emoji": "๐Ÿ”",
133
- "description": "Deep research, competitive analysis, literature review, fact-finding",
134
- "tier": "starter",
135
- "coding": false,
136
- "sandbox": { "mode": "all", "scope": "agent" },
137
- "tools": {
138
- "allow": [
139
- "read", "write", "web_search", "web_fetch", "browser",
140
- "sessions_list", "sessions_history", "session_status"
141
- ],
142
- "deny": ["exec", "process", "edit", "canvas", "apply_patch", "cron"]
143
- }
144
- },
145
- {
146
- "id": "darius",
147
- "name": "Darius",
148
- "domain": "Data",
149
- "theme": "data specialist",
150
- "emoji": "๐Ÿ“Š",
151
- "description": "Data pipelines, databases, SQL, ETL, data modeling",
152
- "tier": "starter",
153
- "coding": true,
154
- "sandbox": { "mode": "off" },
155
- "tools": {
156
- "profile": "coding",
157
- "alsoAllow": ["web_search", "web_fetch"]
158
- }
159
- },
160
- {
161
- "id": "sophie",
162
- "name": "Sophie",
163
- "domain": "Support",
164
- "theme": "support specialist",
165
- "emoji": "๐Ÿ’ฌ",
166
- "description": "User support, troubleshooting guidance, FAQ creation",
167
- "tier": "starter",
168
- "coding": false,
169
- "sandbox": { "mode": "all", "scope": "agent" },
170
- "tools": {
171
- "allow": [
172
- "read", "web_search", "web_fetch", "message",
173
- "sessions_list", "sessions_history", "session_status"
174
- ],
175
- "deny": ["write", "edit", "exec", "process", "canvas", "browser", "apply_patch", "cron"]
176
- }
177
- },
178
- {
179
- "id": "hannah",
180
- "name": "Hannah",
181
- "domain": "HR",
182
- "theme": "HR specialist",
183
- "emoji": "๐Ÿ‘ฅ",
184
- "description": "Team processes, hiring workflows, culture documentation",
185
- "tier": "pro",
186
- "coding": false,
187
- "sandbox": { "mode": "all", "scope": "agent" },
188
- "tools": {
189
- "allow": [
190
- "read", "write", "edit", "web_search", "web_fetch",
191
- "sessions_list", "sessions_history", "session_status"
192
- ],
193
- "deny": ["exec", "process", "browser", "canvas", "apply_patch", "cron"]
194
- }
195
- },
196
- {
197
- "id": "aiden",
198
- "name": "Aiden",
199
- "domain": "Analytics",
200
- "theme": "analytics specialist",
201
- "emoji": "๐Ÿ“ˆ",
202
- "description": "Business analytics, metrics, dashboards, data visualization",
203
- "tier": "pro",
204
- "coding": true,
205
- "sandbox": { "mode": "off" },
206
- "tools": {
207
- "profile": "coding",
208
- "alsoAllow": ["web_search", "web_fetch"]
209
- }
210
- },
211
- {
212
- "id": "clara",
213
- "name": "Clara",
214
- "domain": "Communication",
215
- "theme": "communication specialist",
216
- "emoji": "โœ๏ธ",
217
- "description": "Copy, messaging, email drafts, announcements, brand voice",
218
- "tier": "pro",
219
- "coding": false,
220
- "sandbox": { "mode": "all", "scope": "agent" },
221
- "tools": {
222
- "allow": [
223
- "read", "write", "edit", "web_search", "web_fetch", "message",
224
- "sessions_list", "sessions_history", "session_status"
225
- ],
226
- "deny": ["exec", "process", "browser", "canvas", "apply_patch", "cron"]
227
- }
228
- },
229
- {
230
- "id": "avery",
231
- "name": "Avery",
232
- "domain": "Automation",
233
- "theme": "automation specialist",
234
- "emoji": "โš™๏ธ",
235
- "description": "Workflow automation, cron jobs, scripting, process optimization",
236
- "tier": "pro",
237
- "coding": true,
238
- "sandbox": { "mode": "off" },
239
- "tools": {
240
- "profile": "coding",
241
- "alsoAllow": ["web_search", "web_fetch", "cron"]
242
- }
243
- },
244
- {
245
- "id": "owen",
246
- "name": "Owen",
247
- "domain": "Operations",
248
- "theme": "operations specialist",
249
- "emoji": "๐Ÿ”ง",
250
- "description": "System health, monitoring, incident response, operational readiness",
251
- "tier": "pro",
252
- "coding": false,
253
- "sandbox": { "mode": "off" },
254
- "tools": {
255
- "allow": [
256
- "read", "exec", "process", "web_search", "web_fetch",
257
- "sessions_list", "sessions_history", "session_status"
258
- ],
259
- "deny": ["write", "edit", "apply_patch", "canvas", "browser", "cron"]
260
- }
261
- },
262
- {
263
- "id": "isaac",
264
- "name": "Isaac",
265
- "domain": "Integration",
266
- "theme": "integration specialist",
267
- "emoji": "๐Ÿ”Œ",
268
- "description": "API integration, third-party services, webhooks, connectors",
269
- "tier": "pro",
270
- "coding": true,
271
- "sandbox": { "mode": "off" },
272
- "tools": {
273
- "profile": "coding",
274
- "alsoAllow": ["web_search", "web_fetch"]
275
- }
276
- },
277
- {
278
- "id": "tommy",
279
- "name": "Tommy",
280
- "domain": "Travel",
281
- "theme": "travel specialist",
282
- "emoji": "โœˆ๏ธ",
283
- "description": "Trip planning, itineraries, booking research, travel logistics",
284
- "tier": "pro",
285
- "coding": false,
286
- "sandbox": { "mode": "all", "scope": "agent" },
287
- "tools": {
288
- "allow": [
289
- "read", "write", "edit", "web_search", "web_fetch", "browser", "cron",
290
- "sessions_list", "sessions_history", "session_status"
291
- ],
292
- "deny": ["exec", "process", "canvas", "apply_patch"]
293
- }
294
- },
295
- {
296
- "id": "sloane",
297
- "name": "Sloane",
298
- "domain": "Sales",
299
- "theme": "sales specialist",
300
- "emoji": "๐Ÿ’ผ",
301
- "description": "Sales strategy, outreach, pipeline management, proposals",
302
- "tier": "pro",
303
- "coding": false,
304
- "sandbox": { "mode": "all", "scope": "agent" },
305
- "tools": {
306
- "allow": [
307
- "read", "write", "edit", "web_search", "web_fetch", "browser", "message",
308
- "sessions_list", "sessions_history", "session_status", "cron"
309
- ],
310
- "deny": ["exec", "process", "canvas", "apply_patch"]
311
- }
312
- },
313
- {
314
- "id": "nadia",
315
- "name": "Nadia",
316
- "domain": "UI/UX Design",
317
- "theme": "UI/UX design specialist",
318
- "emoji": "๐ŸŽจ",
319
- "description": "Design systems, wireframes, UI patterns, visual design",
320
- "tier": "pro",
321
- "coding": false,
322
- "sandbox": { "mode": "all", "scope": "agent" },
323
- "tools": {
324
- "allow": [
325
- "read", "write", "edit", "apply_patch", "canvas", "browser",
326
- "web_search", "web_fetch", "sessions_list", "sessions_history", "session_status"
327
- ],
328
- "deny": ["exec", "process", "cron"]
329
- }
330
- },
331
- {
332
- "id": "morgan",
333
- "name": "Morgan",
334
- "domain": "Marketing",
335
- "theme": "marketing specialist",
336
- "emoji": "๐Ÿ“ฃ",
337
- "description": "Marketing strategy, content planning, SEO, campaigns",
338
- "tier": "pro",
339
- "coding": false,
340
- "sandbox": { "mode": "all", "scope": "agent" },
341
- "tools": {
342
- "allow": [
343
- "read", "write", "edit", "web_search", "web_fetch", "browser", "message",
344
- "sessions_list", "sessions_history", "session_status", "cron"
345
- ],
346
- "deny": ["exec", "process", "canvas", "apply_patch"]
347
- }
348
- },
349
- {
350
- "id": "alex",
351
- "name": "Alex",
352
- "domain": "API Crawling",
353
- "theme": "API crawler specialist",
354
- "emoji": "๐Ÿ•ท๏ธ",
355
- "description": "API discovery, web scraping, data extraction, crawl automation",
356
- "tier": "pro",
357
- "coding": true,
358
- "sandbox": { "mode": "off" },
359
- "tools": {
360
- "profile": "coding",
361
- "alsoAllow": ["web_search", "web_fetch", "browser"]
362
- }
363
- },
364
- {
365
- "id": "uma",
366
- "name": "Uma",
367
- "domain": "UX Research",
368
- "theme": "UX researcher",
369
- "emoji": "๐Ÿงช",
370
- "description": "User research, usability testing, personas, journey maps",
371
- "tier": "pro",
372
- "coding": false,
373
- "sandbox": { "mode": "all", "scope": "agent" },
374
- "tools": {
375
- "allow": [
376
- "read", "write", "edit", "browser", "canvas", "web_search", "web_fetch",
377
- "sessions_list", "sessions_history", "session_status"
378
- ],
379
- "deny": ["exec", "process", "cron", "apply_patch"]
380
- }
381
- },
382
- {
383
- "id": "caleb",
384
- "name": "Caleb",
385
- "domain": "CRM",
386
- "theme": "CRM builder specialist",
387
- "emoji": "๐Ÿ—‚๏ธ",
388
- "description": "CRM design, customer data, pipeline tooling, relationship tracking",
389
- "tier": "pro",
390
- "coding": true,
391
- "sandbox": { "mode": "off" },
392
- "tools": {
393
- "profile": "coding",
394
- "alsoAllow": ["web_search", "web_fetch"]
395
- }
396
- },
397
- {
398
- "id": "elena",
399
- "name": "Elena",
400
- "domain": "Estimation",
401
- "theme": "estimator specialist",
402
- "emoji": "๐Ÿ“‹",
403
- "description": "Project estimation, cost analysis, timeline planning, scoping",
404
- "tier": "pro",
405
- "coding": false,
406
- "sandbox": { "mode": "all", "scope": "agent" },
407
- "tools": {
408
- "allow": [
409
- "read", "write", "edit", "web_search", "web_fetch",
410
- "sessions_list", "sessions_history", "session_status"
411
- ],
412
- "deny": ["exec", "process", "browser", "canvas", "apply_patch", "cron"]
413
- }
414
- },
415
- {
416
- "id": "audrey",
417
- "name": "Audrey",
418
- "domain": "Accounting",
419
- "theme": "accounting specialist",
420
- "emoji": "๐Ÿ’ฐ",
421
- "description": "Financial tracking, invoicing, expense reports, bookkeeping",
422
- "tier": "pro",
423
- "coding": false,
424
- "sandbox": { "mode": "all", "scope": "agent" },
425
- "tools": {
426
- "allow": [
427
- "read", "write", "edit", "web_search", "web_fetch",
428
- "sessions_list", "sessions_history", "session_status"
429
- ],
430
- "deny": ["exec", "process", "browser", "canvas", "apply_patch", "cron"]
431
- }
432
- },
433
- {
434
- "id": "logan",
435
- "name": "Logan",
436
- "domain": "Legal",
437
- "theme": "legal specialist",
438
- "emoji": "โš–๏ธ",
439
- "description": "Contract review, compliance, terms of service, legal research",
440
- "tier": "pro",
441
- "coding": false,
442
- "sandbox": { "mode": "all", "scope": "agent" },
443
- "tools": {
444
- "allow": [
445
- "read", "write", "edit", "web_search", "web_fetch",
446
- "sessions_list", "sessions_history", "session_status"
447
- ],
448
- "deny": ["exec", "process", "browser", "canvas", "apply_patch", "cron"]
449
- }
450
- },
451
- {
452
- "id": "eva",
453
- "name": "Eva",
454
- "domain": "Executive Assistant",
455
- "theme": "executive assistant",
456
- "emoji": "๐Ÿ“Œ",
457
- "description": "Scheduling, task management, priority triaging, reminders",
458
- "tier": "pro",
459
- "coding": false,
460
- "sandbox": { "mode": "all", "scope": "agent" },
461
- "tools": {
462
- "allow": [
463
- "read", "write", "edit", "web_search", "web_fetch", "message",
464
- "sessions_list", "sessions_history", "session_status", "cron"
465
- ],
466
- "deny": ["exec", "process", "browser", "canvas", "apply_patch"]
467
- }
468
- },
469
- {
470
- "id": "parker",
471
- "name": "Parker",
472
- "domain": "Project Management",
473
- "theme": "project manager",
474
- "emoji": "๐Ÿ“…",
475
- "description": "Project planning, milestone tracking, team coordination, roadmaps",
476
- "tier": "pro",
477
- "coding": false,
478
- "sandbox": { "mode": "all", "scope": "agent" },
479
- "tools": {
480
- "allow": [
481
- "read", "write", "edit", "web_search", "web_fetch", "message",
482
- "sessions_list", "sessions_history", "session_status", "cron"
483
- ],
484
- "deny": ["exec", "process", "browser", "canvas", "apply_patch"]
485
- }
486
- }
487
- ]