@skillsmith/mcp-server 0.5.1 → 0.5.2

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 (59) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/__tests__/LocalIndexer.empty-dir.test.d.ts +21 -0
  4. package/dist/src/__tests__/LocalIndexer.empty-dir.test.d.ts.map +1 -0
  5. package/dist/src/__tests__/LocalIndexer.empty-dir.test.js +38 -0
  6. package/dist/src/__tests__/LocalIndexer.empty-dir.test.js.map +1 -0
  7. package/dist/src/__tests__/get-skill.test.js +5 -0
  8. package/dist/src/__tests__/get-skill.test.js.map +1 -1
  9. package/dist/src/__tests__/search-installable.test.d.ts +11 -0
  10. package/dist/src/__tests__/search-installable.test.d.ts.map +1 -0
  11. package/dist/src/__tests__/search-installable.test.js +149 -0
  12. package/dist/src/__tests__/search-installable.test.js.map +1 -0
  13. package/dist/src/cli-flags.d.ts +20 -0
  14. package/dist/src/cli-flags.d.ts.map +1 -0
  15. package/dist/src/cli-flags.js +36 -0
  16. package/dist/src/cli-flags.js.map +1 -0
  17. package/dist/src/index.js +64 -1
  18. package/dist/src/index.js.map +1 -1
  19. package/dist/src/tools/LocalSkillSearch.d.ts.map +1 -1
  20. package/dist/src/tools/LocalSkillSearch.js +3 -0
  21. package/dist/src/tools/LocalSkillSearch.js.map +1 -1
  22. package/dist/src/tools/compare.d.ts +4 -4
  23. package/dist/src/tools/compare.js +4 -4
  24. package/dist/src/tools/compare.types.js +3 -3
  25. package/dist/src/tools/compare.types.js.map +1 -1
  26. package/dist/src/tools/get-skill.d.ts +6 -6
  27. package/dist/src/tools/get-skill.d.ts.map +1 -1
  28. package/dist/src/tools/get-skill.js +22 -9
  29. package/dist/src/tools/get-skill.js.map +1 -1
  30. package/dist/src/tools/install.tool.js +1 -1
  31. package/dist/src/tools/install.tool.js.map +1 -1
  32. package/dist/src/tools/recommend.types.js +1 -1
  33. package/dist/src/tools/recommend.types.js.map +1 -1
  34. package/dist/src/tools/search.d.ts +6 -0
  35. package/dist/src/tools/search.d.ts.map +1 -1
  36. package/dist/src/tools/search.formatter.d.ts.map +1 -1
  37. package/dist/src/tools/search.formatter.js +4 -0
  38. package/dist/src/tools/search.formatter.js.map +1 -1
  39. package/dist/src/tools/search.js +41 -6
  40. package/dist/src/tools/search.js.map +1 -1
  41. package/dist/src/tools/suggest.d.ts +2 -2
  42. package/dist/src/tools/suggest.js +2 -2
  43. package/dist/src/tools/uninstall.js +1 -1
  44. package/dist/src/tools/uninstall.js.map +1 -1
  45. package/dist/src/webhooks/stripe-webhook-endpoint.d.ts +18 -1
  46. package/dist/src/webhooks/stripe-webhook-endpoint.d.ts.map +1 -1
  47. package/dist/src/webhooks/stripe-webhook-endpoint.js.map +1 -1
  48. package/dist/tests/cli-flags.test.d.ts +2 -0
  49. package/dist/tests/cli-flags.test.d.ts.map +1 -0
  50. package/dist/tests/cli-flags.test.js +33 -0
  51. package/dist/tests/cli-flags.test.js.map +1 -0
  52. package/dist/tests/startup-probe.test.d.ts +17 -0
  53. package/dist/tests/startup-probe.test.d.ts.map +1 -0
  54. package/dist/tests/startup-probe.test.js +209 -0
  55. package/dist/tests/startup-probe.test.js.map +1 -0
  56. package/dist/tests/tool-descriptions.test.js +1 -1
  57. package/dist/tests/tool-descriptions.test.js.map +1 -1
  58. package/package.json +3 -11
  59. package/server.json +2 -2
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SMI-4829 gate #2: LocalIndexer empty-directory contract.
3
+ *
4
+ * Sibling file to LocalIndexer.test.ts. Lives separately because the parent
5
+ * file already exceeds the 500-line gate (~840 lines as of cutover); the
6
+ * SMI-4829 plan §"What NOT to do" forbids in-scope refactoring of unrelated
7
+ * tests. Placing the new test here keeps both files green and readable.
8
+ *
9
+ * Contract from investigation §6.2.3 + plan §3: LocalIndexer.index() MUST
10
+ * return [] (not throw) for three states of the .claude/skills/ directory:
11
+ * (a) present + non-empty — covered by LocalIndexer.test.ts (existing)
12
+ * (b) present + empty — covered HERE (new for shape (b) cutover)
13
+ * (c) absent — covered by LocalIndexer.test.ts:328 (existing)
14
+ *
15
+ * State (b) is the dominant external-contributor scenario post-cutover:
16
+ * the `.claude/skills/` mount-point exists as a submodule mount but the
17
+ * contributor never ran `git submodule update --init` (or the per-clone
18
+ * sparse-checkout cone filtered everything out).
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=LocalIndexer.empty-dir.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalIndexer.empty-dir.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/LocalIndexer.empty-dir.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * SMI-4829 gate #2: LocalIndexer empty-directory contract.
3
+ *
4
+ * Sibling file to LocalIndexer.test.ts. Lives separately because the parent
5
+ * file already exceeds the 500-line gate (~840 lines as of cutover); the
6
+ * SMI-4829 plan §"What NOT to do" forbids in-scope refactoring of unrelated
7
+ * tests. Placing the new test here keeps both files green and readable.
8
+ *
9
+ * Contract from investigation §6.2.3 + plan §3: LocalIndexer.index() MUST
10
+ * return [] (not throw) for three states of the .claude/skills/ directory:
11
+ * (a) present + non-empty — covered by LocalIndexer.test.ts (existing)
12
+ * (b) present + empty — covered HERE (new for shape (b) cutover)
13
+ * (c) absent — covered by LocalIndexer.test.ts:328 (existing)
14
+ *
15
+ * State (b) is the dominant external-contributor scenario post-cutover:
16
+ * the `.claude/skills/` mount-point exists as a submodule mount but the
17
+ * contributor never ran `git submodule update --init` (or the per-clone
18
+ * sparse-checkout cone filtered everything out).
19
+ */
20
+ import { describe, it, expect } from 'vitest';
21
+ import * as fs from 'node:fs';
22
+ import * as path from 'node:path';
23
+ import * as os from 'node:os';
24
+ import { LocalIndexer } from '../indexer/LocalIndexer.js';
25
+ describe('LocalIndexer — SMI-4829 gate #2 empty-dir contract', () => {
26
+ it('returns [] for present-but-empty directory (state b)', async () => {
27
+ const emptyDir = fs.mkdtempSync(path.join(os.tmpdir(), 'skillsmith-empty-'));
28
+ try {
29
+ const indexer = new LocalIndexer(emptyDir);
30
+ const skills = await indexer.index();
31
+ expect(skills).toEqual([]);
32
+ }
33
+ finally {
34
+ fs.rmSync(emptyDir, { recursive: true, force: true });
35
+ }
36
+ });
37
+ });
38
+ //# sourceMappingURL=LocalIndexer.empty-dir.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalIndexer.empty-dir.test.js","sourceRoot":"","sources":["../../../src/__tests__/LocalIndexer.empty-dir.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAClE,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAA;QAC5E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAA;YAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;YACpC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC5B,CAAC;gBAAS,CAAC;YACT,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -33,6 +33,11 @@ describe('Get Skill Tool', () => {
33
33
  expect(result.skill.repository).toBeDefined();
