skillspp 1.2.0 → 1.3.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/dist/cli.js CHANGED
@@ -185,264 +185,198 @@ var STANDARD_AGENTS = {
185
185
  displayName: "Universal",
186
186
  projectSkillsDir: ".agents/skills",
187
187
  globalSkillsDir: ".agents/skills",
188
- projectPluginsDir: ".agents/plugins/cache",
189
- globalPluginsDir: ".agents/plugins/cache",
190
188
  installMarkers: [".agents"]
191
189
  },
192
190
  adal: {
193
191
  displayName: "AdaL",
194
192
  projectSkillsDir: ".adal/skills",
195
193
  globalSkillsDir: ".adal/skills",
196
- projectPluginsDir: ".adal/plugins/cache",
197
- globalPluginsDir: ".adal/plugins/cache",
198
194
  installMarkers: [".adal"]
199
195
  },
200
196
  antigravity: {
201
197
  displayName: "Antigravity",
202
198
  projectSkillsDir: ".agent/skills",
203
199
  globalSkillsDir: ".gemini/antigravity/skills",
204
- projectPluginsDir: ".agent/plugins/cache",
205
- globalPluginsDir: ".gemini/antigravity/plugins/cache",
206
200
  installMarkers: [".gemini/antigravity"]
207
201
  },
208
202
  augment: {
209
203
  displayName: "Augment",
210
204
  projectSkillsDir: ".augment/skills",
211
205
  globalSkillsDir: ".augment/skills",
212
- projectPluginsDir: ".augment/plugins/cache",
213
- globalPluginsDir: ".augment/plugins/cache",
214
206
  installMarkers: [".augment"]
215
207
  },
216
208
  "claude-code": {
217
209
  displayName: "Claude Code",
218
210
  projectSkillsDir: ".claude/skills",
219
211
  globalSkillsDir: ".claude/skills",
220
- projectPluginsDir: ".claude/plugins/cache",
221
- globalPluginsDir: ".claude/plugins/cache",
222
212
  installMarkers: [".claude"]
223
213
  },
224
214
  "cortex-code": {
225
215
  displayName: "Cortex Code",
226
216
  projectSkillsDir: ".cortex/skills",
227
217
  globalSkillsDir: ".cortex/skills",
228
- projectPluginsDir: ".cortex/plugins/cache",
229
- globalPluginsDir: ".cortex/plugins/cache",
230
218
  installMarkers: [".cortex"]
231
219
  },
232
220
  crush: {
233
221
  displayName: "Crush",
234
222
  projectSkillsDir: ".crush/skills",
235
223
  globalSkillsDir: ".crush/skills",
236
- projectPluginsDir: ".crush/plugins/cache",
237
- globalPluginsDir: ".crush/plugins/cache",
238
224
  installMarkers: [".crush"]
239
225
  },
240
226
  droid: {
241
227
  displayName: "Droid",
242
228
  projectSkillsDir: ".factory/skills",
243
229
  globalSkillsDir: ".factory/skills",
244
- projectPluginsDir: ".factory/plugins/cache",
245
- globalPluginsDir: ".factory/plugins/cache",
246
230
  installMarkers: [".factory"]
247
231
  },
248
232
  goose: {
249
233
  displayName: "Goose",
250
234
  projectSkillsDir: ".goose/skills",
251
235
  globalSkillsDir: ".config/goose/skills",
252
- projectPluginsDir: ".goose/plugins/cache",
253
- globalPluginsDir: ".config/goose/plugins/cache",
254
236
  installMarkers: [".config/goose"]
255
237
  },
256
238
  "iflow-cli": {
257
239
  displayName: "iFlow CLI",
258
240
  projectSkillsDir: ".iflow/skills",
259
241
  globalSkillsDir: ".iflow/skills",
260
- projectPluginsDir: ".iflow/plugins/cache",
261
- globalPluginsDir: ".iflow/plugins/cache",
262
242
  installMarkers: [".iflow"]
263
243
  },
