elsabro 3.8.2 → 4.0.0

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.
@@ -1,237 +1,68 @@
1
1
  {
2
- "$schema": "https://elsabro.dev/schemas/skill-marketplace-config.json",
3
- "version": "1.0.0",
4
- "description": "Configuracion de integracion entre ELSABRO y skills.sh marketplace",
2
+ "version": "2.0.0",
3
+ "description": "ELSABRO Skill Discovery Configuration - uses vercel-labs/skills (npx skills)",
5
4
 
6
5
  "discovery": {
7
6
  "enabled": true,
8
7
  "autoDiscover": true,
9
- "autoDiscoverTriggers": ["task_start", "context_change", "manual"],
8
+ "autoDiscoverTriggers": ["task_start", "flow_start"],
10
9
  "sources": [
11
10
  {
12
- "id": "elsabro-local",
11
+ "id": "installed-global",
13
12
  "type": "local",
14
13
  "priority": 1,
15
- "location": "${ELSABRO_HOME}/skills",
16
- "enabled": true
14
+ "location": "~/.claude/skills",
15
+ "description": "Skills globales instalados via npx skills add -g"
17
16
  },
18
17
  {
19
- "id": "elsabro-registry",
20
- "type": "remote",
18
+ "id": "elsabro-local",
19
+ "type": "local",
21
20
  "priority": 2,
22
- "url": "https://registry.elsabro.dev/skills",
23
- "enabled": true
21
+ "location": "${ELSABRO_HOME}/skills",
22
+ "description": "Skills bundled con ELSABRO"
24
23
  },
25
24
  {
26
- "id": "skills-sh",
27
- "type": "remote",
25
+ "id": "skills-registry",
26
+ "type": "cli",
28
27
  "priority": 3,
29
- "url": "https://skills.sh/api/v1",
30
- "enabled": true,
31
- "apiVersion": "v1",
32
- "requiresAuth": false
33
- },
34
- {
35
- "id": "github-skills",
36
- "type": "git",
37
- "priority": 4,
38
- "baseUrl": "https://github.com",
39
- "searchPattern": "topic:elsabro-skill",
40
- "enabled": false
28
+ "command": "npx skills find",
29
+ "description": "vercel-labs/skills registry via npx skills find",
30
+ "enabled": true
41
31
  }
42
32
  ],
43
- "timeout": 5000,
44
- "maxResults": 50,
45
- "parallelSearch": true,
46
- "deduplication": {
47
- "enabled": true,
48
- "strategy": "prefer_higher_priority"
49
- }
33
+ "timeout": 30000,
34
+ "maxResults": 10
35
+ },
36
+
37
+ "installation": {
38
+ "method": "npx-skills",
39
+ "commands": {
40
+ "find": "npx skills find <query>",
41
+ "add": "npx skills add -g <name>",
42
+ "remove": "npx skills remove <name>",
43
+ "list": "npx skills list",
44
+ "check": "npx skills check",
45
+ "update": "npx skills update <name>"
46
+ },
47
+ "globalInstall": true,
48
+ "installLocation": "~/.claude/skills",
49
+ "requireUserConfirmation": true
50
50
  },
51
51
 
52
52
  "scoring": {
53
- "enabled": true,
54
53
  "algorithm": "weighted_sum",
55
54
  "weights": {
56
- "keywordMatch": 30,
57
- "categoryMatch": 20,
58
- "contextMatch": 20,
59
- "popularityScore": 10,
60
- "recencyScore": 10,
61
- "userHistoryScore": 10
62
- },
63
- "thresholds": {
64
- "minimum": 30,
65
- "suggested": 60,
66
- "autoInstall": 85,
67
- "perfect": 95
68
- },
69
- "boosts": {
70
- "exactMatch": 1.5,
71
- "officialSkill": 1.3,
72
- "verifiedAuthor": 1.2,
73
- "recentlyUpdated": 1.1,
74
- "highDownloads": 1.1
75
- },
76
- "penalties": {
77
- "deprecated": 0.5,
78
- "unmaintained": 0.7,
79
- "lowRating": 0.8,
80
- "securityIssues": 0.3
81
- },
82
- "contextFactors": {
83
- "projectType": true,
84
- "techStack": true,
85
- "currentTask": true,
86
- "userPreferences": true,
87
- "teamPreferences": true
88
- }
89
- },
90
-
91
- "installation": {
92
- "autoInstall": false,
93
- "autoInstallThreshold": 85,
94
- "autoUpdate": false,
95
- "autoUpdateSchedule": "weekly",
96
- "verifyHash": true,
97
- "hashAlgorithm": "sha256",
98
- "allowDowngrade": false,
99
- "backupBeforeUpdate": true,
100
- "maxBackupsPerSkill": 3,
101
- "installLocation": "${ELSABRO_HOME}/skills/installed",
102
- "tempLocation": "${ELSABRO_HOME}/skills/.tmp",
103
- "lockFile": "${ELSABRO_HOME}/skills/skills.lock",
104
- "hooks": {
105
- "preInstall": [],
106
- "postInstall": ["validate", "index"],
107
- "preUpdate": ["backup"],
108
- "postUpdate": ["validate", "migrate", "index"],
109
- "preUninstall": ["backup"],
110
- "postUninstall": ["cleanup"]
111
- },
112
- "permissions": {
113
- "requireExplicitApproval": ["filesystem", "network", "execute"],
114
- "autoApprove": ["read_only", "context_access"],
115
- "deny": ["system_modify", "credential_access"]
55
+ "keywordMatch": 100,
56
+ "sourceElsabro": 20,
57
+ "sourceRegistry": 10
116
58
  },
117
- "validation": {
118
- "checkManifest": true,
119
- "checkDependencies": true,
120
- "runTests": false,
121
- "securityScan": true
122
- }
59
+ "maxResults": 10
123
60
  },
124
61
 
125
62
  "cache": {
126
63
  "enabled": true,
127
- "ttl": {
128
- "searchResults": 300000,
129
- "versionChecks": 3600000,
130
- "skillListings": 86400000,
131
- "skillMetadata": 604800000,
132
- "popularityData": 43200000
133
- },
134
- "maxSize": "100MB",
135
- "maxEntries": 10000,
136
- "persistToDisk": true,
137
- "location": "${ELSABRO_HOME}/cache/skills",
138
- "compression": {
139
- "enabled": true,
140
- "algorithm": "gzip",
141
- "threshold": 1024
142
- },
143
- "eviction": {
144
- "strategy": "lru",
145
- "cleanupInterval": 3600000,
146
- "maxAge": 604800000
147
- },
148
- "warmup": {
149
- "enabled": true,
150
- "onStartup": true,
151
- "preloadPopular": true,
152
- "preloadCount": 20
153
- }
154
- },
155
-
156
- "fallback": {
157
- "enabled": true,
158
- "priorityOrder": ["elsabro-local", "elsabro-registry", "skills-sh", "github-skills"],
159
- "offlineModeThreshold": 3,
160
- "offlineModeEnabled": true,
161
- "retryAttempts": 3,
162
- "retryDelay": 1000,
163
- "retryBackoff": "exponential",
164
- "retryMaxDelay": 30000,
165
- "circuitBreaker": {
166
- "enabled": true,
167
- "failureThreshold": 5,
168
- "resetTimeout": 60000,
169
- "halfOpenRequests": 3
170
- },
171
- "degradedMode": {
172
- "enabled": true,
173
- "features": ["local_only", "cached_results", "reduced_scoring"]
174
- }
175
- },
176
-
177
- "registry": {
178
- "location": "${ELSABRO_HOME}/registry/skills.json",
179
- "format": "json",
180
- "backupEnabled": true,
181
- "backupLocation": "${ELSABRO_HOME}/registry/backups",
182
- "maxBackups": 10,
183
- "backupSchedule": "on_change",
184
- "indexing": {
185
- "enabled": true,
186
- "location": "${ELSABRO_HOME}/registry/index",
187
- "rebuildOnStartup": false,
188
- "rebuildThreshold": 100
189
- },
190
- "sync": {
191
- "enabled": true,
192
- "interval": 86400000,
193
- "syncOnStartup": true,
194
- "conflictResolution": "remote_wins"
195
- },
196
- "integrity": {
197
- "checkOnStartup": true,
198
- "autoRepair": true,
199
- "checksumFile": "${ELSABRO_HOME}/registry/checksum.sha256"
200
- }
201
- },
202
-
203
- "display": {
204
- "showDiscoveredSkills": true,
205
- "showScores": true,
206
- "showSources": true,
207
- "showVersionInfo": true,
208
- "showAuthorInfo": true,
209
- "showDownloadCount": true,
210
- "showLastUpdated": true,
211
- "maxDisplayed": 10,
212
- "verboseMode": false,
213
- "groupBy": "category",
214
- "sortBy": "score",
215
- "sortOrder": "desc",
216
- "highlighting": {
217
- "enabled": true,
218
- "matchedKeywords": true,
219
- "newSkills": true,
220
- "updatesAvailable": true
221
- },
222
- "formatting": {
223
- "useColors": true,
224
- "useIcons": true,
225
- "compactMode": false,
226
- "showDescriptions": true,
227
- "maxDescriptionLength": 100
228
- },
229
- "notifications": {
230
- "newSkillsAvailable": true,
231
- "updatesAvailable": true,
232
- "deprecationWarnings": true,
233
- "securityAlerts": true
234
- }
64
+ "ttl": 3600,
65
+ "location": "${ELSABRO_HOME}/.cache/skill-discovery-cache.json"
235
66
  },
236
67
 
237
68
  "keywordMappings": {
@@ -253,13 +84,10 @@
253
84
  "backend": ["server", "services", "microservices", "architecture"],
254
85
  "mobile": ["ios", "android", "react-native", "flutter"],
255
86
  "devops": ["infrastructure", "automation", "configuration", "provisioning"],
256
- "data": ["analytics", "processing", "pipelines", "etl", "warehousing"],
257
- "ml": ["machine-learning", "ai", "models", "training", "inference"],
258
- "review": ["code-review", "pull-request", "feedback", "approval"],
259
- "scaffold": ["scaffolding", "boilerplate", "templates", "generators"],
260
- "migrate": ["migration", "upgrade", "conversion", "transformation"],
261
- "backup": ["backup", "restore", "disaster-recovery", "snapshots"],
262
- "config": ["configuration", "settings", "environment", "secrets"]
87
+ "data": ["analytics", "processing", "pipelines", "etl"],
88
+ "ml": ["machine-learning", "ai", "models", "training"],
89
+ "review": ["code-review", "pull-request", "feedback"],
90
+ "scaffold": ["scaffolding", "boilerplate", "templates", "generators"]
263
91
  },
264
92
 
265
93
  "categoryMappings": {
@@ -268,174 +96,45 @@
268
96
  "aliases": ["api", "apis", "endpoints", "services"]
269
97
  },
270
98
  "authentication": {
271
- "skills": ["oauth2-setup", "jwt-handler", "session-manager", "mfa-integration"],
99
+ "skills": ["oauth2-setup", "jwt-handler", "session-manager"],
272
100
  "aliases": ["auth", "login", "security", "identity"]
273
101
  },
274
102
  "database": {
275
- "skills": ["sql-optimizer", "migration-manager", "orm-helper", "query-builder"],
103
+ "skills": ["sql-optimizer", "migration-manager", "orm-helper"],
276
104
  "aliases": ["db", "data", "storage", "persistence"]
277
105
  },
278
106
  "deployment": {
279
- "skills": ["docker-deploy", "k8s-deploy", "serverless-deploy", "cloud-deploy"],
107
+ "skills": ["docker-deploy", "k8s-deploy", "serverless-deploy"],
280
108
  "aliases": ["deploy", "release", "publish", "ship"]
281
109
  },
282
110
  "testing": {
283
- "skills": ["unit-test-generator", "integration-tester", "e2e-runner", "test-coverage"],
111
+ "skills": ["unit-test-generator", "integration-tester", "e2e-runner"],
284
112
  "aliases": ["test", "tests", "qa", "quality"]
285
113
  },
286
- "documentation": {
287
- "skills": ["readme-generator", "api-docs", "changelog-writer", "wiki-builder"],
288
- "aliases": ["docs", "doc", "readme", "wiki"]
289
- },
290
114
  "code-quality": {
291
- "skills": ["linter-config", "formatter-setup", "complexity-analyzer", "code-reviewer"],
115
+ "skills": ["linter-config", "formatter-setup", "code-reviewer"],
292
116
  "aliases": ["lint", "format", "quality", "standards"]
293
117
  },
294
- "version-control": {
295
- "skills": ["git-workflow", "branch-manager", "merge-helper", "commit-formatter"],
296
- "aliases": ["git", "vcs", "source-control", "commits"]
297
- },
298
- "ci-cd": {
299
- "skills": ["github-actions", "gitlab-ci", "jenkins-pipeline", "circleci-config"],
300
- "aliases": ["ci", "cd", "pipeline", "automation"]
301
- },
302
- "security": {
303
- "skills": ["vulnerability-scanner", "dependency-audit", "secrets-manager", "compliance-checker"],
304
- "aliases": ["sec", "secure", "audit", "vulnerabilities"]
305
- },
306
- "monitoring": {
307
- "skills": ["metrics-collector", "log-aggregator", "alert-manager", "dashboard-builder"],
308
- "aliases": ["monitor", "observability", "logs", "metrics"]
309
- },
310
- "performance": {
311
- "skills": ["profiler", "benchmark-runner", "cache-optimizer", "load-tester"],
312
- "aliases": ["perf", "speed", "optimize", "fast"]
313
- },
314
118
  "frontend": {
315
- "skills": ["component-generator", "style-manager", "a11y-checker", "responsive-helper"],
119
+ "skills": ["component-generator", "style-manager", "a11y-checker"],
316
120
  "aliases": ["ui", "ux", "web", "client"]
317
121
  },
318
122
  "backend": {
319
- "skills": ["service-scaffold", "api-gateway", "middleware-builder", "task-queue"],
123
+ "skills": ["service-scaffold", "api-gateway", "middleware-builder"],
320
124
  "aliases": ["server", "service", "microservice", "api"]
321
- },
322
- "infrastructure": {
323
- "skills": ["terraform-helper", "ansible-config", "cloudformation-builder", "pulumi-stack"],
324
- "aliases": ["infra", "iac", "cloud", "provisioning"]
325
- },
326
- "containerization": {
327
- "skills": ["dockerfile-generator", "compose-builder", "k8s-manifest", "helm-chart"],
328
- "aliases": ["docker", "container", "kubernetes", "k8s"]
329
125
  }
330
126
  },