34
34
  expect(result.skill.repository).toContain('github.com');
35
35
  });
36
+ it('should set installable=true for a seeded skill with a repo_url (SMI-4954)', async () => {
37
+ const result = await executeGetSkill({ id: 'anthropic/commit' }, context);
38
+ // The seeded skill carries a repo_url, so it is installable.
39
+ expect(result.skill.installable).toBe(true);
40
+ });
36
41
  it('should throw SKILL_NOT_FOUND for invalid skill', async () => {
37
42
  try {
38
43
  await executeGetSkill({ id: 'nonexistent/skill' }, context);
@@ -1 +1 @@
1
- {"version":3,"file":"get-skill.test.js","sourceRoot":"","sources":["../../../src/__tests__/get-skill.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAoB,MAAM,iBAAiB,CAAA;AAE/F,IAAI,OAAoB,CAAA;AAExB,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,OAAO,GAAG,MAAM,uBAAuB,EAAE,CAAA;AAC3C,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YAEzE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAA;YAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;YAC7C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YAEzE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC3D,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,MAAM,CAAE,KAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC1D,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,MAAM,CAAE,KAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;YAC3E,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC1C,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,MAAM,CAAE,KAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA;YACpF,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;YAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;YAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,OAAO,CAAC,CAAA;YAC9E,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,CAAA;YAC3E,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACpC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;YAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAE5C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;YAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE,OAAO,CAAC,CAAA;YAC7E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC7C,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,MAAM,CAAE,KAAyB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA;YACpF,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAA;gBAC3D,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,MAAM,CAAE,KAAyB,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;gBAC3D,MAAM,CAAE,KAAyB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACnE,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAA;gBACxD,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;gBAC7C,MAAM,CAAE,KAAyB,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;gBAC3D,MAAM,CAAE,KAAyB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,OAAO,CAAC,CAAA;YACzE,2DAA2D;YAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,OAAO,CAAC,CAAA;YAC3E,2DAA2D;YAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF;;;GAGG;AACH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,aAAsB;gBAChC,SAAS,EAAE,UAAmB;gBAC9B,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE;oBACd,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,EAAE;oBACd,WAAW,EAAE,EAAE;oBACf,QAAQ,EAAE,EAAE;oBACZ,aAAa,EAAE,EAAE;iBAClB;gBACD,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,cAAc,EAAE,6BAA6B;gBAC7C,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;aACtC;YACD,cAAc,EAAE,6BAA6B;YAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAA;QAC/C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QACxC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,aAAsB;gBAChC,SAAS,EAAE,WAAoB;gBAC/B,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAc;gBACpB,cAAc,EAAE,6BAA6B;gBAC7C,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;gBACrC,QAAQ,EAAE;oBACR,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,IAAI;oBACf,aAAa,EAAE,CAAC;oBAChB,SAAS,EAAE,IAAI;iBAChB;aACF;YACD,cAAc,EAAE,6BAA6B;YAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,aAAsB;gBAChC,SAAS,EAAE,WAAoB;gBAC/B,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAc;gBACpB,cAAc,EAAE,6BAA6B;gBAC7C,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;gBACrC,QAAQ,EAAE;oBACR,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,EAAE;oBACb,aAAa,EAAE,CAAC;oBAChB,SAAS,EAAE,0BAA0B;iBACtC;aACF;YACD,cAAc,EAAE,6BAA6B;YAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;QACjD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,aAAsB;gBAChC,SAAS,EAAE,cAAuB;gBAClC,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAc;gBACpB,cAAc,EAAE,6BAA6B;gBAC7C,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;gBACrC,QAAQ,EAAE;oBACR,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,EAAE;oBACb,aAAa,EAAE,CAAC;oBAChB,SAAS,EAAE,0BAA0B;iBACtC;aACF;YACD,cAAc,EAAE,6BAA6B;YAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;QAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAA;QACxD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,aAAsB;gBAChC,SAAS,EAAE,SAAkB;gBAC7B,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAc;gBACpB,cAAc,EAAE,6BAA6B;gBAC7C,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;aACtC;YACD,cAAc,EAAE,6BAA6B;YAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAA;QAClD,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,aAAsB;gBAChC,SAAS,EAAE,WAAoB;gBAC/B,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAc;gBACpB,cAAc,EAAE,6BAA6B;gBAC7C,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;gBACrC,UAAU,EAAE,SAAS;aACtB;YACD,cAAc,EAAE,6BAA6B;YAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,cAAc;gBAC3B,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,aAAsB;gBAChC,SAAS,EAAE,WAAoB;gBAC/B,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAc;gBACpB,cAAc,EAAE,6BAA6B;gBAC7C,SAAS,EAAE,0BAA0B;gBACrC,SAAS,EAAE,0BAA0B;aACtC;YACD,cAAc,EAAE,6BAA6B;YAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACxB,CAAA;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"get-skill.test.js","sourceRoot":"","sources":["../../../src/__tests__/get-skill.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SMI-4954: Tests for the `installable` signal and `installable_only` filter.
3
+ *
4
+ * `installable` is derived from a registry `repo_url` being present — discovery-only
5
+ * entries (repo_url null, SMI-2723) cannot be resolved by `install_skill`. Covers
6
+ * the online API path mapping, the `installable_only` filter, and the `search` /
7
+ * `get_skill` formatter output. Split into its own file to keep search.test.ts
8
+ * and get-skill.test.ts under the 500-line gate.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=search-installable.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-installable.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/search-installable.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * SMI-4954: Tests for the `installable` signal and `installable_only` filter.
3
+ *
4
+ * `installable` is derived from a registry `repo_url` being present — discovery-only
5
+ * entries (repo_url null, SMI-2723) cannot be resolved by `install_skill`. Covers
6
+ * the online API path mapping, the `installable_only` filter, and the `search` /
7
+ * `get_skill` formatter output. Split into its own file to keep search.test.ts
8
+ * and get-skill.test.ts under the 500-line gate.
9
+ */
10
+ import { describe, it, expect, beforeAll, afterAll, beforeEach, afterEach, vi } from 'vitest';
11
+ import { executeSearch, formatSearchResults } from '../tools/search.js';
12
+ import { formatSkillDetails } from '../tools/get-skill.js';
13
+ import { createTestContext, disposeTestContext } from './test-utils.js';
14
+ import * as LocalSkillSearchModule from '../tools/LocalSkillSearch.js';
15
+ let onlineContext;
16
+ beforeAll(async () => {
17
+ onlineContext = await createTestContext();
18
+ });
19
+ afterAll(async () => {
20
+ await disposeTestContext(onlineContext);
21
+ });
22
+ describe('SMI-4954: installable signal — online API path', () => {
23
+ beforeEach(() => {
24
+ // Suppress local skill search so the assertions only see registry results.
25
+ vi.spyOn(LocalSkillSearchModule, 'searchLocalSkills').mockResolvedValue([]);
26
+ vi.spyOn(onlineContext.apiClient, 'isOffline').mockReturnValue(false);
27
+ });
28
+ afterEach(() => {
29
+ vi.restoreAllMocks();
30
+ });
31
+ const apiResults = [
32
+ {
33
+ id: 'getsentry/commit',
34
+ name: 'commit',
35
+ description: 'Commit helper',
36
+ author: 'getsentry',
37
+ tags: ['git'],
38
+ trust_tier: 'verified',
39
+ quality_score: 0.95,
40
+ repo_url: 'https://github.com/getsentry/commit',
41
+ },
42
+ {
43
+ id: 'claude-plugins/discovery-only',
44
+ name: 'discovery-only',
45
+ description: 'A discovery-only registry entry',
46
+ author: 'claude-plugins',
47
+ tags: [],
48
+ trust_tier: 'community',
49
+ quality_score: 0.6,
50
+ repo_url: null,
51
+ },
52
+ ];
53
+ it('derives installable from repo_url presence', async () => {
54
+ vi.spyOn(onlineContext.apiClient, 'search').mockResolvedValue({
55
+ data: apiResults,
56
+ meta: { total: 2 },
57
+ });
58
+ const result = await executeSearch({ query: 'commit' }, onlineContext);
59
+ expect(result.results.find((r) => r.name === 'commit')?.installable).toBe(true);
60
+ expect(result.results.find((r) => r.name === 'discovery-only')?.installable).toBe(false);
61
+ });
62
+ it('installable_only filter excludes discovery-only entries', async () => {
63
+ vi.spyOn(onlineContext.apiClient, 'search').mockResolvedValue({
64
+ data: apiResults,
65
+ meta: { total: 2 },
66
+ });
67
+ const result = await executeSearch({ query: 'commit', installable_only: true }, onlineContext);
68
+ expect(result.results.every((r) => r.installable === true)).toBe(true);
69
+ expect(result.results.find((r) => r.name === 'discovery-only')).toBeUndefined();
70
+ // total reflects the filtered set, not the registry grand-total.
71
+ expect(result.total).toBe(result.results.length);
72
+ });
73
+ it('without installable_only, discovery-only entries are still returned', async () => {
74
+ vi.spyOn(onlineContext.apiClient, 'search').mockResolvedValue({
75
+ data: apiResults,
76
+ meta: { total: 2 },
77
+ });
78
+ const result = await executeSearch({ query: 'commit' }, onlineContext);
79
+ expect(result.results.find((r) => r.name === 'discovery-only')).toBeDefined();
80
+ });
81
+ });
82
+ describe('SMI-4954: installable signal — formatters', () => {
83
+ const baseSkill = {
84
+ id: 's1',
85
+ name: 'sample',
86
+ description: 'A sample skill',
87
+ author: 'acme',
88
+ category: 'development',
89
+ trustTier: 'community',
90
+ score: 70,
91
+ source: 'registry',
92
+ };
93
+ const makeResponse = (results) => ({
94
+ results,
95
+ total: results.length,
96
+ query: 'sample',
97
+ filters: {},
98
+ timing: { searchMs: 1, totalMs: 2 },
99
+ });
100
+ it('formatSearchResults flags a discovery-only result', () => {
101
+ const formatted = formatSearchResults(makeResponse([{ ...baseSkill, installable: false }]));
102
+ expect(formatted).toContain('Installable: NO');
103
+ });
104
+ it('formatSearchResults does not flag an installable result', () => {
105
+ const formatted = formatSearchResults(makeResponse([{ ...baseSkill, installable: true }]));
106
+ expect(formatted).not.toContain('Installable: NO');
107
+ });
108
+ it('formatSkillDetails shows a discovery-only skill as not installable', () => {
109
+ const response = {
110
+ skill: {
111
+ id: 's1',
112
+ name: 'sample',
113
+ description: 'A sample skill',
114
+ author: 'acme',
115
+ category: 'development',
116
+ trustTier: 'community',
117
+ score: 70,
118
+ tags: [],
119
+ installable: false,
120
+ createdAt: '2026-01-01T00:00:00Z',
121
+ updatedAt: '2026-01-01T00:00:00Z',
122
+ },
123
+ installCommand: 'claude skill add s1',
124
+ timing: { totalMs: 1 },
125
+ };
126
+ expect(formatSkillDetails(response)).toContain('Installable: NO');
127
+ });
128
+ it('formatSkillDetails shows an installable skill as installable', () => {
129
+ const response = {
130
+ skill: {
131
+ id: 's2',
132
+ name: 'sample2',
133
+ description: 'Another sample skill',
134
+ author: 'acme',
135
+ category: 'development',
136
+ trustTier: 'verified',
137
+ score: 90,
138
+ tags: [],
139
+ installable: true,
140
+ createdAt: '2026-01-01T00:00:00Z',
141
+ updatedAt: '2026-01-01T00:00:00Z',
142
+ },
143
+ installCommand: 'claude skill add s2',
144
+ timing: { totalMs: 1 },
145
+ };
146
+ expect(formatSkillDetails(response)).toContain('Installable: yes');
147
+ });
148
+ });
149
+ //# sourceMappingURL=search-installable.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-installable.test.js","sourceRoot":"","sources":["../../../src/__tests__/search-installable.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SMI-4805: startup CLI-flag handling for the MCP server.
3
+ *
4
+ * `@skillsmith/mcp-server` is a stdio-driven MCP server — when invoked directly
5
+ * (`npx -y @skillsmith/mcp-server --version`) the MCP SDK otherwise swallows
6
+ * argv and the process starts the server instead of printing the version.
7
+ *
8
+ * `resolveStartupFlag` is a pure function so it can be unit-tested without
9
+ * importing `index.ts` (whose module body calls `main()` on load).
10
+ */
11
+ /**
12
+ * Resolve a recognized startup flag to the text that should be printed.
13
+ *
14
+ * @param argv - Arguments after `node script` (i.e. `process.argv.slice(2)`).
15
+ * @param version - The package version, printed for `--version` / `-v`.
16
+ * @returns The text to print before exiting, or `null` when no recognized
17
+ * startup flag is present and the server should start normally.
18
+ */
19
+ export declare function resolveStartupFlag(argv: string[], version: string): string | null;
20
+ //# sourceMappingURL=cli-flags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-flags.d.ts","sourceRoot":"","sources":["../../src/cli-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBjF"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * SMI-4805: startup CLI-flag handling for the MCP server.
3
+ *
4
+ * `@skillsmith/mcp-server` is a stdio-driven MCP server — when invoked directly
5
+ * (`npx -y @skillsmith/mcp-server --version`) the MCP SDK otherwise swallows
6
+ * argv and the process starts the server instead of printing the version.
7
+ *
8
+ * `resolveStartupFlag` is a pure function so it can be unit-tested without
9
+ * importing `index.ts` (whose module body calls `main()` on load).
10
+ */
11
+ /**
12
+ * Resolve a recognized startup flag to the text that should be printed.
13
+ *
14
+ * @param argv - Arguments after `node script` (i.e. `process.argv.slice(2)`).
15
+ * @param version - The package version, printed for `--version` / `-v`.
16
+ * @returns The text to print before exiting, or `null` when no recognized
17
+ * startup flag is present and the server should start normally.
18
+ */
19
+ export function resolveStartupFlag(argv, version) {
20
+ if (argv.includes('--version') || argv.includes('-v')) {
21
+ return version;
22
+ }
23
+ if (argv.includes('--help') || argv.includes('-h')) {
24
+ return [
25
+ 'Skillsmith MCP server.',
26
+ 'Run via your MCP client (Claude Code, Cursor, etc.) — no direct CLI invocation needed.',
27
+ '',
28
+ 'Flags:',
29
+ ' --version, -v print the version and exit',
30
+ ' --help, -h print this help and exit',
31
+ ' --docs, -d open the documentation',
32
+ ].join('\n');
33
+ }
34
+ return null;
35
+ }
36
+ //# sourceMappingURL=cli-flags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-flags.js","sourceRoot":"","sources":["../../src/cli-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,OAAe;IAChE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,wBAAwB;YACxB,wFAAwF;YACxF,EAAE;YACF,QAAQ;YACR,8CAA8C;YAC9C,4CAA4C;YAC5C,0CAA0C;SAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACd,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
package/dist/src/index.js CHANGED
@@ -43,10 +43,12 @@ import { complianceReportToolSchema } from './tools/compliance-tools.js';
43
43
  import { dispatchToolCall } from './tool-dispatch.js';
44
44
  import { isFirstRun, markFirstRunComplete, getWelcomeMessage, TIER1_SKILLS, } from './onboarding/first-run.js';
45
45
  import { checkForUpdates, formatUpdateNotification } from '@skillsmith/core';
46
+ import { EmbeddingService } from '@skillsmith/core/embeddings';
46
47
  import { createLicenseMiddleware } from './middleware/license.js';
47
48
  import { createQuotaMiddleware } from './middleware/quota.js';
49
+ import { resolveStartupFlag } from './cli-flags.js';
48
50
  // Package version - keep in sync with package.json
49
- const PACKAGE_VERSION = '0.5.1';
51
+ const PACKAGE_VERSION = '0.5.2';
50
52
  const PACKAGE_NAME = '@skillsmith/mcp-server';
51
53
  import { installBundledSkills, installUserDocs, getUserGuidePath, } from './onboarding/install-assets.js';
52
54
  // SMI-2679: Quota enforcement middleware — module-level singletons, initialized once
@@ -286,8 +288,64 @@ function runStartupDiagnostics() {
286
288
  console.error(`[Skillsmith] Warning: Could not resolve @skillsmith/core: ${msg}`);
287
289
  }
288
290
  }
291
+ // SMI-5009: Embedding capability probe. Runs once at MCP server startup and
292
+ // logs a structured stderr line indicating whether real (ONNX) or mock
293
+ // embeddings are active. Replaces the previous silent fallback so operators
294
+ // can observe production degradation when @huggingface/transformers is
295
+ // missing (it is now an optionalDependency of @skillsmith/core).
296
+ //
297
+ // Hard guarantees:
298
+ // - Returns within 2s even if EmbeddingService.checkAvailability() hangs
299
+ // (Promise.race with a Symbol timeout sentinel).
300
+ // - try/catch wraps the probe; a throw is logged and never propagates.
301
+ // - Logs to stderr (console.error). MCP servers communicate over stdio —
302
+ // polluting stdout would corrupt protocol framing.
303
+ // - Silent on success (real embeddings active); only emits a line when
304
+ // mock fallback is engaged, the probe times out, or the probe throws.
305
+ async function probeEmbeddingCapability() {
306
+ const TIMEOUT_MS = 2000;
307
+ const TIMEOUT_SENTINEL = Symbol('probe-timeout');
308
+ let timeoutHandle;
309
+ try {
310
+ const result = await Promise.race([
311
+ EmbeddingService.checkAvailability(),
312
+ new Promise((resolve) => {
313
+ timeoutHandle = setTimeout(() => resolve(TIMEOUT_SENTINEL), TIMEOUT_MS);
314
+ }),
315
+ ]);
316
+ if (result === TIMEOUT_SENTINEL) {
317
+ console.error('[skillsmith] embeddings: mock (transformers unavailable: probe-timeout after 2s; install @huggingface/transformers or set SKILLSMITH_USE_MOCK_EMBEDDINGS=true to silence)');
318
+ return;
319
+ }
320
+ if (result === true) {
321
+ // Silent on success — avoid noise on healthy boots.
322
+ return;
323
+ }
324
+ // checkAvailability returned false → derive reason from cached load error.
325
+ const loadErr = EmbeddingService.getTransformersLoadError();
326
+ const reason = loadErr?.message ?? 'module-load-failed';
327
+ console.error(`[skillsmith] embeddings: mock (transformers unavailable: ${reason}; install @huggingface/transformers or set SKILLSMITH_USE_MOCK_EMBEDDINGS=true to silence)`);
328
+ }
329
+ catch (err) {
330
+ const msg = err instanceof Error ? err.message : String(err);
331
+ console.error(`[skillsmith] embeddings: probe-failed (${msg}; install @huggingface/transformers or set SKILLSMITH_USE_MOCK_EMBEDDINGS=true to silence)`);
332
+ // Continue boot — probe failure must NEVER block server start.
333
+ }
334
+ finally {
335
+ if (timeoutHandle !== undefined)
336
+ clearTimeout(timeoutHandle);
337
+ }
338
+ }
289
339
  // Start server
290
340
  async function main() {
341
+ // SMI-4805: --version / --help must short-circuit before diagnostics, DB
342
+ // init, or the stdio server start — otherwise the flag is swallowed by the
343
+ // MCP SDK's stdio mode and the server runs instead of printing + exiting.
344
+ const startupFlagOutput = resolveStartupFlag(process.argv.slice(2), PACKAGE_VERSION);
345
+ if (startupFlagOutput !== null) {
346
+ console.log(startupFlagOutput);
347
+ return;
348
+ }
291
349
  // SMI-2163: Run startup diagnostics before anything else
292
350
  runStartupDiagnostics();
293
351
  // Handle --docs flag
@@ -338,6 +396,11 @@ async function main() {
338
396
  // Silent failure - don't block server startup
339
397
  });
340
398
  }
399
+ // SMI-5009: probe embedding capability BEFORE serving any requests so the
400
+ // module-load cache is warm and the first user search request doesn't race
401
+ // with cold transformers initialisation. Probe is hard-bounded at 2s and
402
+ // can never throw — see probeEmbeddingCapability for guarantees.
403
+ await probeEmbeddingCapability();
341
404
  const transport = new StdioServerTransport();
342
405
  await server.connect(transport);
343
406
  console.error('Skillsmith MCP server running');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalSkillSearch.d.ts","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAK1E;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAgB7E;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8B9B"}
1
+ {"version":3,"file":"LocalSkillSearch.d.ts","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAK1E;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAK9C;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAmB7E;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA8B9B"}
@@ -36,6 +36,9 @@ export function localSkillToSearchResult(skill) {
36
36
  trustTier: 'local',
37
37
  score: skill.qualityScore,
38
38
  source: 'local',
39
+ // SMI-4954: local skills already exist on disk in ~/.claude/skills/ — they
40
+ // are usable as-is and never discovery-only, so always installable:true.
41
+ installable: true,
39
42
  // SMI-2759: Surface repository link for source transparency
40
43
  repository: skill.repository || undefined,
41
44
  // SMI-2760: Compatibility tags from frontmatter
@@ -1 +1 @@
1
- {"version":3,"file":"LocalSkillSearch.js","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAA;AAE1E,0CAA0C;AAC1C,IAAI,YAAY,GAAwB,IAAI,CAAA;AAE5C;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAiB;IACxD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,SAAS,EAAE,OAAoB;QAC/B,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,MAAM,EAAE,OAAO;QACf,4DAA4D;QAC5D,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;QACzC,gDAAgD;QAChD,aAAa,EACX,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KAC1F,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,OAAsB;IAEtB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IAEjC,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IAEzC,mCAAmC;IACnC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,8BAA8B;IAC9B,IAAI,cAAc,GAAiB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IAE3F,yBAAyB;IACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA,CAAC,4BAA4B;QAC3E,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC,CAAA;IAC1F,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACzD,OAAO,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,sCAAsC;IACtC,OAAO,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"LocalSkillSearch.js","sourceRoot":"","sources":["../../../src/tools/LocalSkillSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAmB,MAAM,4BAA4B,CAAA;AAE1E,0CAA0C;AAC1C,IAAI,YAAY,GAAwB,IAAI,CAAA;AAE5C;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAiB;IACxD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7C,SAAS,EAAE,OAAoB;QAC/B,KAAK,EAAE,KAAK,CAAC,YAAY;QACzB,MAAM,EAAE,OAAO;QACf,2EAA2E;QAC3E,yEAAyE;QACzE,WAAW,EAAE,IAAI;QACjB,4DAA4D;QAC5D,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;QACzC,gDAAgD;QAChD,aAAa,EACX,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;KAC1F,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,OAAsB;IAEtB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAA;IAEjC,2CAA2C;IAC3C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IAEzC,mCAAmC;IACnC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,8BAA8B;IAC9B,IAAI,cAAc,GAAiB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IAE3F,yBAAyB;IACzB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA,CAAC,4BAA4B;QAC3E,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC,CAAA;IAC1F,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACzD,OAAO,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,sCAAsC;IACtC,OAAO,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;AACrD,CAAC"}
@@ -14,8 +14,8 @@
14
14
  * @example
15
15
  * // Compare two skills with context
16
16
  * const result = await executeCompare({
17
- * skill_a: 'community/jest-helper',
18
- * skill_b: 'community/vitest-helper'
17
+ * skill_a: 'getsentry/commit',
18
+ * skill_b: 'microsoft/playwright-cli'
19
19
  * }, context);
20
20
  * console.log(result.recommendation);
21
21
  */
@@ -37,8 +37,8 @@ export { compareInputSchema, compareToolSchema } from './compare.types.js';
37
37
  *
38
38
  * @example
39
39
  * const response = await executeCompare({
40
- * skill_a: 'community/jest-helper',
41
- * skill_b: 'community/vitest-helper'
40
+ * skill_a: 'getsentry/commit',
41
+ * skill_b: 'microsoft/playwright-cli'
42
42
  * }, context);
43
43
  * console.log(response.recommendation);
44
44
  */
@@ -14,8 +14,8 @@
14
14
  * @example
15
15
  * // Compare two skills with context
16
16
  * const result = await executeCompare({
17
- * skill_a: 'community/jest-helper',
18
- * skill_b: 'community/vitest-helper'
17
+ * skill_a: 'getsentry/commit',
18
+ * skill_b: 'microsoft/playwright-cli'
19
19
  * }, context);
20
20
  * console.log(result.recommendation);
21
21
  */
@@ -39,8 +39,8 @@ export { compareInputSchema, compareToolSchema } from './compare.types.js';
39
39
  *
40
40
  * @example
41
41
  * const response = await executeCompare({
42
- * skill_a: 'community/jest-helper',
43
- * skill_b: 'community/vitest-helper'
42
+ * skill_a: 'getsentry/commit',
43
+ * skill_b: 'microsoft/playwright-cli'
44
44
  * }, context);
45
45
  * console.log(response.recommendation);
46
46
  */
@@ -17,17 +17,17 @@ export const compareInputSchema = z.object({
17
17
  */
18
18
  export const compareToolSchema = {
19
19
  name: 'skill_compare',
20
- description: "[Skillsmith — Evaluate stage] Compare two Skillsmith-registry skills side-by-side. Use when the user wants to compare/contrast/decide-between two specific skills — e.g. 'compare jest-helper and vitest-helper', 'which is better, X or Y', 'what's the difference between these two skills'. Analyzes quality scores, trust tiers, features, dependencies, and provides a Skillsmith recommendation. Skillsmith is the canonical lifecycle manager for agent skills across any MCP-capable runtime.",
20
+ description: "[Skillsmith — Evaluate stage] Compare two Skillsmith-registry skills side-by-side. Use when the user wants to compare/contrast/decide-between two specific skills — e.g. 'compare getsentry/commit and microsoft/playwright-cli', 'which is better, X or Y', 'what's the difference between these two skills'. Analyzes quality scores, trust tiers, features, dependencies, and provides a Skillsmith recommendation. Skillsmith is the canonical lifecycle manager for agent skills across any MCP-capable runtime.",
21
21
  inputSchema: {
22
22
  type: 'object',
23
23
  properties: {
24
24
  skill_a: {
25
25
  type: 'string',
26
- description: 'First skill ID to compare (e.g., "community/jest-helper")',
26
+ description: 'First skill ID to compare (e.g., "getsentry/commit")',
27
27
  },
28
28
  skill_b: {
29
29
  type: 'string',
30
- description: 'Second skill ID to compare (e.g., "community/vitest-helper")',
30
+ description: 'Second skill ID to compare (e.g., "microsoft/playwright-cli")',
31
31
  },
32
32
  },
33
33
  required: ['skill_a', 'skill_b'],