264
244
  junie: {
265
245
  displayName: "Junie",
266
246
  projectSkillsDir: ".junie/skills",
267
247
  globalSkillsDir: ".junie/skills",
268
- projectPluginsDir: ".junie/plugins/cache",
269
- globalPluginsDir: ".junie/plugins/cache",
270
248
  installMarkers: [".junie"]
271
249
  },
272
250
  "kiro-cli": {
273
251
  displayName: "Kiro CLI",
274
252
  projectSkillsDir: ".kiro/skills",
275
253
  globalSkillsDir: ".kiro/skills",
276
- projectPluginsDir: ".kiro/plugins/cache",
277
- globalPluginsDir: ".kiro/plugins/cache",
278
254
  installMarkers: [".kiro"]
279
255
  },
280
256
  kode: {
281
257
  displayName: "Kode",
282
258
  projectSkillsDir: ".kode/skills",
283
259
  globalSkillsDir: ".kode/skills",
284
- projectPluginsDir: ".kode/plugins/cache",
285
- globalPluginsDir: ".kode/plugins/cache",
286
260
  installMarkers: [".kode"]
287
261
  },
288
262
  openclaw: {
289
263
  displayName: "OpenClaw",
290
264
  projectSkillsDir: "skills",
291
265
  globalSkillsDir: ".openclaw/skills",
292
- projectPluginsDir: "plugins/cache",
293
- globalPluginsDir: ".openclaw/plugins/cache",
294
266
  installMarkers: [".openclaw"]
295
267
  },
296
268
  openhands: {
297
269
  displayName: "OpenHands",
298
270
  projectSkillsDir: ".openhands/skills",
299
271
  globalSkillsDir: ".openhands/skills",
300
- projectPluginsDir: ".openhands/plugins/cache",
301
- globalPluginsDir: ".openhands/plugins/cache",
302
272
  installMarkers: [".openhands"]
303
273
  },
304
274
  "mistral-vibe": {
305
275
  displayName: "Mistral Vibe",
306
276
  projectSkillsDir: ".vibe/skills",
307
277
  globalSkillsDir: ".vibe/skills",
308
- projectPluginsDir: ".vibe/plugins/cache",
309
- globalPluginsDir: ".vibe/plugins/cache",
310
278
  installMarkers: [".vibe"]
311
279
  },
312
280
  neovate: {
313
281
  displayName: "Neovate",
314
282
  projectSkillsDir: ".neovate/skills",
315
283
  globalSkillsDir: ".neovate/skills",
316
- projectPluginsDir: ".neovate/plugins/cache",
317
- globalPluginsDir: ".neovate/plugins/cache",
318
284
  installMarkers: [".neovate"]
319
285
  },
320
286
  pochi: {
321
287
  displayName: "Pochi",
322
288
  projectSkillsDir: ".pochi/skills",
323
289
  globalSkillsDir: ".pochi/skills",
324
- projectPluginsDir: ".pochi/plugins/cache",
325
- globalPluginsDir: ".pochi/plugins/cache",
326
290
  installMarkers: [".pochi"]
327
291
  },
328
292
  qoder: {
329
293
  displayName: "Qoder",
330
294
  projectSkillsDir: ".qoder/skills",
331
295
  globalSkillsDir: ".qoder/skills",
332
- projectPluginsDir: ".qoder/plugins/cache",
333
- globalPluginsDir: ".qoder/plugins/cache",
334
296
  installMarkers: [".qoder"]
335
297
  },
336
298
  "qwen-code": {
337
299
  displayName: "Qwen Code",
338
300
  projectSkillsDir: ".qwen/skills",
339
301
  globalSkillsDir: ".qwen/skills",
340
- projectPluginsDir: ".qwen/plugins/cache",
341
- globalPluginsDir: ".qwen/plugins/cache",
342
302
  installMarkers: [".qwen"]
343
303
  },
344
304
  roo: {
345
305
  displayName: "Roo Code",
346
306
  projectSkillsDir: ".roo/skills",
347
307
  globalSkillsDir: ".roo/skills",
348
- projectPluginsDir: ".roo/plugins/cache",
349
- globalPluginsDir: ".roo/plugins/cache",
350
308
  installMarkers: [".roo"]
351
309
  },
