@codemcp/agentskills-core 0.0.7 → 1.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.
Files changed (43) hide show
  1. package/dist/__tests__/mcp-config-manager.test.d.ts +2 -0
  2. package/dist/__tests__/mcp-config-manager.test.d.ts.map +1 -0
  3. package/dist/__tests__/mcp-config-manager.test.js +417 -0
  4. package/dist/__tests__/mcp-config-manager.test.js.map +1 -0
  5. package/dist/__tests__/mcp-dependency-checker.test.d.ts +2 -0
  6. package/dist/__tests__/mcp-dependency-checker.test.d.ts.map +1 -0
  7. package/dist/__tests__/mcp-dependency-checker.test.js +555 -0
  8. package/dist/__tests__/mcp-dependency-checker.test.js.map +1 -0
  9. package/dist/__tests__/parameter-substitution.test.d.ts +2 -0
  10. package/dist/__tests__/parameter-substitution.test.d.ts.map +1 -0
  11. package/dist/__tests__/parameter-substitution.test.js +383 -0
  12. package/dist/__tests__/parameter-substitution.test.js.map +1 -0
  13. package/dist/__tests__/validator.test.js +383 -7
  14. package/dist/__tests__/validator.test.js.map +1 -1
  15. package/dist/index.d.ts +4 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +3 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/installer.d.ts +8 -1
  20. package/dist/installer.d.ts.map +1 -1
  21. package/dist/installer.js +42 -1
  22. package/dist/installer.js.map +1 -1
  23. package/dist/mcp-config-manager.d.ts +62 -0
  24. package/dist/mcp-config-manager.d.ts.map +1 -0
  25. package/dist/mcp-config-manager.js +140 -0
  26. package/dist/mcp-config-manager.js.map +1 -0
  27. package/dist/mcp-dependency-checker.d.ts +26 -0
  28. package/dist/mcp-dependency-checker.d.ts.map +1 -0
  29. package/dist/mcp-dependency-checker.js +68 -0
  30. package/dist/mcp-dependency-checker.js.map +1 -0
  31. package/dist/parameter-substitution.d.ts +20 -0
  32. package/dist/parameter-substitution.d.ts.map +1 -0
  33. package/dist/parameter-substitution.js +82 -0
  34. package/dist/parameter-substitution.js.map +1 -0
  35. package/dist/parser.d.ts.map +1 -1
  36. package/dist/parser.js +2 -1
  37. package/dist/parser.js.map +1 -1
  38. package/dist/types.d.ts +64 -0
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/validator.d.ts.map +1 -1
  41. package/dist/validator.js +194 -0
  42. package/dist/validator.js.map +1 -1
  43. package/package.json +4 -1
@@ -58,8 +58,11 @@ describe("SkillValidator", () => {
58
58
  { name: "a".repeat(65), description: "test" },
59
59
  "INVALID_NAME_LENGTH"
60
60
  ]
61
- ])("should fail for %s name", (_, metadata, code) => {
62
- const result = validateSkill({ metadata: metadata, body: "" });
61
+ ])("should fail for %s name", (_description, metadata, code) => {
62
+ const result = validateSkill({
63
+ metadata: metadata,
64
+ body: ""
65
+ });
63
66
  expect(result.valid).toBe(false);
64
67
  expect(result.errors.some((e) => e.code === code)).toBe(true);
65
68
  });
@@ -74,7 +77,7 @@ describe("SkillValidator", () => {
74
77
  ["-test", "leading hyphen"],
75
78
  ["test-", "trailing hyphen"],
76
79
  ["test--skill", "consecutive hyphens"]
77
- ])("should fail for name with %s", (name, _) => {
80
+ ])("should fail for name with %s", (name) => {
78
81
  const result = validateSkill({
79
82
  metadata: { name, description: "test" },
80
83
  body: ""
@@ -105,8 +108,11 @@ describe("SkillValidator", () => {
105
108
  { name: "test", description: "a".repeat(1025) },
106
109
  "INVALID_DESCRIPTION_LENGTH"
107
110
  ]
108
- ])("should fail for %s description", (_, metadata, code) => {
109
- const result = validateSkill({ metadata: metadata, body: "" });
111
+ ])("should fail for %s description", (_description, metadata, code) => {
112
+ const result = validateSkill({
113
+ metadata: metadata,
114
+ body: ""
115
+ });
110
116
  expect(result.valid).toBe(false);
111
117
  expect(result.errors.some((e) => e.code === code)).toBe(true);
112
118
  });
@@ -166,9 +172,13 @@ describe("SkillValidator", () => {
166
172
  { allowedTools: null },
167
173
  "INVALID_FIELD_TYPE"
168
174
  ]
169
- ])("should fail for %s", (_, extraFields, code) => {
175
+ ])("should fail for %s", (_description, extraFields, code) => {
170
176
  const result = validateSkill({
171
- metadata: { name: "test", description: "test", ...extraFields },
177
+ metadata: {
178
+ name: "test",
179
+ description: "test",
180
+ ...extraFields
181
+ },
172
182
  body: ""
173
183
  });
174
184
  expect(result.valid).toBe(false);
@@ -280,5 +290,371 @@ describe("SkillValidator", () => {
280
290
  });
281
291
  });
282
292
  });
