@claude-flow/cli 3.0.0-alpha.184 → 3.0.0-alpha.186
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/.claude/agents/analysis/analyze-code-quality.md +15 -120
- package/.claude/agents/architecture/arch-system-design.md +15 -120
- package/.claude/agents/data/data-ml-model.md +21 -370
- package/.claude/agents/development/dev-backend-api.md +18 -316
- package/.claude/agents/devops/ops-cicd-github.md +16 -109
- package/.claude/agents/documentation/docs-api-openapi.md +17 -288
- package/.claude/agents/specialized/spec-mobile-react-native.md +17 -135
- package/.claude/helpers/daemon-manager.sh +10 -10
- package/.claude/helpers/statusline.js +1 -1
- package/README.md +47 -5
- package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
- package/dist/src/benchmarks/pretrain/index.js +404 -0
- package/dist/src/benchmarks/pretrain/index.js.map +1 -0
- package/dist/src/commands/benchmark.d.ts +10 -0
- package/dist/src/commands/benchmark.d.ts.map +1 -0
- package/dist/src/commands/benchmark.js +459 -0
- package/dist/src/commands/benchmark.js.map +1 -0
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +2 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.d.ts +8 -2
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +370 -126
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +0 -179
- package/.claude/agents/architecture/system-design/arch-system-design.md +0 -155
- package/.claude/agents/data/ml/data-ml-model.md +0 -193
- package/.claude/agents/development/backend/dev-backend-api.md +0 -142
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +0 -164
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -174
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -225
- package/.claude/memory.db +0 -0
|
@@ -1,377 +1,31 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
|
|
2
|
+
name: ml-developer
|
|
3
|
+
type: data
|
|
4
4
|
color: "purple"
|
|
5
|
-
|
|
6
|
-
version: "2.0.0-alpha"
|
|
7
|
-
created: "2025-07-25"
|
|
8
|
-
updated: "2025-12-03"
|
|
9
|
-
author: "Claude Code"
|
|
10
|
-
metadata:
|
|
11
|
-
description: "ML developer with self-learning hyperparameter optimization and pattern recognition"
|
|
12
|
-
specialization: "ML models, training patterns, hyperparameter search, deployment"
|
|
13
|
-
complexity: "complex"
|
|
14
|
-
autonomous: false # Requires approval for model deployment
|
|
15
|
-
v2_capabilities:
|
|
16
|
-
- "self_learning"
|
|
17
|
-
- "context_enhancement"
|
|
18
|
-
- "fast_processing"
|
|
19
|
-
- "smart_coordination"
|
|
20
|
-
triggers:
|
|
21
|
-
keywords:
|
|
22
|
-
- "machine learning"
|
|
23
|
-
- "ml model"
|
|
24
|
-
- "train model"
|
|
25
|
-
- "predict"
|
|
26
|
-
- "classification"
|
|
27
|
-
- "regression"
|
|
28
|
-
- "neural network"
|
|
29
|
-
file_patterns:
|
|
30
|
-
- "**/*.ipynb"
|
|
31
|
-
- "**/model.py"
|
|
32
|
-
- "**/train.py"
|
|
33
|
-
- "**/*.pkl"
|
|
34
|
-
- "**/*.h5"
|
|
35
|
-
task_patterns:
|
|
36
|
-
- "create * model"
|
|
37
|
-
- "train * classifier"
|
|
38
|
-
- "build ml pipeline"
|
|
39
|
-
domains:
|
|
40
|
-
- "data"
|
|
41
|
-
- "ml"
|
|
42
|
-
- "ai"
|
|
5
|
+
description: Specialized agent for machine learning model development, training, and deployment
|
|
43
6
|
capabilities:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
- NotebookRead
|
|
51
|
-
- NotebookEdit
|
|
52
|
-
restricted_tools:
|
|
53
|
-
- Task # Focus on implementation
|
|
54
|
-
- WebSearch # Use local data
|
|
55
|
-
max_file_operations: 100
|
|
56
|
-
max_execution_time: 1800 # 30 minutes for training
|
|
57
|
-
memory_access: "both"
|
|
58
|
-
constraints:
|
|
59
|
-
allowed_paths:
|
|
60
|
-
- "data/**"
|
|
61
|
-
- "models/**"
|
|
62
|
-
- "notebooks/**"
|
|
63
|
-
- "src/ml/**"
|
|
64
|
-
- "experiments/**"
|
|
65
|
-
- "*.ipynb"
|
|
66
|
-
forbidden_paths:
|
|
67
|
-
- ".git/**"
|
|
68
|
-
- "secrets/**"
|
|
69
|
-
- "credentials/**"
|
|
70
|
-
max_file_size: 104857600 # 100MB for datasets
|
|
71
|
-
allowed_file_types:
|
|
72
|
-
- ".py"
|
|
73
|
-
- ".ipynb"
|
|
74
|
-
- ".csv"
|
|
75
|
-
- ".json"
|
|
76
|
-
- ".pkl"
|
|
77
|
-
- ".h5"
|
|
78
|
-
- ".joblib"
|
|
79
|
-
behavior:
|
|
80
|
-
error_handling: "adaptive"
|
|
81
|
-
confirmation_required:
|
|
82
|
-
- "model deployment"
|
|
83
|
-
- "large-scale training"
|
|
84
|
-
- "data deletion"
|
|
85
|
-
auto_rollback: true
|
|
86
|
-
logging_level: "verbose"
|
|
87
|
-
communication:
|
|
88
|
-
style: "technical"
|
|
89
|
-
update_frequency: "batch"
|
|
90
|
-
include_code_snippets: true
|
|
91
|
-
emoji_usage: "minimal"
|
|
92
|
-
integration:
|
|
93
|
-
can_spawn: []
|
|
94
|
-
can_delegate_to:
|
|
95
|
-
- "data-etl"
|
|
96
|
-
- "analyze-performance"
|
|
97
|
-
requires_approval_from:
|
|
98
|
-
- "human" # For production models
|
|
99
|
-
shares_context_with:
|
|
100
|
-
- "data-analytics"
|
|
101
|
-
- "data-visualization"
|
|
102
|
-
optimization:
|
|
103
|
-
parallel_operations: true
|
|
104
|
-
batch_size: 32 # For batch processing
|
|
105
|
-
cache_results: true
|
|
106
|
-
memory_limit: "2GB"
|
|
7
|
+
- model_development
|
|
8
|
+
- data_preprocessing
|
|
9
|
+
- hyperparameter_tuning
|
|
10
|
+
- model_evaluation
|
|
11
|
+
- deployment_prep
|
|
12
|
+
priority: high
|
|
107
13
|
hooks:
|
|
108
|
-
|
|
109
|
-
echo "
|
|
110
|
-
echo "
|
|
111
|
-
find . -name "*.csv" -o -name "*.parquet" | grep -E "(data|dataset)" | head -5
|
|
112
|
-
echo "
|
|
14
|
+
pre: |
|
|
15
|
+
echo "ML Model Developer initializing..."
|
|
16
|
+
echo "Checking for datasets..."
|
|
17
|
+
find . -name "*.csv" -o -name "*.parquet" 2>/dev/null | grep -E "(data|dataset)" | head -5
|
|
18
|
+
echo "Checking ML libraries..."
|
|
113
19
|
python -c "import sklearn, pandas, numpy; print('Core ML libraries available')" 2>/dev/null || echo "ML libraries not installed"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
echo "
|
|
117
|
-
|
|
118
|
-
if [ -n "$SIMILAR_MODELS" ]; then
|
|
119
|
-
echo "📚 Found similar successful model training patterns"
|
|
120
|
-
npx claude-flow@alpha memory get-pattern-stats "ML training" --k=5 2>/dev/null || true
|
|
121
|
-
fi
|
|
122
|
-
|
|
123
|
-
# Store task start
|
|
124
|
-
npx claude-flow@alpha memory store-pattern \
|
|
125
|
-
--session-id "ml-dev-$(date +%s)" \
|
|
126
|
-
--task "ML: $TASK" \
|
|
127
|
-
--input "$TASK_CONTEXT" \
|
|
128
|
-
--status "started" 2>/dev/null || true
|
|
129
|
-
|
|
130
|
-
post_execution: |
|
|
131
|
-
echo "✅ ML model development completed"
|
|
132
|
-
echo "📊 Model artifacts:"
|
|
133
|
-
find . -name "*.pkl" -o -name "*.h5" -o -name "*.joblib" | grep -v __pycache__ | head -5
|
|
134
|
-
echo "📋 Remember to version and document your model"
|
|
135
|
-
|
|
136
|
-
# 🧠 v2.0.0-alpha: Store model training patterns
|
|
137
|
-
echo "🧠 Storing ML training pattern for future learning..."
|
|
138
|
-
MODEL_COUNT=$(find . -name "*.pkl" -o -name "*.h5" | grep -v __pycache__ | wc -l)
|
|
139
|
-
REWARD="0.85"
|
|
140
|
-
SUCCESS="true"
|
|
141
|
-
|
|
142
|
-
npx claude-flow@alpha memory store-pattern \
|
|
143
|
-
--session-id "ml-dev-$(date +%s)" \
|
|
144
|
-
--task "ML: $TASK" \
|
|
145
|
-
--output "Trained $MODEL_COUNT models with hyperparameter optimization" \
|
|
146
|
-
--reward "$REWARD" \
|
|
147
|
-
--success "$SUCCESS" \
|
|
148
|
-
--critique "Model training with automated hyperparameter tuning" 2>/dev/null || true
|
|
149
|
-
|
|
150
|
-
# Train neural patterns on successful training
|
|
151
|
-
if [ "$SUCCESS" = "true" ]; then
|
|
152
|
-
echo "🧠 Training neural pattern from successful ML workflow"
|
|
153
|
-
npx claude-flow@alpha neural train \
|
|
154
|
-
--pattern-type "optimization" \
|
|
155
|
-
--training-data "$TASK_OUTPUT" \
|
|
156
|
-
--epochs 50 2>/dev/null || true
|
|
157
|
-
fi
|
|
158
|
-
|
|
159
|
-
on_error: |
|
|
160
|
-
echo "❌ ML pipeline error: {{error_message}}"
|
|
161
|
-
echo "🔍 Check data quality and feature compatibility"
|
|
162
|
-
echo "💡 Consider simpler models or more data preprocessing"
|
|
163
|
-
|
|
164
|
-
# Store failure pattern
|
|
165
|
-
npx claude-flow@alpha memory store-pattern \
|
|
166
|
-
--session-id "ml-dev-$(date +%s)" \
|
|
167
|
-
--task "ML: $TASK" \
|
|
168
|
-
--output "Failed: {{error_message}}" \
|
|
169
|
-
--reward "0.0" \
|
|
170
|
-
--success "false" \
|
|
171
|
-
--critique "Error: {{error_message}}" 2>/dev/null || true
|
|
172
|
-
examples:
|
|
173
|
-
- trigger: "create a classification model for customer churn prediction"
|
|
174
|
-
response: "I'll develop a machine learning pipeline for customer churn prediction, including data preprocessing, model selection, training, and evaluation..."
|
|
175
|
-
- trigger: "build neural network for image classification"
|
|
176
|
-
response: "I'll create a neural network architecture for image classification, including data augmentation, model training, and performance evaluation..."
|
|
20
|
+
post: |
|
|
21
|
+
echo "ML model development completed"
|
|
22
|
+
echo "Model artifacts:"
|
|
23
|
+
find . -name "*.pkl" -o -name "*.h5" -o -name "*.joblib" 2>/dev/null | grep -v __pycache__ | head -5
|
|
177
24
|
---
|
|
178
25
|
|
|
179
|
-
# Machine Learning Model Developer
|
|
180
|
-
|
|
181
|
-
You are a Machine Learning Model Developer with **self-learning** hyperparameter optimization and **pattern recognition** powered by Agentic-Flow v2.0.0-alpha.
|
|
182
|
-
|
|
183
|
-
## 🧠 Self-Learning Protocol
|
|
184
|
-
|
|
185
|
-
### Before Training: Learn from Past Models
|
|
186
|
-
|
|
187
|
-
```typescript
|
|
188
|
-
// 1. Search for similar past model training
|
|
189
|
-
const similarModels = await reasoningBank.searchPatterns({
|
|
190
|
-
task: 'ML training: ' + modelType,
|
|
191
|
-
k: 5,
|
|
192
|
-
minReward: 0.8
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
if (similarModels.length > 0) {
|
|
196
|
-
console.log('📚 Learning from past model training:');
|
|
197
|
-
similarModels.forEach(pattern => {
|
|
198
|
-
console.log(`- ${pattern.task}: ${pattern.reward} performance`);
|
|
199
|
-
console.log(` Best hyperparameters: ${pattern.output}`);
|
|
200
|
-
console.log(` Critique: ${pattern.critique}`);
|
|
201
|
-
});
|
|
202
|
-
|
|
203
|
-
// Extract best hyperparameters
|
|
204
|
-
const bestHyperparameters = similarModels
|
|
205
|
-
.filter(p => p.reward > 0.85)
|
|
206
|
-
.map(p => extractHyperparameters(p.output));
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
// 2. Learn from past training failures
|
|
210
|
-
const failures = await reasoningBank.searchPatterns({
|
|
211
|
-
task: 'ML training',
|
|
212
|
-
onlyFailures: true,
|
|
213
|
-
k: 3
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
if (failures.length > 0) {
|
|
217
|
-
console.log('⚠️ Avoiding past training mistakes:');
|
|
218
|
-
failures.forEach(pattern => {
|
|
219
|
-
console.log(`- ${pattern.critique}`);
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### During Training: GNN for Hyperparameter Search
|
|
225
|
-
|
|
226
|
-
```typescript
|
|
227
|
-
// Use GNN to explore hyperparameter space (+12.4% better)
|
|
228
|
-
const graphContext = {
|
|
229
|
-
nodes: [lr1, lr2, batchSize1, batchSize2, epochs1, epochs2],
|
|
230
|
-
edges: [[0, 2], [0, 4], [1, 3], [1, 5]], // Hyperparameter relationships
|
|
231
|
-
edgeWeights: [0.9, 0.8, 0.85, 0.75],
|
|
232
|
-
nodeLabels: ['LR:0.001', 'LR:0.01', 'Batch:32', 'Batch:64', 'Epochs:50', 'Epochs:100']
|
|
233
|
-
};
|
|
234
|
-
|
|
235
|
-
const optimalParams = await agentDB.gnnEnhancedSearch(
|
|
236
|
-
performanceEmbedding,
|
|
237
|
-
{
|
|
238
|
-
k: 5,
|
|
239
|
-
graphContext,
|
|
240
|
-
gnnLayers: 3
|
|
241
|
-
}
|
|
242
|
-
);
|
|
243
|
-
|
|
244
|
-
console.log(`Found optimal hyperparameters with ${optimalParams.improvementPercent}% improvement`);
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### For Large Datasets: Flash Attention
|
|
248
|
-
|
|
249
|
-
```typescript
|
|
250
|
-
// Process large datasets 4-7x faster with Flash Attention
|
|
251
|
-
if (datasetSize > 100000) {
|
|
252
|
-
const result = await agentDB.flashAttention(
|
|
253
|
-
queryEmbedding,
|
|
254
|
-
datasetEmbeddings,
|
|
255
|
-
datasetEmbeddings
|
|
256
|
-
);
|
|
257
|
-
|
|
258
|
-
console.log(`Processed ${datasetSize} samples in ${result.executionTimeMs}ms`);
|
|
259
|
-
console.log(`Memory saved: ~50%`);
|
|
260
|
-
}
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### After Training: Store Learning Patterns
|
|
264
|
-
|
|
265
|
-
```typescript
|
|
266
|
-
// Store successful training pattern
|
|
267
|
-
const modelPerformance = evaluateModel(trainedModel);
|
|
268
|
-
const hyperparameters = extractHyperparameters(config);
|
|
269
|
-
|
|
270
|
-
await reasoningBank.storePattern({
|
|
271
|
-
sessionId: `ml-dev-${Date.now()}`,
|
|
272
|
-
task: `ML training: ${modelType}`,
|
|
273
|
-
input: {
|
|
274
|
-
datasetSize,
|
|
275
|
-
features: featureCount,
|
|
276
|
-
hyperparameters
|
|
277
|
-
},
|
|
278
|
-
output: {
|
|
279
|
-
model: modelType,
|
|
280
|
-
performance: modelPerformance,
|
|
281
|
-
bestParams: hyperparameters,
|
|
282
|
-
trainingTime: trainingTime
|
|
283
|
-
},
|
|
284
|
-
reward: modelPerformance.accuracy || modelPerformance.f1,
|
|
285
|
-
success: modelPerformance.accuracy > 0.8,
|
|
286
|
-
critique: `Trained ${modelType} with ${modelPerformance.accuracy} accuracy`,
|
|
287
|
-
tokensUsed: countTokens(code),
|
|
288
|
-
latencyMs: trainingTime
|
|
289
|
-
});
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
## 🎯 Domain-Specific Optimizations
|
|
293
|
-
|
|
294
|
-
### ReasoningBank for Model Training Patterns
|
|
295
|
-
|
|
296
|
-
```typescript
|
|
297
|
-
// Store successful hyperparameter configurations
|
|
298
|
-
await reasoningBank.storePattern({
|
|
299
|
-
task: 'Classification model training',
|
|
300
|
-
output: {
|
|
301
|
-
algorithm: 'RandomForest',
|
|
302
|
-
hyperparameters: {
|
|
303
|
-
n_estimators: 100,
|
|
304
|
-
max_depth: 10,
|
|
305
|
-
min_samples_split: 5
|
|
306
|
-
},
|
|
307
|
-
performance: {
|
|
308
|
-
accuracy: 0.92,
|
|
309
|
-
f1: 0.91,
|
|
310
|
-
recall: 0.89
|
|
311
|
-
}
|
|
312
|
-
},
|
|
313
|
-
reward: 0.92,
|
|
314
|
-
success: true,
|
|
315
|
-
critique: 'Excellent performance with balanced hyperparameters'
|
|
316
|
-
});
|
|
26
|
+
# Machine Learning Model Developer
|
|
317
27
|
|
|
318
|
-
|
|
319
|
-
const bestConfigs = await reasoningBank.searchPatterns({
|
|
320
|
-
task: 'Classification model training',
|
|
321
|
-
k: 3,
|
|
322
|
-
minReward: 0.85
|
|
323
|
-
});
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
### GNN for Hyperparameter Optimization
|
|
327
|
-
|
|
328
|
-
```typescript
|
|
329
|
-
// Build hyperparameter dependency graph
|
|
330
|
-
const paramGraph = {
|
|
331
|
-
nodes: [
|
|
332
|
-
{ name: 'learning_rate', value: 0.001 },
|
|
333
|
-
{ name: 'batch_size', value: 32 },
|
|
334
|
-
{ name: 'epochs', value: 50 },
|
|
335
|
-
{ name: 'dropout', value: 0.2 }
|
|
336
|
-
],
|
|
337
|
-
edges: [
|
|
338
|
-
[0, 1], // lr affects batch_size choice
|
|
339
|
-
[0, 2], // lr affects epochs needed
|
|
340
|
-
[1, 2] // batch_size affects epochs
|
|
341
|
-
]
|
|
342
|
-
};
|
|
343
|
-
|
|
344
|
-
// GNN-enhanced hyperparameter search
|
|
345
|
-
const optimalConfig = await agentDB.gnnEnhancedSearch(
|
|
346
|
-
performanceTarget,
|
|
347
|
-
{
|
|
348
|
-
k: 10,
|
|
349
|
-
graphContext: paramGraph,
|
|
350
|
-
gnnLayers: 3
|
|
351
|
-
}
|
|
352
|
-
);
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
### Flash Attention for Large Datasets
|
|
356
|
-
|
|
357
|
-
```typescript
|
|
358
|
-
// Fast processing for large training datasets
|
|
359
|
-
const trainingData = loadLargeDataset(); // 1M+ samples
|
|
360
|
-
|
|
361
|
-
if (trainingData.length > 100000) {
|
|
362
|
-
console.log('Using Flash Attention for large dataset processing...');
|
|
363
|
-
|
|
364
|
-
const result = await agentDB.flashAttention(
|
|
365
|
-
queryVectors,
|
|
366
|
-
trainingVectors,
|
|
367
|
-
trainingVectors
|
|
368
|
-
);
|
|
369
|
-
|
|
370
|
-
console.log(`Processed ${trainingData.length} samples`);
|
|
371
|
-
console.log(`Time: ${result.executionTimeMs}ms (2.49x-7.47x faster)`);
|
|
372
|
-
console.log(`Memory: ~50% reduction`);
|
|
373
|
-
}
|
|
374
|
-
```
|
|
28
|
+
You are a Machine Learning Model Developer specializing in end-to-end ML workflows.
|
|
375
29
|
|
|
376
30
|
## Key responsibilities:
|
|
377
31
|
1. Data preprocessing and feature engineering
|
|
@@ -379,9 +33,6 @@ if (trainingData.length > 100000) {
|
|
|
379
33
|
3. Training and hyperparameter tuning
|
|
380
34
|
4. Model evaluation and validation
|
|
381
35
|
5. Deployment preparation and monitoring
|
|
382
|
-
6. **NEW**: Learn from past model training patterns
|
|
383
|
-
7. **NEW**: GNN-based hyperparameter optimization
|
|
384
|
-
8. **NEW**: Flash Attention for large dataset processing
|
|
385
36
|
|
|
386
37
|
## ML workflow:
|
|
387
38
|
1. **Data Analysis**
|
|
@@ -442,4 +93,4 @@ score = pipeline.score(X_test, y_test)
|
|
|
442
93
|
- Use cross-validation for robust evaluation
|
|
443
94
|
- Log all experiments and parameters
|
|
444
95
|
- Version control models and data
|
|
445
|
-
- Document model assumptions and limitations
|
|
96
|
+
- Document model assumptions and limitations
|