352
310
  trae: {
353
311
  displayName: "Trae",
354
312
  projectSkillsDir: ".trae/skills",
355
313
  globalSkillsDir: ".trae/skills",
356
- projectPluginsDir: ".trae/plugins/cache",
357
- globalPluginsDir: ".trae/plugins/cache",
358
314
  installMarkers: [".trae"]
359
315
  },
360
316
  "trae-cn": {
361
317
  displayName: "Trae CN",
362
318
  projectSkillsDir: ".trae/skills",
363
319
  globalSkillsDir: ".trae/skills",
364
- projectPluginsDir: ".trae/plugins/cache",
365
- globalPluginsDir: ".trae/plugins/cache",
366
320
  installMarkers: [".trae"]
367
321
  },
368
322
  windsurf: {
369
323
  displayName: "Windsurf",
370
324
  projectSkillsDir: ".windsurf/skills",
371
325
  globalSkillsDir: ".codeium/windsurf/skills",
372
- projectPluginsDir: ".windsurf/plugins/cache",
373
- globalPluginsDir: ".codeium/windsurf/plugins/cache",
374
326
  installMarkers: [".windsurf", ".codeium/windsurf"]
375
327
  },
376
328
  zencoder: {
377
329
  displayName: "Zencoder",
378
330
  projectSkillsDir: ".zencoder/skills",
379
331
  globalSkillsDir: ".zencoder/skills",
380
- projectPluginsDir: ".zencoder/plugins/cache",
381
- globalPluginsDir: ".zencoder/plugins/cache",
382
332
  installMarkers: [".zencoder"]
383
333
  },
384
334
  continue: {
385
335
  displayName: "Continue",
386
336
  projectSkillsDir: ".continue/skills",
387
337
  globalSkillsDir: ".continue/skills",
388
- projectPluginsDir: ".continue/plugins/cache",
389
- globalPluginsDir: ".continue/plugins/cache",
390
338
  installMarkers: [".continue"]
391
339
  },
392
340
  codebuddy: {
393
341
  displayName: "CodeBuddy",
394
342
  projectSkillsDir: ".codebuddy/skills",
395
343
  globalSkillsDir: ".codebuddy/skills",
396
- projectPluginsDir: ".codebuddy/plugins/cache",
397
- globalPluginsDir: ".codebuddy/plugins/cache",
398
344
  installMarkers: [".codebuddy"]
399
345
  },
400
346
  "command-code": {
401
347
  displayName: "Command Code",
402
348
  projectSkillsDir: ".commandcode/skills",
403
349
  globalSkillsDir: ".commandcode/skills",
404
- projectPluginsDir: ".commandcode/plugins/cache",
405
- globalPluginsDir: ".commandcode/plugins/cache",
406
350
  installMarkers: [".commandcode"]
407
351
  },
408
352
  kilo: {
409
353
  displayName: "Kilo Code",
410
354
  projectSkillsDir: ".kilocode/skills",
411
355
  globalSkillsDir: ".kilocode/skills",
412
- projectPluginsDir: ".kilocode/plugins/cache",
413
- globalPluginsDir: ".kilocode/plugins/cache",
414
356
  installMarkers: [".kilocode"]
415
357
  },
416
358
  mcpjam: {
417
359
  displayName: "MCPJam",
418
360
  projectSkillsDir: ".mcpjam/skills",
419
361
  globalSkillsDir: ".mcpjam/skills",
420
- projectPluginsDir: ".mcpjam/plugins/cache",
421
- globalPluginsDir: ".mcpjam/plugins/cache",
422
362
  installMarkers: [".mcpjam"]
423
363
  },
424
364
  mux: {
425
365
  displayName: "Mux",
426
366
  projectSkillsDir: ".mux/skills",
427
367
  globalSkillsDir: ".mux/skills",
428
- projectPluginsDir: ".mux/plugins/cache",
429
- globalPluginsDir: ".mux/plugins/cache",
430
368
  installMarkers: [".mux"]
431
369
  },
