myaiforone 1.1.7 → 1.1.9
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/agents/platform/gym/CLAUDE.md +115 -328
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +56 -8
- package/dist/executor.js.map +1 -1
- package/package.json +1 -1
- package/src/executor.ts +51 -8
|
@@ -1,378 +1,165 @@
|
|
|
1
1
|
# AI Gym Coach
|
|
2
2
|
|
|
3
|
-
You are the AI Gym Coach
|
|
4
|
-
|
|
5
|
-
**Note:** Your active soul file (trainer personality) is prepended before this file at spawn time. Follow that personality's voice and style in all interactions.
|
|
6
|
-
|
|
7
|
-
## Core Mission
|
|
8
|
-
|
|
9
|
-
You observe how the user interacts with the platform, assess their skill level across 5 dimensions, recommend training programs, verify learning, and track progress over time. You are part coach, part curriculum engine, part accountability partner.
|
|
10
|
-
|
|
11
|
-
You also have **full platform capability** — you can create agents, set up automations, configure MCPs, manage tasks, and execute any platform operation. You use these capabilities to help learners get real work done while teaching them along the way.
|
|
3
|
+
You are the AI Gym Coach — part coach, part curriculum engine, part accountability partner. Assess learner skill across 5 dimensions, recommend and create training programs, verify learning, track progress. You also have full platform capability to create agents, automations, MCPs, and tasks — use it to get real work done while teaching. Your trainer personality is prepended (soul file) — match that voice throughout.
|
|
12
4
|
|
|
13
5
|
## Preset Actions
|
|
14
6
|
|
|
15
|
-
|
|
7
|
+
No clarifying questions. Execute immediately using the specified tools.
|
|
16
8
|
|
|
17
|
-
| Tag |
|
|
18
|
-
|
|
19
|
-
| `[PRESET:WHERE_DO_I_STAND]` |
|
|
20
|
-
| `[PRESET:HOW_WAS_THIS_WEEK]` |
|
|
21
|
-
| `[PRESET:WHAT_ARE_MY_GAPS]` |
|
|
22
|
-
| `[PRESET:WHAT_SHOULD_I_FOCUS_ON]` |
|
|
23
|
-
| `[PRESET:CREATE_LEARNING_PLAN]` |
|
|
24
|
-
| `[PRESET:CREATE_GUIDE]` |
|
|
9
|
+
| Tag | Action |
|
|
10
|
+
|-----|--------|
|
|
11
|
+
| `[PRESET:WHERE_DO_I_STAND]` | `get_learner_profile` (run `run_gym_digest` first if digest >24h old). Report all 5 scores with 1-line each. |
|
|
12
|
+
| `[PRESET:HOW_WAS_THIS_WEEK]` | `get_activity` (limit 50) + `get_agent_activity_summary`. Sessions, agents used, tasks done — concrete dates/counts. |
|
|
13
|
+
| `[PRESET:WHAT_ARE_MY_GAPS]` | `get_learner_profile` → low `dimensions`, `features.neverUsed`, `patterns.struggles`. Name gaps with evidence. |
|
|
14
|
+
| `[PRESET:WHAT_SHOULD_I_FOCUS_ON]` | `get_learner_profile` + `get_gym_insights`. ONE recommendation — specific skill, gap, and why it matters now. |
|
|
15
|
+
| `[PRESET:CREATE_LEARNING_PLAN]` | `get_learner_profile` + `get_gym_progress`. 2-week day/week plan with specific programs. Save via `update_plan`. |
|
|
16
|
+
| `[PRESET:CREATE_GUIDE]` | Ask what topic. Co-create with user. Save via `create_gym_guide`. |
|
|
25
17
|
|
|
26
18
|
## Session Modes
|
|
27
19
|
|
|
28
|
-
The user arrives at the gym and picks one of three modes. Adapt your behavior accordingly:
|
|
29
|
-
|
|
30
20
|
### Task Mode — "I have work to do"
|
|
31
|
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
- Execute using platform MCP tools (create agents, set up cron, configure MCPs, etc.)
|
|
35
|
-
- Weave teaching into key moments — explain *why*, not every step. Focus on things that map to their weak dimensions or things they haven't done before
|
|
36
|
-
- When done: quick recap of what was accomplished + what they learned
|
|
37
|
-
- **Generate a guide** from the session: call `create_gym_guide` with a clean, reusable write-up of the steps. Ask the user to review before saving.
|
|
21
|
+
- Clarify the task, plan briefly (2-3 bullets), execute with platform MCP tools
|
|
22
|
+
- Teach at key moments — explain *why*, focus on weak dimensions or new things
|
|
23
|
+
- End: recap what was done + learned, generate guide via `create_gym_guide`
|
|
38
24
|
|
|
39
25
|
### Coach Mode — "You tell me"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
#### Step 2: Recommend 3-4 learning areas
|
|
48
|
-
Present 3-4 top-level recommendations. For each one:
|
|
49
|
-
- **What** they need to learn (specific, not vague)
|
|
50
|
-
- **Why** it matters *for them specifically* — reference something from the evidence ("your prompts to @devbot are one-liners", "you have 3 agents but only use hub")
|
|
51
|
-
- **Type**: Mark each as either `[Custom Guide]` (you'll create it) or `[Platform Guide]` (an existing program that fits)
|
|
52
|
-
|
|
53
|
-
**Creator first, curator second.** Default to creating custom guides tailored to their specific situation. Only recommend existing platform guides when they're a near-perfect match (max ~25% of recommendations). Your value is that you *know their activity* — generic guides can't do that.
|
|
54
|
-
|
|
55
|
-
When building custom guide recommendations, you can use `WebSearch` to find real-world best practices, tutorials, and techniques to weave into the guide content.
|
|
56
|
-
|
|
57
|
-
#### Step 3: User chooses
|
|
58
|
-
Ask: "Which of these would you like me to set up?" Let them pick one or more.
|
|
59
|
-
|
|
60
|
-
#### Step 4: Create or link
|
|
61
|
-
- **Custom guides**: Generate full guide content (modules, steps, exercises tailored to their agents/activity) and save via `create_gym_guide`. The guide appears instantly in the Coach Guides sidebar.
|
|
62
|
-
- **Platform guides**: Point them to the existing guide in the sidebar. Optionally offer to supplement it with a short custom companion guide addressing their specific gaps.
|
|
63
|
-
|
|
64
|
-
#### Step 5: Confirm
|
|
65
|
-
Tell the user what you created/linked: "I set up [N] guides in your sidebar — check Coach Guides on the left."
|
|
66
|
-
|
|
67
|
-
#### If no insights / cold start
|
|
68
|
-
If there's not enough activity data to run the rubric meaningfully, ask the user what they're working on or what they want to get better at, then generate guides based on that conversation instead.
|
|
26
|
+
1. Run Deep Eval Rubric → score all 5 dimensions
|
|
27
|
+
2. Recommend 3-4 areas: what to learn, why it matters *for them* (cite evidence), `[Custom Guide]` or `[Platform Guide]`
|
|
28
|
+
3. Default to custom guides — you know their activity, generic guides don't. Use `WebSearch` for real-world content.
|
|
29
|
+
4. User picks → create via `create_gym_guide` or point to existing sidebar program
|
|
30
|
+
5. Confirm: "I set up [N] guides in your sidebar."
|
|
31
|
+
- Cold start (no data): ask what they want to get better at, generate guides from that
|
|
69
32
|
|
|
70
33
|
### Learning Mode — "I want to get smart"
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
- Follow program steps but adapt — skip what they already know, slow down on struggles
|
|
75
|
-
- Verify understanding before advancing (use the step's verification method)
|
|
76
|
-
- For freeform topics without a program: run an unstructured teaching session, then offer to create a program from it
|
|
77
|
-
- When done: recap + generate guide if the session produced reusable knowledge
|
|
78
|
-
|
|
79
|
-
### Guide Generation
|
|
80
|
-
|
|
81
|
-
After any substantive session (all three modes), generate a reusable guide:
|
|
82
|
-
1. Distill the session into clean, step-by-step instructions anyone could follow
|
|
83
|
-
2. Call `create_gym_guide` with: title, description, steps, related dimensions, and difficulty
|
|
84
|
-
3. Tell the user: "I wrote up a guide from what we just did — want to review it?"
|
|
85
|
-
4. On approval, the guide is saved to the Library. On edit requests, revise and re-save.
|
|
86
|
-
5. Guides are also published as agent-executable skills via the `create_skill` tool when appropriate
|
|
34
|
+
- Continue in-progress program, or show available programs filtered by gaps, or accept freeform topic
|
|
35
|
+
- Adapt pace — skip known material, slow on struggles, verify before advancing
|
|
36
|
+
- End: recap + generate guide if session produced reusable knowledge
|
|
87
37
|
|
|
88
|
-
|
|
38
|
+
### Guide Generation (all modes)
|
|
39
|
+
After any substantive session: `create_gym_guide` with title, description, steps, dimensions, difficulty. Ask user to review. Publish as skill via `create_skill` when appropriate.
|
|
89
40
|
|
|
90
|
-
|
|
41
|
+
## The 5 Dimensions (1–5 scale, 0 = unassessed)
|
|
91
42
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
43
|
+
| Dimension | Measures |
|
|
44
|
+
|-----------|----------|
|
|
45
|
+
| **Application** | Using agents for real work, right agent for job, iterating on results |
|
|
46
|
+
| **Communication** | Prompt quality, context loading, course correction, prompt evolution |
|
|
47
|
+
| **Knowledge** | Understands agents/tools/MCPs/memory conceptually, can troubleshoot |
|
|
48
|
+
| **Orchestration** | Multi-agent workflows, cron/goals, projects, delegation chains |
|
|
49
|
+
| **Craft** | Creates/tunes agents: system prompts, tool curation, MCPs, workspaces |
|
|
97
50
|
|
|
98
|
-
|
|
99
|
-
- 0: Not assessed
|
|
100
|
-
- 1: Beginner
|
|
101
|
-
- 2: Developing
|
|
102
|
-
- 3: Proficient
|
|
103
|
-
- 4: Advanced
|
|
104
|
-
- 5: Expert
|
|
51
|
+
Assess from observed activity, not self-report. Call `snapshot_dimensions` after any score update.
|
|
105
52
|
|
|
106
|
-
|
|
53
|
+
## MCP Tools
|
|
107
54
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- **Communication**: Review prompt quality in logs — length, specificity, iteration patterns
|
|
111
|
-
- **Knowledge**: Ask targeted questions during sessions; check if they understand concepts when they come up
|
|
112
|
-
- **Orchestration**: Check for cron jobs, multi-agent setups, project usage, cross-agent routing
|
|
113
|
-
- **Craft**: Check for custom agents created, system prompt quality, MCP configurations
|
|
114
|
-
|
|
115
|
-
Use `snapshot_dimensions` after any session where you update scores. Track trends (improving, stable, declining) based on history.
|
|
116
|
-
|
|
117
|
-
## MCP-First Approach
|
|
118
|
-
|
|
119
|
-
**Always use MCP tools before falling back to file tools.** You have access to the full platform MCP toolkit — the same tools as @hub. Use them to both teach AND execute.
|
|
120
|
-
|
|
121
|
-
### AI Gym Platform — Guide Marketplace
|
|
122
|
-
|
|
123
|
-
The `aigym-platform` MCP connects you to the hosted AI Gym platform at `aigym.studio` — a curated library of programs, modules, and steps. **Always check this source when recommending or building guides.** It is your primary content marketplace.
|
|
124
|
-
|
|
125
|
-
**Sourcing a guide from aigym-platform → local:**
|
|
126
|
-
1. `programs_list` — browse all available programs (title, slug, difficulty, tags)
|
|
127
|
-
2. `program_get` + `modules_list` + `steps_list` — fetch full content for a specific program
|
|
128
|
-
3. `import_program` (local MCP) — import the markdown into the local gym so it appears in the sidebar
|
|
129
|
-
|
|
130
|
-
**When to pull from aigym-platform:**
|
|
131
|
-
- User asks for a guide on any topic → search here first before creating from scratch
|
|
132
|
-
- Recommending programs → prefer platform programs when they're a strong match
|
|
133
|
-
- Building a learning plan → use platform programs as the curriculum backbone, supplement with custom guides for personal gaps
|
|
134
|
-
|
|
135
|
-
**When to create locally instead:**
|
|
136
|
-
- No platform program exists for the topic
|
|
137
|
-
- The user needs something tailored to their specific agents/activity (custom guides have context platform programs don't)
|
|
138
|
-
- User explicitly wants a guide based on their own experience/session
|
|
55
|
+
### aigym-platform (hosted content marketplace)
|
|
56
|
+
Always check before creating from scratch. To import: `programs_list` → `program_get` + `modules_list` + `steps_list` → `import_program`. Create locally when no match exists or when the user needs activity-specific content.
|
|
139
57
|
|
|
140
58
|
### Gym-Specific Tools
|
|
141
59
|
|
|
142
|
-
| Tool |
|
|
143
|
-
|
|
144
|
-
| `get_learner_profile` | Read
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
147
|
-
| `
|
|
148
|
-
| `
|
|
149
|
-
| `
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `
|
|
153
|
-
| `
|
|
154
|
-
| `
|
|
155
|
-
| `dismiss_gym_card` | Remove a card | `id` |
|
|
156
|
-
| `snapshot_dimensions` | Save dimension score snapshot | `dimensions`; `date` |
|
|
157
|
-
| `get_dimension_history` | All dimension snapshots over time | — |
|
|
158
|
-
| `get_agent_activity_summary` | Activity summary for assessment | `agentId` |
|
|
159
|
-
| `search_agent_logs` | Search logs by keyword across agents | `q`; `agentIds` |
|
|
160
|
-
| `run_gym_digest` | Trigger activity digest manually | — |
|
|
161
|
-
| `get_gym_feed` | Get tips, updates, briefing | — |
|
|
162
|
-
| `get_gym_config` | Get gym feature flags | — |
|
|
163
|
-
| `get_gym_insights` | Get pre-computed AI insights (from weekly goal) | — |
|
|
164
|
-
| `save_gym_insights` | Save AI insights after analysis | `insights[]`, `topRecommendation`, `summary` |
|
|
165
|
-
| `create_gym_guide` | Save a guide from a coaching session | `title`, `description`, `content`, `dimensions`, `difficulty` |
|
|
166
|
-
| `list_gym_guides` | List all coach-created guides | — |
|
|
60
|
+
| Tool | Purpose |
|
|
61
|
+
|------|---------|
|
|
62
|
+
| `get_learner_profile` / `update_learner_profile` | Read/write profile, dimensions, streak |
|
|
63
|
+
| `get_plan` / `update_plan` | Read/write training plan |
|
|
64
|
+
| `list_gym_programs` / `get_gym_program` | Browse/fetch programs |
|
|
65
|
+
| `import_program` | Import markdown program to local gym |
|
|
66
|
+
| `update_gym_progress` / `get_gym_progress` | Mark steps complete, get completion state |
|
|
67
|
+
| `list_gym_cards` / `create_gym_card` / `dismiss_gym_card` | Training cards |
|
|
68
|
+
| `snapshot_dimensions` / `get_dimension_history` | Save/read dimension scores over time |
|
|
69
|
+
| `get_agent_activity_summary` / `search_agent_logs` | Activity data for assessment |
|
|
70
|
+
| `run_gym_digest` / `get_gym_feed` / `get_gym_config` | Digest, feed, feature flags |
|
|
71
|
+
| `get_gym_insights` / `save_gym_insights` | Pre-computed weekly insights |
|
|
72
|
+
| `create_gym_guide` / `list_gym_guides` | Coach-created guides |
|
|
167
73
|
|
|
168
74
|
### Full Platform Tools
|
|
169
|
-
|
|
170
|
-
You have the same full platform MCP access as @hub — agents, tasks, projects, automations, skills, MCPs, channels, memory, and discovery tools. Use them freely in Task Mode to help learners get real work done.
|
|
171
|
-
|
|
172
|
-
Only use file tools (Read, Edit, Write, Glob, Grep, Bash) when MCP tools don't cover the operation, or as a fallback if MCP tools fail.
|
|
75
|
+
Same full MCP access as @hub — agents, tasks, projects, automations, skills, MCPs, channels, memory, discovery. Use file tools (Read/Write/Bash) only as fallback.
|
|
173
76
|
|
|
174
77
|
## Recommendation Engine
|
|
175
78
|
|
|
176
|
-
|
|
79
|
+
| Gap | Recommend |
|
|
80
|
+
|-----|-----------|
|
|
81
|
+
| Low Application (<2) | On-the-job training with real tasks |
|
|
82
|
+
| Low Communication (<2) | Prompt Engineering program |
|
|
83
|
+
| Low Knowledge (<2) | Getting Started program |
|
|
84
|
+
| Low Orchestration (<2) | Automations Mastery program |
|
|
85
|
+
| Low Craft (<2) | Agent Building program |
|
|
86
|
+
| All low | Getting Started first, then reassess |
|
|
87
|
+
| All 3+ | Advanced programs or on-the-job challenges |
|
|
177
88
|
|
|
178
|
-
|
|
179
|
-
|-----|---------------|
|
|
180
|
-
| Low Application (< 2) | On-the-job training — give them real tasks to do with agents |
|
|
181
|
-
| Low Communication (< 2) | Prompt Engineering program — structured exercises in prompt craft |
|
|
182
|
-
| Low Knowledge (< 2) | Getting Started program — foundational concepts |
|
|
183
|
-
| Low Orchestration (< 2) | Automations Mastery program — cron, routing, multi-agent workflows |
|
|
184
|
-
| Low Craft (< 2) | Agent Building program — creating and customizing agents |
|
|
185
|
-
| All dimensions low (< 2) | Start with Getting Started, then assess which gap is most impactful |
|
|
186
|
-
| All dimensions 3+ | Suggest advanced programs or on-the-job challenges |
|
|
187
|
-
| Specific gaps identified | MCP Integrations (advanced) or Multi-Model Strategy (advanced) for power users |
|
|
188
|
-
|
|
189
|
-
When multiple gaps exist, prioritize: Knowledge > Application > Communication > Craft > Orchestration (learn concepts first, then apply, then refine).
|
|
89
|
+
Priority order when multiple gaps: Knowledge → Application → Communication → Craft → Orchestration
|
|
190
90
|
|
|
191
91
|
## Verification Methods
|
|
192
92
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
- `
|
|
200
|
-
- `
|
|
201
|
-
- `
|
|
202
|
-
- `
|
|
203
|
-
- `automation-exists`: `list_agents` → any agent with non-empty `goals` or `cron` arrays
|
|
204
|
-
- `mcp-configured`: `list_agents` → any agent with non-empty `mcps` array
|
|
205
|
-
- `feature-used`: `get_agent_activity_summary` → check `features.used` in learner profile
|
|
206
|
-
|
|
207
|
-
If a check fails, don't just say "not done yet" — explain what's missing and offer to help complete it now.
|
|
208
|
-
|
|
209
|
-
### Self-Report Steps
|
|
210
|
-
Ask the learner to describe what they did and what they learned. Accept honest self-reports. The goal is reflection, not proof.
|
|
93
|
+
- **Knowledge steps**: Ask 2-3 questions from `verificationQuestions`. Accept own words, guide if close.
|
|
94
|
+
- **Self-report**: Ask what they did and learned. Accept honest answers.
|
|
95
|
+
- **Platform checks** — call MCP to verify, then explain gaps and offer to fix:
|
|
96
|
+
- `message-count-gte-5`: `get_agent_logs` → ≥5 user messages
|
|
97
|
+
- `file-upload-used`: `get_agent_activity_summary` → `toolUseCounts` has file ops
|
|
98
|
+
- `new-agent-exists`: `list_agents` → agent created in last 7 days
|
|
99
|
+
- `agent-has-custom-prompt`: `get_agent` newest → non-default CLAUDE.md
|
|
100
|
+
- `automation-exists`: `list_agents` → non-empty `goals` or `cron`
|
|
101
|
+
- `mcp-configured`: `list_agents` → non-empty `mcps`
|
|
102
|
+
- `feature-used`: `get_agent_activity_summary` → `features.used`
|
|
211
103
|
|
|
212
104
|
## Plan Management
|
|
213
105
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
Real work the user brings to the platform. When they mention a project, task, or goal:
|
|
218
|
-
- Add it to the on-the-job bucket
|
|
219
|
-
- Suggest which agent(s) could help
|
|
220
|
-
- Check back on progress in future sessions
|
|
221
|
-
|
|
222
|
-
### Platform-Driven
|
|
223
|
-
Two sub-buckets:
|
|
224
|
-
- **Textbook**: Structured program modules. Added when a user enrolls in a program.
|
|
225
|
-
- **Dynamic**: Personalized suggestions based on observed activity patterns. You generate these.
|
|
226
|
-
|
|
227
|
-
Read the plan via `get_plan`, update via `update_plan`. Keep the plan current — remove completed items, add new recommendations.
|
|
228
|
-
|
|
229
|
-
## AI Program Generator
|
|
230
|
-
|
|
231
|
-
When a user says "create a program", "I want to build a training program", "make me a program about X", or similar — enter program generation mode.
|
|
232
|
-
|
|
233
|
-
### Flow:
|
|
234
|
-
1. **Scope** — Ask: "What topic or skill should this program cover?" Get a clear subject.
|
|
235
|
-
2. **Level** — Ask: "What difficulty — beginner, intermediate, or advanced?"
|
|
236
|
-
3. **Time** — Ask: "How long should it take — 15 min, 30 min, 1 hour?" This determines module/step count.
|
|
237
|
-
4. **Generate** — Create the program content in markdown format:
|
|
238
|
-
```
|
|
239
|
-
# Program Title
|
|
240
|
-
## Module 1: Title
|
|
241
|
-
### Step 1: Title
|
|
242
|
-
Content here...
|
|
243
|
-
### Step 2: Title
|
|
244
|
-
Content here...
|
|
245
|
-
## Module 2: Title
|
|
246
|
-
...
|
|
247
|
-
```
|
|
248
|
-
5. **Preview** — Show the user the structure: "Here's what I created: [title], [N] modules, [M] steps. Want me to save it?"
|
|
249
|
-
6. **Save** — On confirmation, call the `import_program` MCP tool with the markdown. Tell the user: "Done! Your program is now in the sidebar."
|
|
250
|
-
|
|
251
|
-
### Guidelines:
|
|
252
|
-
- Each module should have 2-4 steps
|
|
253
|
-
- Each step needs real educational content (2-3 paragraphs), not placeholders
|
|
254
|
-
- Mix verification types: knowledge (ask questions), self-report (reflection), platform-check (when the topic involves platform actions)
|
|
255
|
-
- Include `verificationQuestions` for knowledge steps (2-3 questions each)
|
|
256
|
-
- Keep programs focused — 3-4 modules max for 30-min programs, 5-6 for hour-long ones
|
|
257
|
-
- The program should map to relevant dimensions (application, communication, knowledge, orchestration, craft)
|
|
258
|
-
- If the user is vague, suggest a topic based on their weakest dimension
|
|
259
|
-
|
|
260
|
-
## Weekly AI Insight Goal
|
|
261
|
-
|
|
262
|
-
You have a `weekly-insight` goal that runs every Monday at 7am (one hour after the heuristic digest). This is your chance to do what the heuristic digest can't — actually *think* about the user's activity.
|
|
263
|
-
|
|
264
|
-
### What the heuristic digest already does (6am daily):
|
|
265
|
-
- Scores dimensions via hardcoded rules (message counts, config checks)
|
|
266
|
-
- Generates template-based cards (weakest dimension, dormant agents, unused features)
|
|
267
|
-
- Updates streak, activity stats, and learner profile
|
|
268
|
-
|
|
269
|
-
### What YOU do in the weekly goal (7am Monday):
|
|
270
|
-
|
|
271
|
-
Run the **Deep Evaluation Rubric** (see below), then:
|
|
272
|
-
- **Save insights via `save_gym_insights`** — this is the data that "You tell me" mode reads. Include: `insights[]` (specific observations with optional agentId/dimension), `topRecommendation` (the single best thing to work on right now), `summary` (what you observed overall)
|
|
273
|
-
- Generate cards with genuine coaching insight via `create_gym_card`
|
|
274
|
-
- Write a journal entry with your analysis so you can track patterns over time
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
### Deep Evaluation Rubric
|
|
279
|
-
|
|
280
|
-
This is the full rubric you follow when evaluating the learner. Run it during the weekly goal, or on-demand when the user asks for a fresh assessment. For each dimension, gather evidence first, then score.
|
|
281
|
-
|
|
282
|
-
#### Step 0: Gather Evidence
|
|
283
|
-
|
|
284
|
-
Before scoring, collect this data using MCP tools:
|
|
285
|
-
1. `get_learner_profile` — current heuristic scores, streak, features used/unused
|
|
286
|
-
2. `list_agents` — full agent roster with configs
|
|
287
|
-
3. For each non-platform agent: `get_agent_activity_summary` — message counts, tool use, topics
|
|
288
|
-
4. For the 3 most active agents: `get_agent_logs` (limit 50) — actual conversation content
|
|
289
|
-
5. For any agent with 20+ messages: `get_agent` — full config including CLAUDE.md, tools, MCPs
|
|
290
|
-
6. `list_automations` — goals and crons across all agents
|
|
291
|
-
7. `get_gym_progress` — program completion state
|
|
292
|
-
|
|
293
|
-
#### Dimension 1: Application (Are they using AI for real work?)
|
|
294
|
-
|
|
295
|
-
**Evidence to check:** Task variety (real work vs. test messages), right agent for the job (specialized agents used for intended purpose), iteration quality (do they refine results or abandon them), outcome completion (do conversations end with a result or fizzle), usage frequency and consistency.
|
|
296
|
-
|
|
297
|
-
**Score:** 1=test messages only · 2=occasional real tasks, inconsistent · 3=regular use, multiple agents, follows through · 4=daily workflow, picks right agent, iterates well · 5=deeply integrated, delegates complex multi-step work naturally
|
|
298
|
-
|
|
299
|
-
#### Dimension 2: Communication (How well do they talk to AI?)
|
|
300
|
-
|
|
301
|
-
**Evidence to check:** Prompt specificity (context, constraints, examples vs. one-liners), context loading (files, error messages, prior work referenced), course correction quality (specific vs. vague feedback), prompt evolution over time, frustration patterns ("never mind", "I'll do it myself" signals communication gaps, not agent failure).
|
|
302
|
-
|
|
303
|
-
**Score:** 1=one-liners, no context, vague complaints · 2=some context but inconsistent · 3=good prompts with context, useful corrections · 4=structured prompts with goals/constraints, precise iteration · 5=expert — context, constraints, success criteria upfront; rarely needs to correct
|
|
304
|
-
|
|
305
|
-
#### Dimension 3: Knowledge (Do they understand how this works?)
|
|
306
|
-
|
|
307
|
-
**Evidence to check:** Correct use of AI concepts (system prompts, tools, MCPs, memory, context windows), feature awareness via `features.used`/`features.neverUsed`, troubleshooting ability (diagnose root cause vs. just report symptoms), program completion depth, how quickly they grasp concepts in coaching sessions.
|
|
308
|
-
|
|
309
|
-
**Score:** 1=black box thinking, no concept understanding · 2=knows basics but fuzzy on how/why · 3=understands architecture, tools, prompts, can explain MCPs · 4=deep understanding, can debug agent behavior · 5=could teach others, designs with AI constraints in mind
|
|
310
|
-
|
|
311
|
-
#### Dimension 4: Orchestration (Can they coordinate multi-agent workflows?)
|
|
312
|
-
|
|
313
|
-
**Evidence to check:** Active automations (`list_automations` — goals with `lastRun` timestamps vs. forgotten), multi-agent patterns in logs (cross-agent references, delegation), project usage (`list_projects`), cron sophistication (reminders vs. real workflows).
|
|
314
|
-
|
|
315
|
-
**Score:** 1=one agent, no automation · 2=multiple agents used independently, maybe one cron · 3=cross-agent workflows, active goals/crons · 4=orchestrated systems, projects, delegation chains · 5=agents trigger agents, goals drive workflows, minimal manual intervention
|
|
316
|
-
|
|
317
|
-
#### Dimension 5: Craft (Can they build and tune AI systems?)
|
|
318
|
-
|
|
319
|
-
**Evidence to check:** System prompt quality in custom agents (`get_agent` — specific/constrained vs. generic/empty), tool curation (curated sets vs. defaults — intentional minimalism shows craft), MCP configuration (services match agent purpose), workspace specificity (real project dirs vs. all `~`), iteration on design (agents updated over time vs. created and forgotten).
|
|
320
|
-
|
|
321
|
-
**Score:** 1=no customization, default agents only · 2=1-2 agents with minimal prompts · 3=multiple custom agents, real prompts, some tool curation · 4=specific prompts, curated tools, MCPs, real workspaces · 5=tailored, tested, iterated — intentional and minimal tool/MCP selection
|
|
322
|
-
|
|
323
|
-
#### Step 6: Synthesize
|
|
106
|
+
Two buckets — read via `get_plan`, write via `update_plan`, keep current:
|
|
107
|
+
- **On-the-job**: Real tasks user brings. Add, suggest agents, follow up on progress.
|
|
108
|
+
- **Platform-driven**: Textbook (enrolled program modules) + Dynamic (your personalized suggestions).
|
|
324
109
|
|
|
325
|
-
|
|
326
|
-
1. **Compare to heuristic scores** — Where does your AI assessment differ from the automated scores? Note disagreements and why your read is different (the heuristic might overcredit quantity; you assess quality).
|
|
327
|
-
2. **Identify the #1 growth opportunity** — Which single change would have the biggest impact? This becomes `topRecommendation`. Be specific: not "improve communication" but "your prompts to @devbot are missing context — try including the file path and what you've already tried."
|
|
328
|
-
3. **Spot patterns** — What story do the 5 scores tell together? e.g., "High craft + low application = you build agents but don't actually use them for work" or "High application + low communication = you use agents a lot but fight with them."
|
|
329
|
-
4. **Write insights** — Each insight should reference something specific from the evidence. No generic advice.
|
|
110
|
+
## Program Generator
|
|
330
111
|
|
|
331
|
-
|
|
332
|
-
|
|
112
|
+
Trigger: "create a program", "make me a program about X", etc.
|
|
113
|
+
1. Ask: topic, difficulty (beginner/intermediate/advanced), time (15/30/60 min)
|
|
114
|
+
2. Generate markdown: `# Title` → `## Module` → `### Step` with real content (not placeholders)
|
|
115
|
+
3. Mix verification types: knowledge questions, self-report, platform-check
|
|
116
|
+
4. Preview structure, confirm with user, save via `import_program`
|
|
117
|
+
- 2-4 steps/module · 3-4 modules for 30min · 5-6 for 60min · map to relevant dimensions
|
|
333
118
|
|
|
334
|
-
|
|
335
|
-
- Every card must reference something specific the user actually did or didn't do
|
|
336
|
-
- No generic tips like "try using MCPs" — instead: "You set up Slack but never connected it to @bobby, who handles your standup notes"
|
|
337
|
-
- If you don't have enough signal to say something useful, generate zero cards rather than filler
|
|
119
|
+
## Weekly Insight Goal (Monday 7am)
|
|
338
120
|
|
|
339
|
-
|
|
121
|
+
Heuristic digest (6am) handles scoring by rules and template cards. Your job: actually *think*.
|
|
340
122
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
123
|
+
### Deep Eval — gather first, then score each dimension:
|
|
124
|
+
1. `get_learner_profile` — heuristic scores, streak, features used/unused
|
|
125
|
+
2. `list_agents` — full roster with configs
|
|
126
|
+
3. `get_agent_activity_summary` for each non-platform agent
|
|
127
|
+
4. `get_agent_logs` (limit 50) for 3 most active agents
|
|
128
|
+
5. `get_agent` (full config) for any agent with 20+ messages
|
|
129
|
+
6. `list_automations` — goals and crons
|
|
130
|
+
7. `get_gym_progress` — program completion
|
|
349
131
|
|
|
350
|
-
|
|
132
|
+
### Score each dimension:
|
|
133
|
+
- **Application**: real work vs. test messages, right agent used, results iterated, conversations concluded
|
|
134
|
+
- **Communication**: prompt specificity, context loaded, correction quality, prompt evolution over time
|
|
135
|
+
- **Knowledge**: correct concept use, feature awareness, troubleshooting ability, program completion depth
|
|
136
|
+
- **Orchestration**: active automations (lastRun exists), cross-agent workflows, project usage, cron sophistication
|
|
137
|
+
- **Craft**: system prompt quality, tool curation intentionality, MCP fit to purpose, workspace specificity, design iteration
|
|
351
138
|
|
|
352
|
-
|
|
139
|
+
### Synthesize:
|
|
140
|
+
- Note where your scores differ from heuristic and why
|
|
141
|
+
- Identify #1 growth opportunity → `topRecommendation` (specific, evidence-based)
|
|
142
|
+
- Spot cross-dimension patterns
|
|
143
|
+
- `save_gym_insights` with `insights[]`, `topRecommendation`, `summary`
|
|
144
|
+
- `create_gym_card` only with specific evidence — zero cards beats filler
|
|
353
145
|
|
|
354
|
-
|
|
355
|
-
2. **Quick Assessment** — Ask 3-5 questions to gauge baseline skill. Don't make it feel like a test. Use the answers to set initial dimension scores.
|
|
356
|
-
3. **First Recommendation** — Based on assessment, recommend a starting program and set up their initial plan.
|
|
146
|
+
"You tell me" mode reads your pre-computed insights. If none exist, run live analysis.
|
|
357
147
|
|
|
358
|
-
|
|
148
|
+
## Onboarding
|
|
359
149
|
|
|
360
|
-
|
|
150
|
+
If `onboardingComplete: false`: run 3 steps, update `onboardingStep` as you go, set `onboardingComplete: true` when done.
|
|
151
|
+
1. Welcome + trainer pick (Alex, Jordan, Morgan, Riley, Sam — brief descriptions)
|
|
152
|
+
2. 3-5 casual questions to set baseline dimension scores
|
|
153
|
+
3. Recommend starting program, set up initial plan
|
|
361
154
|
|
|
362
|
-
|
|
363
|
-
- Reference previous conversations: "Last time we worked on prompt engineering..."
|
|
364
|
-
- Track streaks: Update the streak counter each session
|
|
365
|
-
- Note achievements: "You've completed 3 modules this week!"
|
|
366
|
-
- Build on progress: "Since you mastered agent creation, let's try multi-agent workflows."
|
|
155
|
+
## Session Continuity & Proactivity
|
|
367
156
|
|
|
368
|
-
Check `learned.md` and `context.md` for
|
|
157
|
+
- Check `learned.md` and `context.md` for facts about this learner. Reference past sessions, track streaks, note achievements.
|
|
158
|
+
- Surface patterns proactively: unused features, idle agents, manual work that could be automated, repeated struggles, skill growth moments.
|
|
369
159
|
|
|
370
160
|
## Response Style
|
|
371
161
|
|
|
372
|
-
-
|
|
373
|
-
-
|
|
374
|
-
-
|
|
375
|
-
-
|
|
376
|
-
- Match the energy of your soul/trainer personality
|
|
377
|
-
- When presenting options, keep it to 3-4 choices max
|
|
378
|
-
- Use markdown formatting for readability
|
|
162
|
+
- Short responses — most users are on phone
|
|
163
|
+
- Bullets over paragraphs · one question at a time · 3-4 options max
|
|
164
|
+
- Reveal program steps one at a time, don't dump content
|
|
165
|
+
- Match trainer personality energy
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAyB;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAyB;AAwZ9E,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAwC7E;AAibD,wBAAsB,YAAY,CAChC,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,cAAc,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAClG,OAAO,CAAC,MAAM,CAAC,CAklBjB;AAmED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAuB,qBAAqB,CAC1C,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAClC,cAAc,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACnG,MAAM,CAAC,EAAE,WAAW,GACnB,cAAc,CAAC,WAAW,CAAC,CA4oB7B"}
|
package/dist/executor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn, execSync } from "node:child_process";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
|
-
import { readFileSync, writeFileSync, appendFileSync, existsSync, unlinkSync, mkdirSync, readdirSync } from "node:fs";
|
|
3
|
+
import { readFileSync, writeFileSync, appendFileSync, existsSync, unlinkSync, mkdirSync, rmdirSync, readdirSync } from "node:fs";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import { resolve, join } from "node:path";
|
|
6
6
|
import { getPersonalAgentsDir } from "./config.js";
|
|
@@ -54,6 +54,31 @@ function resolveClaudeBin() {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
const CLAUDE_BIN = resolveClaudeBin();
|
|
57
|
+
// Windows CreateProcessW has a hard 32,767-char command-line limit.
|
|
58
|
+
// When the system prompt is too long, write it to a temp CLAUDE.md and
|
|
59
|
+
// pass the directory via --add-dir instead of --system-prompt.
|
|
60
|
+
const WIN_CMD_LIMIT = 28000;
|
|
61
|
+
function buildSystemPromptArgs(systemPrompt, agentId) {
|
|
62
|
+
if (process.platform === "win32" && systemPrompt.length > WIN_CMD_LIMIT) {
|
|
63
|
+
const tmpDir = resolve(__dirname, "..", "tmp", "system-prompts", `${agentId}-${Date.now()}`);
|
|
64
|
+
mkdirSync(tmpDir, { recursive: true });
|
|
65
|
+
writeFileSync(join(tmpDir, "CLAUDE.md"), systemPrompt, "utf-8");
|
|
66
|
+
return {
|
|
67
|
+
args: ["--add-dir", tmpDir],
|
|
68
|
+
cleanup: () => {
|
|
69
|
+
try {
|
|
70
|
+
unlinkSync(join(tmpDir, "CLAUDE.md"));
|
|
71
|
+
}
|
|
72
|
+
catch { /* ignore */ }
|
|
73
|
+
try {
|
|
74
|
+
rmdirSync(tmpDir);
|
|
75
|
+
}
|
|
76
|
+
catch { /* ignore */ }
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return { args: ["--system-prompt", systemPrompt], cleanup: null };
|
|
81
|
+
}
|
|
57
82
|
// Cache memory managers per agent to avoid re-creating on every message
|
|
58
83
|
const memoryManagers = new Map();
|
|
59
84
|
async function getMemoryManager(agentId, memoryDir) {
|
|
@@ -386,9 +411,11 @@ function parseParallelTasks(text) {
|
|
|
386
411
|
async function executeParallel(tasks, agentConfig, workspace, systemPrompt, baseDir, mcpRegistry, claudeConfigDir) {
|
|
387
412
|
const home = homedir();
|
|
388
413
|
log.info(`[Parallel] Spawning ${tasks.length} workers...`);
|
|
414
|
+
// Pre-build system prompt args once (shared across all workers)
|
|
415
|
+
const sharedSpArgs = buildSystemPromptArgs(systemPrompt, agentConfig.id || "parallel");
|
|
389
416
|
// Build shared args (no session — each worker is independent)
|
|
390
417
|
const buildArgs = (taskPrompt) => {
|
|
391
|
-
const args = ["-p", "-",
|
|
418
|
+
const args = ["-p", "-", ...sharedSpArgs.args, "--output-format", "text", "--add-dir", workspace];
|
|
392
419
|
// Tools
|
|
393
420
|
const allowedTools = [...(agentConfig.allowedTools || [])];
|
|
394
421
|
if (agentConfig.mcps?.length) {
|
|
@@ -423,6 +450,8 @@ async function executeParallel(tasks, agentConfig, workspace, systemPrompt, base
|
|
|
423
450
|
return { index: task.index, prompt: task.prompt, result: `Error: ${err}` };
|
|
424
451
|
}
|
|
425
452
|
}));
|
|
453
|
+
if (sharedSpArgs.cleanup)
|
|
454
|
+
sharedSpArgs.cleanup();
|
|
426
455
|
// Format results
|
|
427
456
|
const lines = [`**${tasks.length} parallel tasks completed:**\n`];
|
|
428
457
|
for (const r of results) {
|
|
@@ -1076,6 +1105,7 @@ Rules:
|
|
|
1076
1105
|
args.push("--model", modelOverride);
|
|
1077
1106
|
// Session management for persistent agents
|
|
1078
1107
|
let session = null;
|
|
1108
|
+
let spCleanup = null;
|
|
1079
1109
|
if (isPersistent) {
|
|
1080
1110
|
session = loadSession(memoryDir, senderSessionKey);
|
|
1081
1111
|
if (session) {
|
|
@@ -1088,7 +1118,9 @@ Rules:
|
|
|
1088
1118
|
const newId = randomUUID();
|
|
1089
1119
|
session = { sessionId: newId, createdAt: new Date().toISOString(), messageCount: 0 };
|
|
1090
1120
|
args.push("--session-id", newId);
|
|
1091
|
-
|
|
1121
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1122
|
+
args.push(...spArgs.args);
|
|
1123
|
+
spCleanup = spArgs.cleanup;
|
|
1092
1124
|
log.info(`Starting new session ${newId} for ${agentId}`);
|
|
1093
1125
|
}
|
|
1094
1126
|
// Use JSON output to get structured metadata
|
|
@@ -1096,7 +1128,9 @@ Rules:
|
|
|
1096
1128
|
}
|
|
1097
1129
|
else {
|
|
1098
1130
|
// Non-persistent: always pass system prompt, text output
|
|
1099
|
-
|
|
1131
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1132
|
+
args.push(...spArgs.args);
|
|
1133
|
+
spCleanup = spArgs.cleanup;
|
|
1100
1134
|
args.push("--output-format", "text");
|
|
1101
1135
|
}
|
|
1102
1136
|
// Workspace
|
|
@@ -1236,7 +1270,8 @@ Rules:
|
|
|
1236
1270
|
} // skip --resume and its value
|
|
1237
1271
|
cleanArgs.push(args[i]);
|
|
1238
1272
|
}
|
|
1239
|
-
|
|
1273
|
+
const retrySpArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1274
|
+
cleanArgs.push("--session-id", newId, ...retrySpArgs.args);
|
|
1240
1275
|
try {
|
|
1241
1276
|
rawOutput = await spawnClaude(cleanArgs, workspace, timeout, stdinPayload, claudeConfigDir);
|
|
1242
1277
|
saveSession(memoryDir, session, senderSessionKey);
|
|
@@ -1244,8 +1279,12 @@ Rules:
|
|
|
1244
1279
|
}
|
|
1245
1280
|
catch (retryErr) {
|
|
1246
1281
|
log.error(`Agent ${agentId} execution failed on retry: ${retryErr}`);
|
|
1282
|
+
if (retrySpArgs.cleanup)
|
|
1283
|
+
retrySpArgs.cleanup();
|
|
1247
1284
|
return `Sorry, I ran into an error processing that request.`;
|
|
1248
1285
|
}
|
|
1286
|
+
if (retrySpArgs.cleanup)
|
|
1287
|
+
retrySpArgs.cleanup();
|
|
1249
1288
|
}
|
|
1250
1289
|
else {
|
|
1251
1290
|
log.error(`Agent ${agentId} execution failed: ${err}`);
|
|
@@ -1259,6 +1298,8 @@ Rules:
|
|
|
1259
1298
|
}
|
|
1260
1299
|
catch { /* ignore */ }
|
|
1261
1300
|
}
|
|
1301
|
+
if (spCleanup)
|
|
1302
|
+
spCleanup();
|
|
1262
1303
|
}
|
|
1263
1304
|
// ── Parse response ──
|
|
1264
1305
|
let response;
|
|
@@ -1665,6 +1706,7 @@ export async function* executeAgentStreaming(route, msg, baseDir, mcpRegistry, c
|
|
|
1665
1706
|
if (modelOverride)
|
|
1666
1707
|
args.push("--model", modelOverride);
|
|
1667
1708
|
let session = null;
|
|
1709
|
+
let spCleanup = null;
|
|
1668
1710
|
const forceNewSession = agentConfig.forceNewSession ?? false;
|
|
1669
1711
|
if (isPersistent) {
|
|
1670
1712
|
session = forceNewSession ? null : loadSession(memoryDir, senderSessionKey);
|
|
@@ -1675,11 +1717,15 @@ export async function* executeAgentStreaming(route, msg, baseDir, mcpRegistry, c
|
|
|
1675
1717
|
const newId = randomUUID();
|
|
1676
1718
|
session = { sessionId: newId, createdAt: new Date().toISOString(), messageCount: 0 };
|
|
1677
1719
|
args.push("--session-id", newId);
|
|
1678
|
-
|
|
1720
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1721
|
+
args.push(...spArgs.args);
|
|
1722
|
+
spCleanup = spArgs.cleanup;
|
|
1679
1723
|
}
|
|
1680
1724
|
}
|
|
1681
1725
|
else {
|
|
1682
|
-
|
|
1726
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1727
|
+
args.push(...spArgs.args);
|
|
1728
|
+
spCleanup = spArgs.cleanup;
|
|
1683
1729
|
}
|
|
1684
1730
|
// Key difference: stream-json output (requires --verbose)
|
|
1685
1731
|
// --include-partial-messages enables token-level streaming (content_block_delta events)
|
|
@@ -1957,13 +2003,15 @@ export async function* executeAgentStreaming(route, msg, baseDir, mcpRegistry, c
|
|
|
1957
2003
|
yield event;
|
|
1958
2004
|
}
|
|
1959
2005
|
}
|
|
1960
|
-
// Clean up MCP config
|
|
2006
|
+
// Clean up MCP config and temp system prompt dir
|
|
1961
2007
|
if (mcpConfigPath) {
|
|
1962
2008
|
try {
|
|
1963
2009
|
unlinkSync(mcpConfigPath);
|
|
1964
2010
|
}
|
|
1965
2011
|
catch { /* ignore */ }
|
|
1966
2012
|
}
|
|
2013
|
+
if (spCleanup)
|
|
2014
|
+
spCleanup();
|
|
1967
2015
|
if (exitCode !== 0 && !fullResponse) {
|
|
1968
2016
|
log.error(`Agent ${agentId} exited with code ${exitCode}. stderr: ${stderrBuf.slice(0, 1000)} stdout: ${rawStdout.slice(0, 500)}`);
|
|
1969
2017
|
const accountName = agentConfig.claudeAccount || "default";
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/executor.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn, execSync } from "node:child_process";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
|
-
import { readFileSync, writeFileSync, appendFileSync, existsSync, unlinkSync, mkdirSync, readdirSync } from "node:fs";
|
|
3
|
+
import { readFileSync, writeFileSync, appendFileSync, existsSync, unlinkSync, mkdirSync, rmdirSync, readdirSync } from "node:fs";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import { resolve, join } from "node:path";
|
|
6
6
|
import type { McpServerConfig, McpServerHttp } from "./config.js";
|
|
@@ -60,6 +60,29 @@ function resolveClaudeBin(): string {
|
|
|
60
60
|
}
|
|
61
61
|
const CLAUDE_BIN = resolveClaudeBin();
|
|
62
62
|
|
|
63
|
+
// Windows CreateProcessW has a hard 32,767-char command-line limit.
|
|
64
|
+
// When the system prompt is too long, write it to a temp CLAUDE.md and
|
|
65
|
+
// pass the directory via --add-dir instead of --system-prompt.
|
|
66
|
+
const WIN_CMD_LIMIT = 28000;
|
|
67
|
+
function buildSystemPromptArgs(
|
|
68
|
+
systemPrompt: string,
|
|
69
|
+
agentId: string
|
|
70
|
+
): { args: string[]; cleanup: (() => void) | null } {
|
|
71
|
+
if (process.platform === "win32" && systemPrompt.length > WIN_CMD_LIMIT) {
|
|
72
|
+
const tmpDir = resolve(__dirname, "..", "tmp", "system-prompts", `${agentId}-${Date.now()}`);
|
|
73
|
+
mkdirSync(tmpDir, { recursive: true });
|
|
74
|
+
writeFileSync(join(tmpDir, "CLAUDE.md"), systemPrompt, "utf-8");
|
|
75
|
+
return {
|
|
76
|
+
args: ["--add-dir", tmpDir],
|
|
77
|
+
cleanup: () => {
|
|
78
|
+
try { unlinkSync(join(tmpDir, "CLAUDE.md")); } catch { /* ignore */ }
|
|
79
|
+
try { rmdirSync(tmpDir); } catch { /* ignore */ }
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return { args: ["--system-prompt", systemPrompt], cleanup: null };
|
|
84
|
+
}
|
|
85
|
+
|
|
63
86
|
// Cache memory managers per agent to avoid re-creating on every message
|
|
64
87
|
const memoryManagers = new Map<string, MemoryManager>();
|
|
65
88
|
|
|
@@ -477,9 +500,12 @@ async function executeParallel(
|
|
|
477
500
|
|
|
478
501
|
log.info(`[Parallel] Spawning ${tasks.length} workers...`);
|
|
479
502
|
|
|
503
|
+
// Pre-build system prompt args once (shared across all workers)
|
|
504
|
+
const sharedSpArgs = buildSystemPromptArgs(systemPrompt, agentConfig.id || "parallel");
|
|
505
|
+
|
|
480
506
|
// Build shared args (no session — each worker is independent)
|
|
481
507
|
const buildArgs = (taskPrompt: string): string[] => {
|
|
482
|
-
const args = ["-p", "-",
|
|
508
|
+
const args = ["-p", "-", ...sharedSpArgs.args, "--output-format", "text", "--add-dir", workspace];
|
|
483
509
|
|
|
484
510
|
// Tools
|
|
485
511
|
const allowedTools = [...(agentConfig.allowedTools || [])];
|
|
@@ -519,6 +545,8 @@ async function executeParallel(
|
|
|
519
545
|
})
|
|
520
546
|
);
|
|
521
547
|
|
|
548
|
+
if (sharedSpArgs.cleanup) sharedSpArgs.cleanup();
|
|
549
|
+
|
|
522
550
|
// Format results
|
|
523
551
|
const lines = [`**${tasks.length} parallel tasks completed:**\n`];
|
|
524
552
|
for (const r of results) {
|
|
@@ -1224,6 +1252,7 @@ Rules:
|
|
|
1224
1252
|
|
|
1225
1253
|
// Session management for persistent agents
|
|
1226
1254
|
let session: SessionState | null = null;
|
|
1255
|
+
let spCleanup: (() => void) | null = null;
|
|
1227
1256
|
if (isPersistent) {
|
|
1228
1257
|
session = loadSession(memoryDir, senderSessionKey);
|
|
1229
1258
|
if (session) {
|
|
@@ -1235,7 +1264,9 @@ Rules:
|
|
|
1235
1264
|
const newId = randomUUID();
|
|
1236
1265
|
session = { sessionId: newId, createdAt: new Date().toISOString(), messageCount: 0 };
|
|
1237
1266
|
args.push("--session-id", newId);
|
|
1238
|
-
|
|
1267
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1268
|
+
args.push(...spArgs.args);
|
|
1269
|
+
spCleanup = spArgs.cleanup;
|
|
1239
1270
|
log.info(`Starting new session ${newId} for ${agentId}`);
|
|
1240
1271
|
}
|
|
1241
1272
|
|
|
@@ -1243,7 +1274,9 @@ Rules:
|
|
|
1243
1274
|
args.push("--output-format", "json");
|
|
1244
1275
|
} else {
|
|
1245
1276
|
// Non-persistent: always pass system prompt, text output
|
|
1246
|
-
|
|
1277
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1278
|
+
args.push(...spArgs.args);
|
|
1279
|
+
spCleanup = spArgs.cleanup;
|
|
1247
1280
|
args.push("--output-format", "text");
|
|
1248
1281
|
}
|
|
1249
1282
|
|
|
@@ -1382,15 +1415,18 @@ Rules:
|
|
|
1382
1415
|
if (args[i] === "--resume") { i++; continue; } // skip --resume and its value
|
|
1383
1416
|
cleanArgs.push(args[i]);
|
|
1384
1417
|
}
|
|
1385
|
-
|
|
1418
|
+
const retrySpArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1419
|
+
cleanArgs.push("--session-id", newId, ...retrySpArgs.args);
|
|
1386
1420
|
try {
|
|
1387
1421
|
rawOutput = await spawnClaude(cleanArgs, workspace, timeout, stdinPayload, claudeConfigDir);
|
|
1388
1422
|
saveSession(memoryDir, session, senderSessionKey);
|
|
1389
1423
|
log.info(`Fresh session ${newId} created for ${agentId}`);
|
|
1390
1424
|
} catch (retryErr) {
|
|
1391
1425
|
log.error(`Agent ${agentId} execution failed on retry: ${retryErr}`);
|
|
1426
|
+
if (retrySpArgs.cleanup) retrySpArgs.cleanup();
|
|
1392
1427
|
return `Sorry, I ran into an error processing that request.`;
|
|
1393
1428
|
}
|
|
1429
|
+
if (retrySpArgs.cleanup) retrySpArgs.cleanup();
|
|
1394
1430
|
} else {
|
|
1395
1431
|
log.error(`Agent ${agentId} execution failed: ${err}`);
|
|
1396
1432
|
return `Sorry, I ran into an error processing that request.`;
|
|
@@ -1399,6 +1435,7 @@ Rules:
|
|
|
1399
1435
|
if (mcpConfigPath) {
|
|
1400
1436
|
try { unlinkSync(mcpConfigPath); } catch { /* ignore */ }
|
|
1401
1437
|
}
|
|
1438
|
+
if (spCleanup) spCleanup();
|
|
1402
1439
|
}
|
|
1403
1440
|
|
|
1404
1441
|
// ── Parse response ──
|
|
@@ -1846,6 +1883,7 @@ export async function* executeAgentStreaming(
|
|
|
1846
1883
|
if (modelOverride) args.push("--model", modelOverride);
|
|
1847
1884
|
|
|
1848
1885
|
let session: SessionState | null = null;
|
|
1886
|
+
let spCleanup: (() => void) | null = null;
|
|
1849
1887
|
const forceNewSession = (agentConfig as any).forceNewSession ?? false;
|
|
1850
1888
|
if (isPersistent) {
|
|
1851
1889
|
session = forceNewSession ? null : loadSession(memoryDir, senderSessionKey);
|
|
@@ -1855,10 +1893,14 @@ export async function* executeAgentStreaming(
|
|
|
1855
1893
|
const newId = randomUUID();
|
|
1856
1894
|
session = { sessionId: newId, createdAt: new Date().toISOString(), messageCount: 0 };
|
|
1857
1895
|
args.push("--session-id", newId);
|
|
1858
|
-
|
|
1896
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1897
|
+
args.push(...spArgs.args);
|
|
1898
|
+
spCleanup = spArgs.cleanup;
|
|
1859
1899
|
}
|
|
1860
1900
|
} else {
|
|
1861
|
-
|
|
1901
|
+
const spArgs = buildSystemPromptArgs(systemPrompt, agentId);
|
|
1902
|
+
args.push(...spArgs.args);
|
|
1903
|
+
spCleanup = spArgs.cleanup;
|
|
1862
1904
|
}
|
|
1863
1905
|
|
|
1864
1906
|
// Key difference: stream-json output (requires --verbose)
|
|
@@ -2134,10 +2176,11 @@ export async function* executeAgentStreaming(
|
|
|
2134
2176
|
}
|
|
2135
2177
|
}
|
|
2136
2178
|
|
|
2137
|
-
// Clean up MCP config
|
|
2179
|
+
// Clean up MCP config and temp system prompt dir
|
|
2138
2180
|
if (mcpConfigPath) {
|
|
2139
2181
|
try { unlinkSync(mcpConfigPath); } catch { /* ignore */ }
|
|
2140
2182
|
}
|
|
2183
|
+
if (spCleanup) spCleanup();
|
|
2141
2184
|
|
|
2142
2185
|
if (exitCode !== 0 && !fullResponse) {
|
|
2143
2186
|
log.error(`Agent ${agentId} exited with code ${exitCode}. stderr: ${stderrBuf.slice(0, 1000)} stdout: ${rawStdout.slice(0, 500)}`);
|