293
+ describe("requiresMcpServers Validation", () => {
294
+ it("should pass validation when requires-mcp-servers is not present", () => {
295
+ const result = validateSkill({
296
+ metadata: {
297
+ name: "test-skill",
298
+ description: "A test skill without MCP server dependencies"
299
+ },
300
+ body: "# Skill content"
301
+ });
302
+ expect(result.valid).toBe(true);
303
+ expect(result.errors.length).toBe(0);
304
+ });
305
+ it("should validate empty requiresMcpServers array", () => {
306
+ const result = validateSkill({
307
+ metadata: {
308
+ name: "test",
309
+ description: "test",
310
+ requiresMcpServers: []
311
+ },
312
+ body: ""
313
+ });
314
+ expect(result.valid).toBe(true);
315
+ });
316
+ it("should fail when server is missing required field: name", () => {
317
+ const result = validateSkill({
318
+ metadata: {
319
+ name: "test",
320
+ description: "test",
321
+ requiresMcpServers: [
322
+ {
323
+ command: "npx",
324
+ description: "A test server"
325
+ }
326
+ ]
327
+ },
328
+ body: ""
329
+ });
330
+ expect(result.valid).toBe(false);
331
+ expect(result.errors.some((e) => e.code === "MISSING_FIELD")).toBe(true);
332
+ });
333
+ it("should fail when server is missing required field: command", () => {
334
+ const result = validateSkill({
335
+ metadata: {
336
+ name: "test",
337
+ description: "test",
338
+ requiresMcpServers: [
339
+ {
340
+ name: "test-server",
341
+ description: "A test server"
342
+ }
343
+ ]
344
+ },
345
+ body: ""
346
+ });
347
+ expect(result.valid).toBe(false);
348
+ expect(result.errors.some((e) => e.code === "MISSING_FIELD")).toBe(true);
349
+ });
350
+ it("should fail when server is missing required field: description", () => {
351
+ const result = validateSkill({
352
+ metadata: {
353
+ name: "test",
354
+ description: "test",
355
+ requiresMcpServers: [
356
+ {
357
+ name: "test-server",
358
+ command: "npx"
359
+ }
360
+ ]
361
+ },
362
+ body: ""
363
+ });
364
+ expect(result.valid).toBe(false);
365
+ expect(result.errors.some((e) => e.code === "MISSING_FIELD")).toBe(true);
366
+ });
367
+ it.each([
368
+ ["spaces", "test server"],
369
+ ["special chars", "test@server"],
370
+ ["consecutive hyphens", "test--server"],
371
+ ["uppercase", "Test-Server"],
372
+ ["leading hyphen", "-test-server"],
373
+ ["trailing hyphen", "test-server-"],
374
+ ["underscores", "test_server"],
375
+ ["dots", "test.server"]
376
+ ])("should fail for server name with %s", (_, name) => {
377
+ const result = validateSkill({
378
+ metadata: {
379
+ name: "test",
380
+ description: "test",
381
+ requiresMcpServers: [
382
+ {
383
+ name,
384
+ command: "npx",
385
+ description: "A test server"
386
+ }
387
+ ]
388
+ },
389
+ body: ""
390
+ });
391
+ expect(result.valid).toBe(false);
392
+ expect(result.errors.some((e) => e.code === "INVALID_NAME_FORMAT")).toBe(true);
393
+ });
394
+ it("should fail when server parameter is missing required field: description", () => {
395
+ const result = validateSkill({
396
+ metadata: {
397
+ name: "test",
398
+ description: "test",
399
+ requiresMcpServers: [
400
+ {
401
+ name: "test-server",
402
+ command: "npx",
403
+ description: "A test server",
404
+ args: ["{{API_KEY}}"],
405
+ parameters: {
406
+ "api-key": {
407
+ required: true
408
+ }
409
+ }
410
+ }
411
+ ]
412
+ },
413
+ body: ""
414
+ });
415
+ expect(result.valid).toBe(false);
416
+ expect(result.errors.some((e) => e.code === "MISSING_FIELD")).toBe(true);
417
+ });
418
+ it("should fail when server parameter is missing required field: required", () => {
419
+ const result = validateSkill({
420
+ metadata: {
421
+ name: "test",
422
+ description: "test",
423
+ requiresMcpServers: [
424
+ {
425
+ name: "test-server",
426
+ command: "npx",
427
+ description: "A test server",
428
+ args: ["{{API_KEY}}"],
429
+ parameters: {
430
+ "api-key": {
431
+ description: "API key for authentication"
432
+ }
433
+ }
434
+ }
435
+ ]
436
+ },
437
+ body: ""
438
+ });
439
+ expect(result.valid).toBe(false);
440
+ expect(result.errors.some((e) => e.code === "MISSING_FIELD")).toBe(true);
441
+ });
442
+ it("should fail when server parameter has invalid default value type", () => {
443
+ const result = validateSkill({
444
+ metadata: {
445
+ name: "test",
446
+ description: "test",
447
+ requiresMcpServers: [
448
+ {
449
+ name: "test-server",
450
+ command: "npx",
451
+ description: "A test server",
452
+ parameters: {
453
+ "api-key": {
454
+ description: "API key",
455
+ required: false,
456
+ default: 12345
457
+ }
458
+ }
459
+ }
460
+ ]
461
+ },
462
+ body: ""
463
+ });
464
+ expect(result.valid).toBe(false);
465
+ expect(result.errors.some((e) => e.code === "INVALID_FIELD_TYPE")).toBe(true);
466
+ });
467
+ it("should validate a complete valid MCP server specification", () => {
468
+ const result = validateSkill({
469
+ metadata: {
470
+ name: "test",
471
+ description: "test",
472
+ requiresMcpServers: [
473
+ {
474
+ name: "github-server",
475
+ package: "@modelcontextprotocol/server-github",
476
+ command: "npx",
477
+ description: "GitHub MCP server for repository access",
478
+ args: ["-y", "@modelcontextprotocol/server-github"],
479
+ env: {
480
+ GITHUB_TOKEN: "{{GITHUB_TOKEN}}"
481
+ },
482
+ parameters: {
483
+ "github-token": {
484
+ description: "GitHub personal access token",
485
+ required: true,
486
+ sensitive: true,
487
+ example: "ghp_xxxxxxxxxxxx"
488
+ }
489
+ }
490
+ }
491
+ ]
492
+ },
493
+ body: ""
494
+ });
495
+ expect(result.valid).toBe(true);
496
+ });
497
+ it("should validate multiple servers in array", () => {
498
+ const result = validateSkill({
499
+ metadata: {
500
+ name: "test",
501
+ description: "test",
502
+ requiresMcpServers: [
503
+ {
504
+ name: "server-one",
505
+ command: "npx",
506
+ description: "First server"
507
+ },
508
+ {
509
+ name: "server-two",
510
+ command: "node",
511
+ description: "Second server",
512
+ args: ["server.js"]
513
+ },
514
+ {
515
+ name: "server-three",
516
+ command: "python",
517
+ description: "Third server",
518
+ args: ["-m", "server"]
519
+ }
520
+ ]
521
+ },
522
+ body: ""
523
+ });
524
+ expect(result.valid).toBe(true);
525
+ });
526
+ it.each([
527
+ ["camelCase", "apiKey"],
528
+ ["PascalCase", "ApiKey"],
529
+ ["snake_case", "api_key"],
530
+ ["spaces", "api key"],
531
+ ["uppercase", "API-KEY"],
532
+ ["consecutive hyphens", "api--key"]
533
+ ])("should fail for parameter name with %s", (_, paramName) => {
534
+ const result = validateSkill({
535
+ metadata: {
536
+ name: "test",
537
+ description: "test",
538
+ requiresMcpServers: [
539
+ {
540
+ name: "test-server",
541
+ command: "npx",
542
+ description: "A test server",
543
+ parameters: {
544
+ [paramName]: {
545
+ description: "Test parameter",
546
+ required: true
547
+ }
548
+ }
549
+ }
550
+ ]
551
+ },
552
+ body: ""
553
+ });
554
+ expect(result.valid).toBe(false);
555
+ expect(result.errors.some((e) => e.code === "INVALID_NAME_FORMAT")).toBe(true);
556
+ });
557
+ it("should fail when args is not an array", () => {
558
+ const result = validateSkill({
559
+ metadata: {
560
+ name: "test",
561
+ description: "test",
562
+ requiresMcpServers: [
563
+ {
564
+ name: "test-server",
565
+ command: "npx",
566
+ description: "A test server",
567
+ args: "not-an-array"
568
+ }
569
+ ]
570
+ },
571
+ body: ""
572
+ });
573
+ expect(result.valid).toBe(false);
574
+ expect(result.errors.some((e) => e.code === "INVALID_FIELD_TYPE")).toBe(true);
575
+ });
576
+ it("should fail when env is not an object", () => {
577
+ const result = validateSkill({
578
+ metadata: {
579
+ name: "test",
580
+ description: "test",
581
+ requiresMcpServers: [
582
+ {
583
+ name: "test-server",
584
+ command: "npx",
585
+ description: "A test server",
586
+ env: "not-an-object"
587
+ }
588
+ ]
589
+ },
590
+ body: ""
591
+ });
592
+ expect(result.valid).toBe(false);
593
+ expect(result.errors.some((e) => e.code === "INVALID_FIELD_TYPE")).toBe(true);
594
+ });
595
+ it("should fail when parameters is not an object", () => {
596
+ const result = validateSkill({
597
+ metadata: {
598
+ name: "test",
599
+ description: "test",
600
+ requiresMcpServers: [
601
+ {
602
+ name: "test-server",
603
+ command: "npx",
604
+ description: "A test server",
605
+ parameters: ["not", "an", "object"]
606
+ }
607
+ ]
608
+ },
609
+ body: ""
610
+ });
611
+ expect(result.valid).toBe(false);
612
+ expect(result.errors.some((e) => e.code === "INVALID_FIELD_TYPE")).toBe(true);
613
+ });
614
+ it("should fail when server has additional properties", () => {
615
+ const result = validateSkill({
616
+ metadata: {
617
+ name: "test",
618
+ description: "test",
619
+ requiresMcpServers: [
620
+ {
621
+ name: "test-server",
622
+ command: "npx",
623
+ description: "A test server",
624
+ unexpectedField: "should not be here"
625
+ }
626
+ ]
627
+ },
628
+ body: ""
629
+ });
630
+ expect(result.valid).toBe(false);
631
+ expect(result.errors.length).toBeGreaterThan(0);
632
+ });
633
+ it("should fail when parameter has additional properties", () => {
634
+ const result = validateSkill({
635
+ metadata: {
636
+ name: "test",
637
+ description: "test",
638
+ requiresMcpServers: [
639
+ {
640
+ name: "test-server",
641
+ command: "npx",
642
+ description: "A test server",
643
+ parameters: {
644
+ "api-key": {
645
+ description: "API key",
646
+ required: true,
647
+ unexpectedField: "should not be here"
648
+ }
649
+ }
650
+ }
651
+ ]
652
+ },
653
+ body: ""
654
+ });
655
+ expect(result.valid).toBe(false);
656
+ expect(result.errors.length).toBeGreaterThan(0);
657
+ });
658
+ });
283
659
  });