432
370
  pi: {
433
371
  displayName: "Pi",
434
372
  projectSkillsDir: ".pi/skills",
435
373
  globalSkillsDir: ".pi/agent/skills",
436
- projectPluginsDir: ".pi/plugins/cache",
437
- globalPluginsDir: ".pi/agent/plugins/cache",
438
374
  installMarkers: [".pi"]
439
375
  },
440
376
  replit: {
441
377
  displayName: "Replit",
442
378
  projectSkillsDir: ".agents/skills",
443
379
  globalSkillsDir: ".config/agents/skills",
444
- projectPluginsDir: ".agents/plugins/cache",
445
- globalPluginsDir: ".config/agents/plugins/cache",
446
380
  installMarkers: [".config/agents"]
447
381
  }
448
382
  };
@@ -452,64 +386,48 @@ var AGENTS = {
452
386
  displayName: "Codex",
453
387
  projectSkillsDir: ".agents/skills",
454
388
  globalSkillsDir: ".codex/skills",
455
- projectPluginsDir: ".agents/plugins/cache",
456
- globalPluginsDir: ".codex/plugins/cache",
457
389
  installMarkers: [".codex"]
458
390
  },
459
391
  cursor: {
460
392
  displayName: "Cursor",
461
393
  projectSkillsDir: ".agents/skills",
462
394
  globalSkillsDir: ".cursor/skills",
463
- projectPluginsDir: ".agents/plugins/cache",
464
- globalPluginsDir: ".cursor/plugins/cache",
465
395
  installMarkers: [".cursor"]
466
396
  },
467
397
  "gemini-cli": {
468
398
  displayName: "Gemini CLI",
469
399
  projectSkillsDir: ".agents/skills",
470
400
  globalSkillsDir: ".gemini/skills",
471
- projectPluginsDir: ".agents/plugins/cache",
472
- globalPluginsDir: ".gemini/plugins/cache",
473
401
  installMarkers: [".gemini"]
474
402
  },
475
403
  "github-copilot": {
476
404
  displayName: "GitHub Copilot",
477
405
  projectSkillsDir: ".agents/skills",
478
406
  globalSkillsDir: ".copilot/skills",
479
- projectPluginsDir: ".agents/plugins/cache",
480
- globalPluginsDir: ".copilot/plugins/cache",
481
407
  installMarkers: [".copilot"]
482
408
  },
483
409
  amp: {
484
410
  displayName: "Amp",
485
411
  projectSkillsDir: ".agents/skills",
486
412
  globalSkillsDir: ".config/agents/skills",
487
- projectPluginsDir: ".agents/plugins/cache",
488
- globalPluginsDir: ".config/agents/plugins/cache",
489
413
  installMarkers: [".config/agents"]
490
414
  },
491
415
  opencode: {
492
416
  displayName: "OpenCode",
493
417
  projectSkillsDir: ".agents/skills",
494
418
  globalSkillsDir: ".config/opencode/skills",
495
- projectPluginsDir: ".agents/plugins/cache",
496
- globalPluginsDir: ".config/opencode/plugins/cache",
497
419
  installMarkers: [".config/opencode"]
498
420
  },
499
421
  windsurf: {
500
422
  displayName: "Windsurf",
501
423
  projectSkillsDir: ".windsurf/skills",
502
424
  globalSkillsDir: ".codeium/windsurf/skills",
503
- projectPluginsDir: ".windsurf/plugins/cache",
504
- globalPluginsDir: ".codeium/windsurf/plugins/cache",
505
425
  installMarkers: [".windsurf", ".codeium/windsurf"]
506
426
  },
507
427
  cline: {
508
428
  displayName: "Cline",
509
429
  projectSkillsDir: ".cline/skills",
510
430
  globalSkillsDir: ".cline/skills",
511
- projectPluginsDir: ".cline/plugins/cache",
512
- globalPluginsDir: ".cline/plugins/cache",
513
431
  installMarkers: [".cline"]
514
432
  }
515
433
  };
@@ -579,11 +497,6 @@ function getAgentSkillsDir(agent, globalInstall, cwd) {
579
497
  const base = globalInstall ? os.homedir() : cwd;
580
498
  return path3.join(base, relative);
581
499
  }
