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.
- package/agents/elsabro-orchestrator.md +124 -2
- package/bin/install.js +10 -11
- package/commands/elsabro/execute.md +164 -4
- package/flows/development-flow.json +183 -23
- package/hooks/hooks-config-updated.json +63 -101
- package/hooks/skill-discovery.sh +412 -385
- package/package.json +2 -2
- package/references/agent-teams-integration.md +313 -0
- package/references/flow-orchestration.md +70 -0
- package/templates/skill-marketplace-config.json +57 -358
|
@@ -1,237 +1,68 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
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", "
|
|
8
|
+
"autoDiscoverTriggers": ["task_start", "flow_start"],
|
|
10
9
|
"sources": [
|
|
11
10
|
{
|
|
12
|
-
"id": "
|
|
11
|
+
"id": "installed-global",
|
|
13
12
|
"type": "local",
|
|
14
13
|
"priority": 1,
|
|
15
|
-
"location": "
|
|
16
|
-
"
|
|
14
|
+
"location": "~/.claude/skills",
|
|
15
|
+
"description": "Skills globales instalados via npx skills add -g"
|
|
17
16
|
},
|
|
18
17
|
{
|
|
19
|
-
"id": "elsabro-
|
|
20
|
-
"type": "
|
|
18
|
+
"id": "elsabro-local",
|
|
19
|
+
"type": "local",
|
|
21
20
|
"priority": 2,
|
|
22
|
-
"
|
|
23
|
-
"
|
|
21
|
+
"location": "${ELSABRO_HOME}/skills",
|
|
22
|
+
"description": "Skills bundled con ELSABRO"
|
|
24
23
|
},
|
|
25
24
|
{
|
|
26
|
-
"id": "skills-
|
|
27
|
-
"type": "
|
|
25
|
+
"id": "skills-registry",
|
|
26
|
+
"type": "cli",
|
|
28
27
|
"priority": 3,
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
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":
|
|
44
|
-
"maxResults":
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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":
|
|
57
|
-
"
|
|
58
|
-
"
|
|
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
|
-
"
|
|
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
|
-
|
|
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"
|
|
257
|
-
"ml": ["machine-learning", "ai", "models", "training"
|
|
258
|
-
"review": ["code-review", "pull-request", "feedback"
|
|
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"
|
|
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"
|
|
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"
|
|
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"
|
|
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", "
|
|
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"
|
|
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"
|
|
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
|
-
"
|
|
334
|
-
|
|
335
|
-
"
|
|
336
|
-
|
|
337
|
-
|
|
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
|
-
"
|
|
406
|
-
"
|
|
407
|
-
"
|
|
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
|
}
|