284
660
  //# sourceMappingURL=validator.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../../src/__tests__/validator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.test.js","sourceRoot":"","sources":["../../src/__tests__/validator.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,10 @@
1
- export type { Skill, SkillMetadata, ParseResult, ParseSuccess, ParseFailure, ParseError, ParseErrorCode, ValidationResult, ValidationError, ValidationWarning, ValidationErrorCode, ValidationWarningCode, LoadResult, RegistryState, InstallResult, InstallSuccess, InstallFailure, InstallAllResult, InstallError, InstallErrorCode, SkillManifest, SkillLockFile, SkillLockEntry, PackageConfig } from "./types.js";
1
+ export type { Skill, SkillMetadata, ParseResult, ParseSuccess, ParseFailure, ParseError, ParseErrorCode, ValidationResult, ValidationError, ValidationWarning, ValidationErrorCode, ValidationWarningCode, LoadResult, RegistryState, InstallResult, InstallSuccess, InstallFailure, InstallAllResult, InstallError, InstallErrorCode, SkillManifest, SkillLockFile, SkillLockEntry, PackageConfig, McpClientType, McpConfig, McpServerConfig, McpServerDependency, McpParameterSpec, McpDependencyCheckResult, McpDependencyInfo, ParameterValues } from "./types.js";
2
2
  export { parseSkill, parseSkillContent } from "./parser.js";