582
- function getAgentPluginsDir(agent, globalInstall, cwd) {
583
- const relative = globalInstall ? AGENTS[agent].globalPluginsDir : AGENTS[agent].projectPluginsDir;
584
- const base = globalInstall ? os.homedir() : cwd;
585
- return path3.join(base, relative);
586
- }
587
500
  function detectInstalledAgents(cwd = process.cwd()) {
588
501
  const found = [];
589
502
  for (const agent of Object.keys(AGENTS)) {
@@ -1634,6 +1547,31 @@ function toVisibleRows(model) {
1634
1547
  };
1635
1548
  });
1636
1549
  }
1550
+ function resolveVisibleSelectionViewport(rows, activeIndex, maxVisibleRows) {
1551
+ const limit = Math.max(0, Math.floor(maxVisibleRows ?? 0));
1552
+ if (limit === 0 || rows.length <= limit) {
1553
+ return {
1554
+ rows,
1555
+ truncatedTop: false,
1556
+ truncatedBottom: false
1557
+ };
1558
+ }
1559
+ const clampedActiveIndex = clampActiveVisibleIndex(activeIndex, rows.length);
1560
+ const maxStart = rows.length - limit;
1561
+ let start = clampedActiveIndex - Math.floor(limit / 2);
1562
+ if (start < 0) {
1563
+ start = 0;
1564
+ }
1565
+ if (start > maxStart) {
1566
+ start = maxStart;
1567
+ }
1568
+ const end = start + limit;
1569
+ return {
1570
+ rows: rows.slice(start, end),
1571
+ truncatedTop: start > 0,
1572
+ truncatedBottom: end < rows.length
1573
+ };
1574
+ }
1637
1575
  function buildRenderModel(options) {
1638
1576
  return {
1639
1577
  title: options.request.title,
@@ -1659,7 +1597,11 @@ function appendSearchChar(current, text) {
1659
1597
  return normalizeSearchTerm(`${current}${text}`);
1660
1598
  }
1661
1599
  function renderManySelectionOpenPanel(config, model) {
1662
- const visibleRows = toVisibleRows(model);
1600
+ const viewport = resolveVisibleSelectionViewport(
1601
+ toVisibleRows(model),
1602
+ model.activeVisibleIndex,
1603
+ config.maxVisibleRows
1604
+ );
1663
1605
  const hintLine = selectionHintsText(
1664
1606
  model.keyHints.length > 0 ? model.keyHints : config.defaultHints
1665
1607
  );
@@ -1687,10 +1629,13 @@ function renderManySelectionOpenPanel(config, model) {
1687
1629
  lines.push(`Search: ${model.searchTerm}`);
1688
1630
  lines.push("");
1689
1631
  }
1690
- if (visibleRows.length === 0) {
1632
+ if (viewport.rows.length === 0) {
1691
1633
  lines.push(" (no matches)");
1692
1634
  } else {
1693
- for (const row of visibleRows) {
1635
+ if (viewport.truncatedTop) {
1636
+ lines.push(" ...");
1637
+ }
1638
+ for (const row of viewport.rows) {
1694
1639
  const prefix = ` ${row.active ? "\u203A" : " "} `;
1695
1640
  const marker = row.selected ? colorToken("\u25CF", "primary") : "\u25CB";
1696
1641
  const content = formatSelectionDisplayLine({
@@ -1703,6 +1648,9 @@ function renderManySelectionOpenPanel(config, model) {
1703
1648
  const renderedRow = `${prefix}${marker} ${row.active || row.selected ? content : dim(content)}`;
1704
1649
  lines.push(renderedRow);
1705
1650
  }
1651
+ if (viewport.truncatedBottom) {
1652
+ lines.push(" ...");
1653
+ }
1706
1654
  }
1707
1655
  lines.push("");
1708
1656
  lines.push(` ${hintLine}`);
@@ -2443,6 +2391,7 @@ var ADD_SKILLS_SELECTION_VIEW = {
2443
2391
  instructionLine: "Select skills (space to toggle)",
2444
2392
  labelWidth: SKILL_NAME_WIDTH,
2445
2393
  descWidth: SKILL_DESC_WIDTH,
2394
+ maxVisibleRows: 10,
2446
2395
  minWidth: 74,
2447
2396
  defaultHints: ADD_SKILLS_KEY_HINTS
2448
2397
  };
@@ -2452,6 +2401,7 @@ var ADD_AGENTS_SELECTION_VIEW = {
2452
2401
  instructionLine: "Select agents (space to toggle)",
2453
2402
  labelWidth: AGENT_NAME_WIDTH,
2454
2403
  descWidth: AGENT_DESC_WIDTH,
2404
+ maxVisibleRows: 10,
2455
2405
  minWidth: 74,
2456
2406
  defaultHints: ADD_AGENTS_KEY_HINTS
2457
2407
  };
@@ -2977,27 +2927,6 @@ var SKILL_CONFIG = {
2977
2927
  };
2978
2928
  }
2979
2929
  };
2980
- var PLUGIN_CONFIG = {
2981
- kind: "plugins",
2982
- displayLabel: "well-known plugins",
2983
- indexPath: "/.well-known/plugins/index.json",
2984
- entryLabel: "plugin",
2985
- requireDescription: false,
2986
- missingManifestMessage: (name) => `Well-known plugin '${name}' is missing plugin.json`,
2987
- hasRequiredManifest(filePath) {
2988
- return filePath.split("/").at(-1)?.toLowerCase() === "plugin.json";
2989
- },
2990
- buildRemoteResult({ entry, files, sourceUrl }) {
2991
- return {
2992
- name: entry.name,
2993
- description: entry.description || "",
2994
- installName: entry.name,
2995
- sourceUrl,
2996
- sourceType: "well-known",
2997
- files
2998
- };
2999
- }
3000
- };
3001
2930
  var SecureWellKnownProvider = class {
3002
2931
  id = "well-known";
3003
2932
  displayName = "Secure Well-Known Skills";
@@ -3023,9 +2952,6 @@ var SecureWellKnownProvider = class {
3023
2952
  async fetchAllSkills(url, options = {}) {
3024
2953
  return this.fetchAllResources(url, options, SKILL_CONFIG);
3025
2954
  }
3026
- async fetchAllPlugins(url, options = {}) {
3027
- return this.fetchAllResources(url, options, PLUGIN_CONFIG);
3028
- }
3029
2955
  async fetchAllResources(url, options, config) {
3030
2956
  const normalized = this.normalizeOptions(options);
3031
2957
  const budget = { remaining: normalized.maxDownloadBytes };
@@ -3317,33 +3243,6 @@ var HttpCatalogProvider = class {
3317
3243
  }
3318
3244
  });
3319
3245
  }
3320
- async fetchAllPlugins(url, options = {}) {
3321
- return this.fetchAllResources(url, options, {
3322
- kind: "plugins",
3323
- indexLabel: "catalog plugins",
3324
- resolveIndexUrl(parsed) {
3325
- return parsed.pathname.endsWith(".json") ? parsed.toString() : new URL(
3326
- "plugins/index.json",
3327
- parsed.toString().endsWith("/") ? parsed.toString() : `${parsed.toString()}/`
3328
- ).toString();
3329
- },
3330
- requireDescription: false,
3331
- missingManifestMessage: (name) => `Catalog plugin '${name}' is missing plugin.json`,
3332
- hasRequiredManifest(filePath) {
3333
- return filePath.split("/").at(-1)?.toLowerCase() === "plugin.json";
3334
- },
3335
- buildRemoteResult({ entry, files, sourceUrl }) {
3336
- return {
3337
- name: entry.name,
3338
- description: entry.description || "",
3339
- installName: entry.name,
3340
- sourceUrl,
3341
- sourceType: "catalog",
3342
- files
3343
- };
3344
- }
3345
- });
3346
- }
3347
3246
  async fetchAllResources(url, options, config) {
3348
3247
  const parsed = new URL(url);
3349
3248
  if (parsed.protocol !== "https:") {
@@ -3554,10 +3453,10 @@ function readPerSkillLockfile(canonicalDir) {
3554
3453
  function isSkillDirEntry(entry) {
3555
3454
  return entry.isDirectory() || entry.isSymbolicLink();
3556
3455
  }
3557
- function listInstalledResourceDirs(kind, globalInstall, cwd) {
3456
+ function listInstalledResourceDirs(_kind, globalInstall, cwd) {
3558
3457
  const out = /* @__PURE__ */ new Set();
3559
3458
  for (const agent of Object.keys(AGENTS)) {
3560
- const resourceRoot = kind === "plugin" ? getAgentPluginsDir(agent, globalInstall, cwd) : getAgentSkillsDir(agent, globalInstall, cwd);
3459
+ const resourceRoot = getAgentSkillsDir(agent, globalInstall, cwd);
3561
3460
  if (!fs7.existsSync(resourceRoot) || !fs7.statSync(resourceRoot).isDirectory()) {
3562
3461
  continue;
3563
3462
  }
@@ -4139,6 +4038,7 @@ var INIT_AGENTS_SELECTION_VIEW = {
4139
4038
  instructionLine: "Select agents (space to toggle)",
4140
4039
  labelWidth: 30,
4141
4040
  descWidth: 40,
4041
+ maxVisibleRows: 10,
4142
4042
  minWidth: 74,
4143
4043
  defaultHints: INIT_AGENTS_KEY_HINTS
4144
4044
  };
@@ -4524,6 +4424,7 @@ var LIST_AGENTS_SELECTION_VIEW = {
4524
4424
  instructionLine: "Select agents to list (space to toggle)",
4525
4425
  labelWidth: AGENT_LABEL_WIDTH,
4526
4426
  descWidth: AGENT_DESC_WIDTH2,
4427
+ maxVisibleRows: 10,
4527
4428
  minWidth: 74,
4528
4429
  defaultHints: LIST_AGENTS_KEY_HINTS
4529
4430
  };
@@ -4751,6 +4652,7 @@ var REMOVE_SKILLS_SELECTION_VIEW = {
4751
4652
  instructionLine: "Select skills to uninstall (space to toggle)",
4752
4653
  labelWidth: SKILL_NAME_WIDTH2,
4753
4654
  descWidth: SKILL_DESC_WIDTH2,
4655
+ maxVisibleRows: 10,
4754
4656
  minWidth: 74,
4755
4657
  defaultHints: REMOVE_SKILLS_KEY_HINTS
4756
4658
  };
@@ -4760,6 +4662,7 @@ var REMOVE_AGENTS_SELECTION_VIEW = {
4760
4662
  instructionLine: "Select agents to remove from (space to toggle)",
4761
4663
  labelWidth: AGENT_NAME_WIDTH2,
4762
4664
  descWidth: AGENT_DESC_WIDTH3,
4665
+ maxVisibleRows: 10,
4763
4666
  minWidth: 74,
4764
4667
  defaultHints: REMOVE_AGENTS_KEY_HINTS
4765
4668
  };
@@ -5176,6 +5079,7 @@ var UPDATE_SKILLS_SELECTION_VIEW = {
5176
5079
  instructionLine: "Select skills (space to toggle)",
5177
5080
  labelWidth: 32,
5178
5081
  descWidth: 28,
5082
+ maxVisibleRows: 10,
5179
5083
  minWidth: 74,
5180
5084
  defaultHints: UPDATE_SKILLS_KEY_HINTS
5181
5085
  };
@@ -5377,7 +5281,7 @@ async function executeUpdate(options, positionalSkill) {
5377
5281
  panelSection({
5378
5282
  title: "Migration Required",
5379
5283
  lines: migrateRequired.map(
5380
- (skillName) => `skillspp update ${skillName} --migrate <new-skill-source>`
5284
+ (skillName) => `skillspp update ${colorToken(skillName, "primary")} --migrate <new-skill-source>`
5381
5285
  ),
5382
5286
  style: "square",
5383
5287
  minWidth: 74