331
127
 
332
128
  "integration": {
333
- "hookEnabled": true,
334
- "hooks": {
335
- "onTaskStart": {
336
- "enabled": true,
337
- "discoverSkills": true,
338
- "suggestSkills": true
339
- },
340
- "onContextChange": {
341
- "enabled": true,
342
- "reevaluateSkills": true
343
- },
344
- "onWorkflowSelect": {
345
- "enabled": true,
346
- "loadRequiredSkills": true
347
- },
348
- "onError": {
349
- "enabled": true,
350
- "suggestRecoverySkills": true
351
- }
352
- },
353
- "injectToContext": true,
354
- "contextInjection": {
355
- "activeSkills": true,
356
- "availableSkills": true,
357
- "skillCapabilities": true,
358
- "usageStats": false
359
- },
360
- "logUsage": true,
361
- "usageLogging": {
362
- "location": "${ELSABRO_HOME}/logs/skill-usage.log",
363
- "level": "info",
364
- "includeTimestamp": true,
365
- "includeContext": true,
366
- "rotateDaily": true,
367
- "maxFiles": 30
368
- },
369
- "trackMetrics": true,
370
- "metrics": {
371
- "skillUsageCount": true,
372
- "skillSuccessRate": true,
373
- "discoveryLatency": true,
374
- "installationTime": true,
375
- "userSatisfaction": true,
376
- "exportFormat": "prometheus",
377
- "exportEndpoint": "/metrics/skills"
378
- },
379
- "elsabroSync": {
380
- "syncWorkflows": true,
381
- "syncPersonas": true,
382
- "syncPreferences": true,
383
- "syncInterval": 300000
384
- }
385
- },
386
-
387
- "skillsShIntegration": {
388
- "enabled": true,
389
- "apiEndpoint": "https://skills.sh/api/v1",
390
- "authMethod": "none",
391
- "authToken": "${SKILLS_SH_TOKEN}",
392
- "features": {
393
- "search": true,
394
- "install": true,
395
- "publish": false,
396
- "ratings": true,
397
- "comments": false
398
- },
399
- "compatibility": {
400
- "minVersion": "1.0.0",
401
- "maxVersion": "2.x",
402
- "adaptManifest": true,
403
- "translateCommands": true
129
+ "flowEngine": {
130
+ "enabled": true,
131
+ "nodeId": "skill_discovery",
132
+ "position": "before:load_context",
133
+ "injectInto": ["state.availableSkills", "state.skillRecommendations"]
404
134
  },
405
- "mapping": {
406
- "skillFormat": "elsabro",
407
- "commandPrefix": "skill",
408
- "categoryMapping": "auto"
135
+ "hooks": {
136
+ "preFlow": "skill-discovery-pre-flow",
137
+ "hookScript": "./hooks/skill-discovery.sh"
409
138
  }
410
- },
411
-
412
- "permissions": {
413
- "skillExecution": {
414
- "sandbox": true,
415
- "maxExecutionTime": 300000,
416
- "maxMemory": "512MB",
417
- "networkAccess": "restricted",
418
- "fileSystemAccess": "project_only"
419
- },
420
- "userApproval": {
421
- "requireForInstall": true,
422
- "requireForUpdate": false,
423
- "requireForRemove": true,
424
- "requireForExecute": false
425
- },
426
- "trustedSources": ["elsabro-registry", "skills-sh"],
427
- "trustedAuthors": [],
428
- "blockedSkills": [],
429
- "blockedAuthors": []
430
- },
431
-
432
- "defaults": {
433
- "preferredSource": "elsabro-registry",
434
- "preferredCategories": [],
435
- "excludedCategories": [],
436
- "preferStable": true,
437
- "preferVerified": true,
438
- "language": "auto",
439
- "region": "auto"
440
139
  }
441
140
  }