3
3
  export { validateSkill } from "./validator.js";
4
4
  export { SkillRegistry } from "./registry.js";
5
5
  export { SkillInstaller } from "./installer.js";
6
6
  export { PackageConfigManager } from "./package-config.js";
7
+ export { MCPConfigManager } from "./mcp-config-manager.js";
8
+ export { MCPDependencyChecker } from "./mcp-dependency-checker.js";
9
+ export { substituteParameters } from "./parameter-substitution.js";
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,KAAK,EACL,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -3,4 +3,7 @@ export { validateSkill } from "./validator.js";
3
3
  export { SkillRegistry } from "./registry.js";
4
4
  export { SkillInstaller } from "./installer.js";
5
5
  export { PackageConfigManager } from "./package-config.js";
6
+ export { MCPConfigManager } from "./mcp-config-manager.js";
7
+ export { MCPDependencyChecker } from "./mcp-dependency-checker.js";
8
+ export { substituteParameters } from "./parameter-substitution.js";
6
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * Uses pacote library for downloading and extracting packages, supports caching,
8
8
  * generates lock files for reproducible installations.
9
9
  */
10
- import type { InstallResult, InstallAllResult, SkillManifest, SkillLockFile } from "./types.js";
10
+ import type { InstallResult, InstallAllResult, SkillManifest, SkillLockFile, Skill } from "./types.js";
11
11
  /**
12
12
  * SkillInstaller class for installing Agent Skills from various sources
13
13
  */
@@ -49,6 +49,13 @@ export declare class SkillInstaller {
49
49
  * @returns SkillLockFile or null if file doesn't exist or is invalid
50
50
  */
51
51
  readLockFile(): Promise<SkillLockFile | null>;
52
+ /**
53
+ * Load all installed skills from the skills directory
54
+ *
55
+ * @returns Array of parsed Skill objects
56
+ * @throws Error if skills directory doesn't exist or skills are invalid
57
+ */
58
+ loadInstalledSkills(): Promise<Skill[]>;
52
59
  /**
53
60
  * Get manifest without installing (dry-run)
54
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EAEd,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IAEnC;;;;;;OAMG;gBACS,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAQhD;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmIjE;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B3E;;;;OAIG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAYnD;;;;;;OAMG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkDvD;;OAEG;YACW,kBAAkB;IAoChC;;OAEG;YACW,OAAO;IAyBrB;;OAEG;YACW,eAAe;IA4C7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoCnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CA8F3B"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EAEb,KAAK,EACN,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IAEnC;;;;;;OAMG;gBACS,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAQhD;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmIjE;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B3E;;;;OAIG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACvC,OAAO,CAAC,IAAI,CAAC;IAyBhB;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAYnD;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IA0C7C;;;;;;OAMG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkDvD;;OAEG;YACW,kBAAkB;IAoChC;;OAEG;YACW,OAAO;IAyBrB;;OAEG;YACW,eAAe;IA4C7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAyBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoCnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CA8F3B"}
package/dist/installer.js CHANGED
@@ -10,7 +10,7 @@
10
10
  import { promises as fs } from "fs";
11
11
  import { join, dirname, resolve } from "path";
12
12
  import * as pacote from "pacote";
13
- import { parseSkillContent } from "./parser.js";
13
+ import { parseSkillContent, parseSkill } from "./parser.js";
14
14
  /**
15
15
  * SkillInstaller class for installing Agent Skills from various sources
16
16
  */
@@ -203,6 +203,47 @@ export class SkillInstaller {
203
203
  return null;
204
204
  }
205
205
  }
206
+ /**
207
+ * Load all installed skills from the skills directory
208
+ *
209
+ * @returns Array of parsed Skill objects
210
+ * @throws Error if skills directory doesn't exist or skills are invalid
211
+ */
212
+ async loadInstalledSkills() {
213
+ const skills = [];
214
+ try {
215
+ // Check if skills directory exists
216
+ await fs.access(this.skillsDir);
217
+ }
218
+ catch {
219
+ // If directory doesn't exist, return empty array
220
+ return skills;
221
+ }
222
+ // Read all subdirectories in skills directory
223
+ const entries = await fs.readdir(this.skillsDir, { withFileTypes: true });
224
+ for (const entry of entries) {
225
+ // Skip non-directories and hidden directories
226
+ if (!entry.isDirectory() || entry.name.startsWith(".")) {
227
+ continue;
228
+ }
229
+ const skillDir = join(this.skillsDir, entry.name);
230
+ const skillPath = join(skillDir, "SKILL.md");
231
+ try {
232
+ // Check if SKILL.md exists
233
+ await fs.access(skillPath);
234
+ // Parse the skill
235
+ const parseResult = await parseSkill(skillPath);
236
+ if (parseResult.success) {
237
+ skills.push(parseResult.skill);
238
+ }
239
+ }
240
+ catch {
241
+ // Skip invalid or missing skills
242
+ continue;
243
+ }
244
+ }
245
+ return skills;
246
+ }
206
247
  /**
207
248
  * Get manifest without installing (dry-run)
208
249
  *