@agents-inc/cli 0.74.13 → 0.75.1

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 (135) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/{chunk-6W4H2K3Z.js → chunk-5BGBH3KD.js} +34 -20
  3. package/dist/chunk-5BGBH3KD.js.map +1 -0
  4. package/dist/{chunk-4CRWKTNQ.js → chunk-6C66NL4X.js} +2 -8
  5. package/dist/chunk-6C66NL4X.js.map +1 -0
  6. package/dist/{chunk-A5TTDOP4.js → chunk-7QAVO7VN.js} +43 -14
  7. package/dist/{chunk-A5TTDOP4.js.map → chunk-7QAVO7VN.js.map} +1 -1
  8. package/dist/{chunk-HT5KOOUQ.js → chunk-AOZBHMYL.js} +1 -2
  9. package/dist/chunk-AOZBHMYL.js.map +1 -0
  10. package/dist/{chunk-EWGFIBBU.js → chunk-BVSWWBPE.js} +4 -4
  11. package/dist/{chunk-MYSIW4HY.js → chunk-CUCF5LM4.js} +4 -4
  12. package/dist/{chunk-7X4F4HCO.js → chunk-DFKNFZI2.js} +4 -4
  13. package/dist/{chunk-JQSJH72Q.js → chunk-FHHTDPMW.js} +4 -4
  14. package/dist/{chunk-746DCNGM.js → chunk-FYYIRFYT.js} +3 -3
  15. package/dist/{chunk-2YFC7IJ6.js → chunk-GCT7LSYW.js} +3 -3
  16. package/dist/{chunk-TKNPMYKJ.js → chunk-GMUOEQOY.js} +4 -4
  17. package/dist/{chunk-NG2GGK6P.js → chunk-HKIQA4F6.js} +3813 -2751
  18. package/dist/chunk-HKIQA4F6.js.map +1 -0
  19. package/dist/{chunk-ZU7AOE3X.js → chunk-JGSPESM3.js} +2 -6
  20. package/dist/chunk-JGSPESM3.js.map +1 -0
  21. package/dist/{chunk-GHBZ7NUI.js → chunk-JOTAIMTC.js} +19 -7
  22. package/dist/chunk-JOTAIMTC.js.map +1 -0
  23. package/dist/{chunk-IJLAVOKZ.js → chunk-KDYE3AGL.js} +2 -2
  24. package/dist/{chunk-NKKYTCBH.js → chunk-PSU42CXK.js} +609 -118
  25. package/dist/chunk-PSU42CXK.js.map +1 -0
  26. package/dist/{chunk-BM5Y6LIC.js → chunk-Q72ZBA4X.js} +2 -2
  27. package/dist/{chunk-SASGCSBZ.js → chunk-QN3V3ES7.js} +6 -6
  28. package/dist/{chunk-RKZFLLER.js → chunk-SPATQKH6.js} +2 -2
  29. package/dist/{chunk-SRIH4U5Y.js → chunk-SYGXJBG6.js} +14 -3
  30. package/dist/chunk-SYGXJBG6.js.map +1 -0
  31. package/dist/{chunk-IJNNVCS4.js → chunk-TYM4D3OF.js} +2 -2
  32. package/dist/{chunk-ARGCINJC.js → chunk-U5R4M7MA.js} +6 -8
  33. package/dist/chunk-U5R4M7MA.js.map +1 -0
  34. package/dist/{chunk-LVNNP7T4.js → chunk-U6A4YFOF.js} +3 -3
  35. package/dist/{chunk-ICJV3JJF.js → chunk-UQKCYLOA.js} +26 -67
  36. package/dist/chunk-UQKCYLOA.js.map +1 -0
  37. package/dist/{chunk-NPMGVQM4.js → chunk-VU4ZCRZS.js} +5 -5
  38. package/dist/{chunk-7Q6RMYR3.js → chunk-W22IYRZV.js} +2 -2
  39. package/dist/{chunk-4EPFKZB5.js → chunk-WXC2Y5TF.js} +22 -16
  40. package/dist/chunk-WXC2Y5TF.js.map +1 -0
  41. package/dist/{chunk-RRBWNEG3.js → chunk-XHTN56UT.js} +2 -2
  42. package/dist/{chunk-W6NWOYMS.js → chunk-XZ57QYVI.js} +3 -3
  43. package/dist/{chunk-OZ4DXMRF.js → chunk-ZZJ6H6VB.js} +2 -2
  44. package/dist/commands/build/marketplace.js +4 -4
  45. package/dist/commands/build/plugins.js +8 -8
  46. package/dist/commands/build/stack.js +8 -8
  47. package/dist/commands/compile.js +8 -8
  48. package/dist/commands/config/index.js +8 -8
  49. package/dist/commands/config/path.js +7 -7
  50. package/dist/commands/config/show.js +8 -8
  51. package/dist/commands/diff.js +7 -7
  52. package/dist/commands/doctor.js +7 -7
  53. package/dist/commands/edit.js +22 -22
  54. package/dist/commands/eject.js +7 -7
  55. package/dist/commands/import/skill.js +7 -7
  56. package/dist/commands/info.js +7 -15
  57. package/dist/commands/info.js.map +1 -1
  58. package/dist/commands/init.js +22 -22
  59. package/dist/commands/list.js +7 -7
  60. package/dist/commands/new/agent.js +8 -8
  61. package/dist/commands/new/marketplace.js +9 -9
  62. package/dist/commands/new/skill.js +8 -8
  63. package/dist/commands/outdated.js +7 -7
  64. package/dist/commands/search.js +11 -12
  65. package/dist/commands/search.js.map +1 -1
  66. package/dist/commands/uninstall.js +7 -7
  67. package/dist/commands/update.js +8 -8
  68. package/dist/commands/validate.js +7 -7
  69. package/dist/components/skill-search/skill-search.js +1 -1
  70. package/dist/components/wizard/category-grid.js +2 -2
  71. package/dist/components/wizard/category-grid.test.js +16 -17
  72. package/dist/components/wizard/category-grid.test.js.map +1 -1
  73. package/dist/components/wizard/domain-selection.js +9 -9
  74. package/dist/components/wizard/source-grid.js +2 -2
  75. package/dist/components/wizard/source-grid.test.js +11 -11
  76. package/dist/components/wizard/stack-selection.js +8 -8
  77. package/dist/components/wizard/step-agents.js +9 -9
  78. package/dist/components/wizard/step-agents.test.js +12 -12
  79. package/dist/components/wizard/step-build.js +10 -10
  80. package/dist/components/wizard/step-build.test.js +12 -12
  81. package/dist/components/wizard/step-confirm.js +4 -4
  82. package/dist/components/wizard/step-confirm.test.js +10 -10
  83. package/dist/components/wizard/step-settings.js +7 -7
  84. package/dist/components/wizard/step-settings.test.js +10 -10
  85. package/dist/components/wizard/step-sources.js +9 -9
  86. package/dist/components/wizard/step-sources.test.js +12 -12
  87. package/dist/components/wizard/step-stack.js +11 -11
  88. package/dist/components/wizard/step-stack.test.js +12 -12
  89. package/dist/components/wizard/wizard-layout.js +8 -8
  90. package/dist/components/wizard/wizard.js +20 -20
  91. package/dist/config-exports.js +1 -1
  92. package/dist/hooks/init.js +22 -22
  93. package/dist/{loader-NHUCFMFQ.js → loader-TK7YS2I5.js} +4 -4
  94. package/dist/plugins/dummy-skill/.claude-plugin/.content-hash +1 -0
  95. package/dist/plugins/dummy-skill/.claude-plugin/plugin.json +13 -0
  96. package/dist/{source-loader-42GVUFZA.js → source-loader-UQXJVVSO.js} +7 -7
  97. package/dist/source-manager-HS2ZT4XE.js +19 -0
  98. package/dist/stores/wizard-store.js +7 -7
  99. package/dist/stores/wizard-store.test.js +10 -10
  100. package/package.json +1 -1
  101. package/src/schemas/custom-metadata.schema.json +0 -7
  102. package/src/schemas/metadata.schema.json +0 -7
  103. package/dist/chunk-4CRWKTNQ.js.map +0 -1
  104. package/dist/chunk-4EPFKZB5.js.map +0 -1
  105. package/dist/chunk-6W4H2K3Z.js.map +0 -1
  106. package/dist/chunk-ARGCINJC.js.map +0 -1
  107. package/dist/chunk-GHBZ7NUI.js.map +0 -1
  108. package/dist/chunk-HT5KOOUQ.js.map +0 -1
  109. package/dist/chunk-ICJV3JJF.js.map +0 -1
  110. package/dist/chunk-NG2GGK6P.js.map +0 -1
  111. package/dist/chunk-NKKYTCBH.js.map +0 -1
  112. package/dist/chunk-SRIH4U5Y.js.map +0 -1
  113. package/dist/chunk-ZU7AOE3X.js.map +0 -1
  114. package/dist/source-manager-WRZBOTEH.js +0 -19
  115. /package/dist/{chunk-EWGFIBBU.js.map → chunk-BVSWWBPE.js.map} +0 -0
  116. /package/dist/{chunk-MYSIW4HY.js.map → chunk-CUCF5LM4.js.map} +0 -0
  117. /package/dist/{chunk-7X4F4HCO.js.map → chunk-DFKNFZI2.js.map} +0 -0
  118. /package/dist/{chunk-JQSJH72Q.js.map → chunk-FHHTDPMW.js.map} +0 -0
  119. /package/dist/{chunk-746DCNGM.js.map → chunk-FYYIRFYT.js.map} +0 -0
  120. /package/dist/{chunk-2YFC7IJ6.js.map → chunk-GCT7LSYW.js.map} +0 -0
  121. /package/dist/{chunk-TKNPMYKJ.js.map → chunk-GMUOEQOY.js.map} +0 -0
  122. /package/dist/{chunk-IJLAVOKZ.js.map → chunk-KDYE3AGL.js.map} +0 -0
  123. /package/dist/{chunk-BM5Y6LIC.js.map → chunk-Q72ZBA4X.js.map} +0 -0
  124. /package/dist/{chunk-SASGCSBZ.js.map → chunk-QN3V3ES7.js.map} +0 -0
  125. /package/dist/{chunk-RKZFLLER.js.map → chunk-SPATQKH6.js.map} +0 -0
  126. /package/dist/{chunk-IJNNVCS4.js.map → chunk-TYM4D3OF.js.map} +0 -0
  127. /package/dist/{chunk-LVNNP7T4.js.map → chunk-U6A4YFOF.js.map} +0 -0
  128. /package/dist/{chunk-NPMGVQM4.js.map → chunk-VU4ZCRZS.js.map} +0 -0
  129. /package/dist/{chunk-7Q6RMYR3.js.map → chunk-W22IYRZV.js.map} +0 -0
  130. /package/dist/{chunk-RRBWNEG3.js.map → chunk-XHTN56UT.js.map} +0 -0
  131. /package/dist/{chunk-W6NWOYMS.js.map → chunk-XZ57QYVI.js.map} +0 -0
  132. /package/dist/{chunk-OZ4DXMRF.js.map → chunk-ZZJ6H6VB.js.map} +0 -0
  133. /package/dist/{loader-NHUCFMFQ.js.map → loader-TK7YS2I5.js.map} +0 -0
  134. /package/dist/{source-loader-42GVUFZA.js.map → source-loader-UQXJVVSO.js.map} +0 -0
  135. /package/dist/{source-manager-WRZBOTEH.js.map → source-manager-HS2ZT4XE.js.map} +0 -0
@@ -7,10 +7,10 @@ import {
7
7
  loadProjectSourceConfig,
8
8
  resolveAgentsSource,
9
9
  resolveSource
10
- } from "./chunk-6W4H2K3Z.js";
10
+ } from "./chunk-5BGBH3KD.js";
11
11
  import {
12
12
  BaseCommand
13
- } from "./chunk-IJLAVOKZ.js";
13
+ } from "./chunk-KDYE3AGL.js";
14
14
  import {
15
15
  DEFAULT_BRANDING
16
16
  } from "./chunk-EGMQ3SXN.js";
@@ -90,4 +90,4 @@ ${DEFAULT_BRANDING.NAME} Configuration
90
90
  export {
91
91
  ConfigShow
92
92
  };
93
- //# sourceMappingURL=chunk-W6NWOYMS.js.map
93
+ //# sourceMappingURL=chunk-XZ57QYVI.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-2PZ7LBFT.js";
12
12
  import {
13
13
  useWizardStore
14
- } from "./chunk-EWGFIBBU.js";
14
+ } from "./chunk-BVSWWBPE.js";
15
15
  import {
16
16
  HOTKEY_HELP,
17
17
  HOTKEY_SCOPE,
@@ -199,4 +199,4 @@ var WizardLayout = ({
199
199
  export {
200
200
  WizardLayout
201
201
  };
202
- //# sourceMappingURL=chunk-OZ4DXMRF.js.map
202
+ //# sourceMappingURL=chunk-ZZJ6H6VB.js.map
@@ -3,14 +3,14 @@ import {
3
3
  generateMarketplace,
4
4
  getMarketplaceStats,
5
5
  writeMarketplace
6
- } from "../../chunk-BM5Y6LIC.js";
6
+ } from "../../chunk-Q72ZBA4X.js";
7
7
  import {
8
8
  BaseCommand
9
- } from "../../chunk-IJLAVOKZ.js";
9
+ } from "../../chunk-KDYE3AGL.js";
10
10
  import {
11
11
  setVerbose
12
- } from "../../chunk-4CRWKTNQ.js";
13
- import "../../chunk-SRIH4U5Y.js";
12
+ } from "../../chunk-6C66NL4X.js";
13
+ import "../../chunk-SYGXJBG6.js";
14
14
  import {
15
15
  DEFAULT_BRANDING,
16
16
  DEFAULT_PLUGIN_NAME,
@@ -2,25 +2,25 @@
2
2
  import {
3
3
  compileAllAgentPlugins,
4
4
  printAgentCompilationSummary
5
- } from "../../chunk-NPMGVQM4.js";
5
+ } from "../../chunk-VU4ZCRZS.js";
6
6
  import {
7
7
  compileAllSkillPlugins,
8
8
  compileSkillPlugin,
9
9
  printCompilationSummary
10
- } from "../../chunk-6W4H2K3Z.js";
11
- import "../../chunk-RRBWNEG3.js";
12
- import "../../chunk-NG2GGK6P.js";
10
+ } from "../../chunk-5BGBH3KD.js";
11
+ import "../../chunk-XHTN56UT.js";
12
+ import "../../chunk-HKIQA4F6.js";
13
13
  import {
14
14
  BaseCommand
15
- } from "../../chunk-IJLAVOKZ.js";
15
+ } from "../../chunk-KDYE3AGL.js";
16
16
  import {
17
17
  setVerbose
18
- } from "../../chunk-4CRWKTNQ.js";
19
- import "../../chunk-SRIH4U5Y.js";
18
+ } from "../../chunk-6C66NL4X.js";
19
+ import "../../chunk-SYGXJBG6.js";
20
20
  import {
21
21
  DIRS
22
22
  } from "../../chunk-EGMQ3SXN.js";
23
- import "../../chunk-NKKYTCBH.js";
23
+ import "../../chunk-PSU42CXK.js";
24
24
  import {
25
25
  init_esm_shims
26
26
  } from "../../chunk-DHET7RCE.js";
@@ -1,27 +1,27 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getAgentDefinitions
4
- } from "../../chunk-NPMGVQM4.js";
4
+ } from "../../chunk-VU4ZCRZS.js";
5
5
  import {
6
6
  compileStackPlugin,
7
7
  loadStacks,
8
8
  printStackCompilationSummary
9
- } from "../../chunk-6W4H2K3Z.js";
10
- import "../../chunk-RRBWNEG3.js";
11
- import "../../chunk-NG2GGK6P.js";
9
+ } from "../../chunk-5BGBH3KD.js";
10
+ import "../../chunk-XHTN56UT.js";
11
+ import "../../chunk-HKIQA4F6.js";
12
12
  import {
13
13
  BaseCommand,
14
14
  EXIT_CODES
15
- } from "../../chunk-IJLAVOKZ.js";
15
+ } from "../../chunk-KDYE3AGL.js";
16
16
  import {
17
17
  setVerbose
18
- } from "../../chunk-4CRWKTNQ.js";
19
- import "../../chunk-SRIH4U5Y.js";
18
+ } from "../../chunk-6C66NL4X.js";
19
+ import "../../chunk-SYGXJBG6.js";
20
20
  import {
21
21
  PROJECT_ROOT,
22
22
  STACKS_FILE_PATH
23
23
  } from "../../chunk-EGMQ3SXN.js";
24
- import "../../chunk-NKKYTCBH.js";
24
+ import "../../chunk-PSU42CXK.js";
25
25
  import {
26
26
  init_esm_shims
27
27
  } from "../../chunk-DHET7RCE.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getAgentDefinitions,
4
4
  recompileAgents
5
- } from "../chunk-NPMGVQM4.js";
5
+ } from "../chunk-VU4ZCRZS.js";
6
6
  import {
7
7
  ERROR_MESSAGES,
8
8
  INFO_MESSAGES,
@@ -13,18 +13,18 @@ import {
13
13
  detectProjectInstallation,
14
14
  discoverAllPluginSkills,
15
15
  resolveSource
16
- } from "../chunk-6W4H2K3Z.js";
16
+ } from "../chunk-5BGBH3KD.js";
17
17
  import {
18
18
  parseFrontmatter
19
- } from "../chunk-RRBWNEG3.js";
19
+ } from "../chunk-XHTN56UT.js";
20
20
  import {
21
21
  typedEntries,
22
22
  typedKeys
23
- } from "../chunk-NG2GGK6P.js";
23
+ } from "../chunk-HKIQA4F6.js";
24
24
  import {
25
25
  BaseCommand,
26
26
  EXIT_CODES
27
- } from "../chunk-IJLAVOKZ.js";
27
+ } from "../chunk-KDYE3AGL.js";
28
28
  import {
29
29
  directoryExists,
30
30
  fileExists,
@@ -33,15 +33,15 @@ import {
33
33
  setVerbose,
34
34
  verbose,
35
35
  warn
36
- } from "../chunk-4CRWKTNQ.js";
37
- import "../chunk-SRIH4U5Y.js";
36
+ } from "../chunk-6C66NL4X.js";
37
+ import "../chunk-SYGXJBG6.js";
38
38
  import {
39
39
  CLI_BIN_NAME,
40
40
  GLOBAL_INSTALL_ROOT,
41
41
  LOCAL_SKILLS_PATH,
42
42
  STANDARD_FILES
43
43
  } from "../chunk-EGMQ3SXN.js";
44
- import "../chunk-NKKYTCBH.js";
44
+ import "../chunk-PSU42CXK.js";
45
45
  import {
46
46
  init_esm_shims
47
47
  } from "../chunk-DHET7RCE.js";
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigShow
4
- } from "../../chunk-W6NWOYMS.js";
5
- import "../../chunk-6W4H2K3Z.js";
6
- import "../../chunk-RRBWNEG3.js";
7
- import "../../chunk-NG2GGK6P.js";
8
- import "../../chunk-IJLAVOKZ.js";
9
- import "../../chunk-4CRWKTNQ.js";
10
- import "../../chunk-SRIH4U5Y.js";
4
+ } from "../../chunk-XZ57QYVI.js";
5
+ import "../../chunk-5BGBH3KD.js";
6
+ import "../../chunk-XHTN56UT.js";
7
+ import "../../chunk-HKIQA4F6.js";
8
+ import "../../chunk-KDYE3AGL.js";
9
+ import "../../chunk-6C66NL4X.js";
10
+ import "../../chunk-SYGXJBG6.js";
11
11
  import "../../chunk-EGMQ3SXN.js";
12
- import "../../chunk-NKKYTCBH.js";
12
+ import "../../chunk-PSU42CXK.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "../../chunk-DHET7RCE.js";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getProjectConfigPath
4
- } from "../../chunk-6W4H2K3Z.js";
5
- import "../../chunk-RRBWNEG3.js";
6
- import "../../chunk-NG2GGK6P.js";
4
+ } from "../../chunk-5BGBH3KD.js";
5
+ import "../../chunk-XHTN56UT.js";
6
+ import "../../chunk-HKIQA4F6.js";
7
7
  import {
8
8
  BaseCommand
9
- } from "../../chunk-IJLAVOKZ.js";
10
- import "../../chunk-4CRWKTNQ.js";
11
- import "../../chunk-SRIH4U5Y.js";
9
+ } from "../../chunk-KDYE3AGL.js";
10
+ import "../../chunk-6C66NL4X.js";
11
+ import "../../chunk-SYGXJBG6.js";
12
12
  import "../../chunk-EGMQ3SXN.js";
13
- import "../../chunk-NKKYTCBH.js";
13
+ import "../../chunk-PSU42CXK.js";
14
14
  import {
15
15
  init_esm_shims
16
16
  } from "../../chunk-DHET7RCE.js";
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ConfigShow
4
- } from "../../chunk-W6NWOYMS.js";
5
- import "../../chunk-6W4H2K3Z.js";
6
- import "../../chunk-RRBWNEG3.js";
7
- import "../../chunk-NG2GGK6P.js";
8
- import "../../chunk-IJLAVOKZ.js";
9
- import "../../chunk-4CRWKTNQ.js";
10
- import "../../chunk-SRIH4U5Y.js";
4
+ } from "../../chunk-XZ57QYVI.js";
5
+ import "../../chunk-5BGBH3KD.js";
6
+ import "../../chunk-XHTN56UT.js";
7
+ import "../../chunk-HKIQA4F6.js";
8
+ import "../../chunk-KDYE3AGL.js";
9
+ import "../../chunk-6C66NL4X.js";
10
+ import "../../chunk-SYGXJBG6.js";
11
11
  import "../../chunk-EGMQ3SXN.js";
12
- import "../../chunk-NKKYTCBH.js";
12
+ import "../../chunk-PSU42CXK.js";
13
13
  import "../../chunk-DHET7RCE.js";
14
14
  export {
15
15
  ConfigShow as default
@@ -2,26 +2,26 @@
2
2
  import {
3
3
  loadSkillsMatrixFromSource,
4
4
  readForkedFromMetadata
5
- } from "../chunk-6W4H2K3Z.js";
6
- import "../chunk-RRBWNEG3.js";
7
- import "../chunk-NG2GGK6P.js";
5
+ } from "../chunk-5BGBH3KD.js";
6
+ import "../chunk-XHTN56UT.js";
7
+ import "../chunk-HKIQA4F6.js";
8
8
  import {
9
9
  BaseCommand,
10
10
  EXIT_CODES
11
- } from "../chunk-IJLAVOKZ.js";
11
+ } from "../chunk-KDYE3AGL.js";
12
12
  import {
13
13
  fileExists,
14
14
  getErrorMessage,
15
15
  listDirectories,
16
16
  readFile
17
- } from "../chunk-4CRWKTNQ.js";
18
- import "../chunk-SRIH4U5Y.js";
17
+ } from "../chunk-6C66NL4X.js";
18
+ import "../chunk-SYGXJBG6.js";
19
19
  import {
20
20
  CLI_BIN_NAME,
21
21
  LOCAL_SKILLS_PATH,
22
22
  STANDARD_FILES
23
23
  } from "../chunk-EGMQ3SXN.js";
24
- import "../chunk-NKKYTCBH.js";
24
+ import "../chunk-PSU42CXK.js";
25
25
  import {
26
26
  init_esm_shims
27
27
  } from "../chunk-DHET7RCE.js";
@@ -5,23 +5,23 @@ import {
5
5
  loadProjectConfig,
6
6
  loadSkillsMatrixFromSource,
7
7
  validateProjectConfig
8
- } from "../chunk-6W4H2K3Z.js";
9
- import "../chunk-RRBWNEG3.js";
8
+ } from "../chunk-5BGBH3KD.js";
9
+ import "../chunk-XHTN56UT.js";
10
10
  import {
11
11
  matrix
12
- } from "../chunk-NG2GGK6P.js";
12
+ } from "../chunk-HKIQA4F6.js";
13
13
  import {
14
14
  BaseCommand,
15
15
  EXIT_CODES
16
- } from "../chunk-IJLAVOKZ.js";
16
+ } from "../chunk-KDYE3AGL.js";
17
17
  import {
18
18
  directoryExists,
19
19
  fileExists,
20
20
  getErrorMessage,
21
21
  glob,
22
22
  setVerbose
23
- } from "../chunk-4CRWKTNQ.js";
24
- import "../chunk-SRIH4U5Y.js";
23
+ } from "../chunk-6C66NL4X.js";
24
+ import "../chunk-SYGXJBG6.js";
25
25
  import {
26
26
  CLAUDE_DIR,
27
27
  CLAUDE_SRC_DIR,
@@ -29,7 +29,7 @@ import {
29
29
  DEFAULT_BRANDING,
30
30
  STANDARD_FILES
31
31
  } from "../chunk-EGMQ3SXN.js";
32
- import "../chunk-NKKYTCBH.js";
32
+ import "../chunk-PSU42CXK.js";
33
33
  import {
34
34
  init_esm_shims
35
35
  } from "../chunk-DHET7RCE.js";
@@ -1,26 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  Wizard
4
- } from "../chunk-A5TTDOP4.js";
5
- import "../chunk-OZ4DXMRF.js";
4
+ } from "../chunk-7QAVO7VN.js";
5
+ import "../chunk-ZZJ6H6VB.js";
6
6
  import "../chunk-SXGBPQY6.js";
7
- import "../chunk-746DCNGM.js";
8
- import "../chunk-7X4F4HCO.js";
7
+ import "../chunk-FYYIRFYT.js";
8
+ import "../chunk-DFKNFZI2.js";
9
9
  import "../chunk-V36FRPAU.js";
10
- import "../chunk-TKNPMYKJ.js";
11
- import "../chunk-2YFC7IJ6.js";
12
- import "../chunk-JQSJH72Q.js";
13
- import "../chunk-4EPFKZB5.js";
10
+ import "../chunk-GMUOEQOY.js";
11
+ import "../chunk-GCT7LSYW.js";
12
+ import "../chunk-FHHTDPMW.js";
13
+ import "../chunk-WXC2Y5TF.js";
14
14
  import "../chunk-K77I4XGL.js";
15
- import "../chunk-RKZFLLER.js";
15
+ import "../chunk-SPATQKH6.js";
16
16
  import "../chunk-MWGDG4QN.js";
17
- import "../chunk-7Q6RMYR3.js";
17
+ import "../chunk-W22IYRZV.js";
18
18
  import "../chunk-7SOPVGDV.js";
19
19
  import "../chunk-UFKDY45I.js";
20
- import "../chunk-GHBZ7NUI.js";
20
+ import "../chunk-JOTAIMTC.js";
21
21
  import "../chunk-P2FHS5IS.js";
22
- import "../chunk-MYSIW4HY.js";
23
- import "../chunk-LVNNP7T4.js";
22
+ import "../chunk-CUCF5LM4.js";
23
+ import "../chunk-U6A4YFOF.js";
24
24
  import "../chunk-CBXMOWQY.js";
25
25
  import "../chunk-XMLCXRTS.js";
26
26
  import "../chunk-JNQKCZA3.js";
@@ -28,14 +28,14 @@ import "../chunk-AUNBGZS4.js";
28
28
  import "../chunk-2PZ7LBFT.js";
29
29
  import "../chunk-WF5PMBIR.js";
30
30
  import "../chunk-KUV24B5M.js";
31
- import "../chunk-EWGFIBBU.js";
31
+ import "../chunk-BVSWWBPE.js";
32
32
  import "../chunk-T5DJCIUP.js";
33
33
  import "../chunk-U3IGFMCY.js";
34
34
  import "../chunk-CBYRFAUN.js";
35
35
  import {
36
36
  getAgentDefinitions,
37
37
  recompileAgents
38
- } from "../chunk-NPMGVQM4.js";
38
+ } from "../chunk-VU4ZCRZS.js";
39
39
  import {
40
40
  ERROR_MESSAGES,
41
41
  INFO_MESSAGES,
@@ -58,26 +58,26 @@ import {
58
58
  loadSkillsMatrixFromSource,
59
59
  migrateLocalSkillScope,
60
60
  writeScopedConfigs
61
- } from "../chunk-6W4H2K3Z.js";
61
+ } from "../chunk-5BGBH3KD.js";
62
62
  import {
63
63
  loadAllAgents
64
- } from "../chunk-RRBWNEG3.js";
64
+ } from "../chunk-XHTN56UT.js";
65
65
  import {
66
66
  getSkillById,
67
67
  matrix
68
- } from "../chunk-NG2GGK6P.js";
68
+ } from "../chunk-HKIQA4F6.js";
69
69
  import {
70
70
  BaseCommand,
71
71
  EXIT_CODES
72
- } from "../chunk-IJLAVOKZ.js";
72
+ } from "../chunk-KDYE3AGL.js";
73
73
  import {
74
74
  disableBuffering,
75
75
  drainBuffer,
76
76
  enableBuffering,
77
77
  getErrorMessage,
78
78
  pushBufferMessage
79
- } from "../chunk-4CRWKTNQ.js";
80
- import "../chunk-SRIH4U5Y.js";
79
+ } from "../chunk-6C66NL4X.js";
80
+ import "../chunk-SYGXJBG6.js";
81
81
  import {
82
82
  CLAUDE_DIR,
83
83
  CLAUDE_SRC_DIR,
@@ -87,7 +87,7 @@ import {
87
87
  SOURCE_DISPLAY_NAMES,
88
88
  STANDARD_FILES
89
89
  } from "../chunk-EGMQ3SXN.js";
90
- import "../chunk-NKKYTCBH.js";
90
+ import "../chunk-PSU42CXK.js";
91
91
  import {
92
92
  init_esm_shims
93
93
  } from "../chunk-DHET7RCE.js";
@@ -5,16 +5,16 @@ import {
5
5
  loadSkillsMatrixFromSource,
6
6
  resolveSource,
7
7
  saveSourceToProjectConfig
8
- } from "../chunk-6W4H2K3Z.js";
9
- import "../chunk-RRBWNEG3.js";
8
+ } from "../chunk-5BGBH3KD.js";
9
+ import "../chunk-XHTN56UT.js";
10
10
  import {
11
11
  matrix,
12
12
  typedKeys
13
- } from "../chunk-NG2GGK6P.js";
13
+ } from "../chunk-HKIQA4F6.js";
14
14
  import {
15
15
  BaseCommand,
16
16
  EXIT_CODES
17
- } from "../chunk-IJLAVOKZ.js";
17
+ } from "../chunk-KDYE3AGL.js";
18
18
  import {
19
19
  copy,
20
20
  directoryExists,
@@ -22,8 +22,8 @@ import {
22
22
  fileExists,
23
23
  listDirectories,
24
24
  writeFile
25
- } from "../chunk-4CRWKTNQ.js";
26
- import "../chunk-SRIH4U5Y.js";
25
+ } from "../chunk-6C66NL4X.js";
26
+ import "../chunk-SYGXJBG6.js";
27
27
  import {
28
28
  CLAUDE_SRC_DIR,
29
29
  DEFAULT_BRANDING,
@@ -32,7 +32,7 @@ import {
32
32
  PROJECT_ROOT,
33
33
  STANDARD_FILES
34
34
  } from "../chunk-EGMQ3SXN.js";
35
- import "../chunk-NKKYTCBH.js";
35
+ import "../chunk-PSU42CXK.js";
36
36
  import {
37
37
  init_esm_shims
38
38
  } from "../chunk-DHET7RCE.js";
@@ -8,13 +8,13 @@ import {
8
8
  computeFileHash,
9
9
  fetchFromSource,
10
10
  getCurrentDate
11
- } from "../../chunk-6W4H2K3Z.js";
12
- import "../../chunk-RRBWNEG3.js";
13
- import "../../chunk-NG2GGK6P.js";
11
+ } from "../../chunk-5BGBH3KD.js";
12
+ import "../../chunk-XHTN56UT.js";
13
+ import "../../chunk-HKIQA4F6.js";
14
14
  import {
15
15
  BaseCommand,
16
16
  EXIT_CODES
17
- } from "../../chunk-IJLAVOKZ.js";
17
+ } from "../../chunk-KDYE3AGL.js";
18
18
  import {
19
19
  copy,
20
20
  directoryExists,
@@ -25,8 +25,8 @@ import {
25
25
  listDirectories,
26
26
  readFile,
27
27
  writeFile
28
- } from "../../chunk-4CRWKTNQ.js";
29
- import "../../chunk-SRIH4U5Y.js";
28
+ } from "../../chunk-6C66NL4X.js";
29
+ import "../../chunk-SYGXJBG6.js";
30
30
  import {
31
31
  DEFAULT_SKILLS_SUBDIR,
32
32
  GITHUB_SOURCE,
@@ -34,7 +34,7 @@ import {
34
34
  STANDARD_FILES,
35
35
  YAML_FORMATTING
36
36
  } from "../../chunk-EGMQ3SXN.js";
37
- import "../../chunk-NKKYTCBH.js";
37
+ import "../../chunk-PSU42CXK.js";
38
38
  import {
39
39
  init_esm_shims
40
40
  } from "../../chunk-DHET7RCE.js";
@@ -5,25 +5,25 @@ import {
5
5
  import {
6
6
  discoverLocalSkills,
7
7
  loadSkillsMatrixFromSource
8
- } from "../chunk-6W4H2K3Z.js";
9
- import "../chunk-RRBWNEG3.js";
8
+ } from "../chunk-5BGBH3KD.js";
9
+ import "../chunk-XHTN56UT.js";
10
10
  import {
11
11
  matrix
12
- } from "../chunk-NG2GGK6P.js";
12
+ } from "../chunk-HKIQA4F6.js";
13
13
  import {
14
14
  BaseCommand,
15
15
  EXIT_CODES
16
- } from "../chunk-IJLAVOKZ.js";
16
+ } from "../chunk-KDYE3AGL.js";
17
17
  import {
18
18
  fileExists,
19
19
  readFile
20
- } from "../chunk-4CRWKTNQ.js";
21
- import "../chunk-SRIH4U5Y.js";
20
+ } from "../chunk-6C66NL4X.js";
21
+ import "../chunk-SYGXJBG6.js";
22
22
  import {
23
23
  CLI_BIN_NAME,
24
24
  STANDARD_FILES
25
25
  } from "../chunk-EGMQ3SXN.js";
26
- import "../chunk-NKKYTCBH.js";
26
+ import "../chunk-PSU42CXK.js";
27
27
  import {
28
28
  init_esm_shims
29
29
  } from "../chunk-DHET7RCE.js";
@@ -74,12 +74,6 @@ function formatRequirements(requirements) {
74
74
  return prefix + req.skillIds.join(", ");
75
75
  }).join("; ");
76
76
  }
77
- function formatTags(tags) {
78
- if (tags.length === 0) {
79
- return "(none)";
80
- }
81
- return tags.join(", ");
82
- }
83
77
  function findSuggestions(skills, query, maxSuggestions) {
84
78
  const lowerQuery = query.toLowerCase();
85
79
  const matches = [];
@@ -105,8 +99,6 @@ function formatSkillInfo(skill, isInstalled) {
105
99
  lines.push("Description:");
106
100
  lines.push(` ${skill.description}`);
107
101
  lines.push("");
108
- lines.push(`Tags: ${formatTags(skill.tags)}`);
109
- lines.push("");
110
102
  lines.push(`Requires: ${formatRequirements(skill.requires)}`);
111
103
  lines.push(
112
104
  `Conflicts with: ${skill.conflictsWith.length > 0 ? skill.conflictsWith.map((r) => r.skillId).join(", ") : "(none)"}`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/commands/info.ts"],"sourcesContent":["import { Args, Flags } from \"@oclif/core\";\nimport path from \"path\";\nimport { BaseCommand } from \"../base-command.js\";\nimport { loadSkillsMatrixFromSource } from \"../lib/loading/index.js\";\nimport { matrix } from \"../lib/matrix/matrix-provider\";\nimport { discoverLocalSkills } from \"../lib/skills/index.js\";\nimport { fileExists, readFile } from \"../utils/fs.js\";\nimport { CLI_BIN_NAME, STANDARD_FILES } from \"../consts.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport { STATUS_MESSAGES } from \"../utils/messages.js\";\nimport type { ResolvedSkill, SkillId, SkillSlug, SkillRequirement } from \"../types/index.js\";\n\nconst CONTENT_PREVIEW_LINES = 10;\nconst MAX_LINE_LENGTH = 80;\nconst MAX_SUGGESTIONS = 5;\n\nfunction stripFrontmatter(content: string): string {\n const lines = content.split(\"\\n\");\n let inFrontmatter = false;\n let frontmatterEndIndex = 0;\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i].trim();\n if (line === \"---\") {\n if (!inFrontmatter) {\n inFrontmatter = true;\n } else {\n frontmatterEndIndex = i + 1;\n break;\n }\n }\n }\n\n return lines.slice(frontmatterEndIndex).join(\"\\n\");\n}\n\nfunction getPreviewLines(content: string, maxLines: number): string[] {\n const body = stripFrontmatter(content);\n const lines = body.split(\"\\n\");\n const result: string[] = [];\n\n for (const line of lines) {\n if (result.length >= maxLines) break;\n if (line.trim() || result.length > 0) {\n const truncated =\n line.length > MAX_LINE_LENGTH ? `${line.slice(0, MAX_LINE_LENGTH - 3)}...` : line;\n result.push(truncated);\n }\n }\n\n return result;\n}\n\nfunction formatRequirements(requirements: SkillRequirement[]): string {\n if (requirements.length === 0) {\n return \"(none)\";\n }\n return requirements\n .map((req) => {\n const prefix = req.needsAny ? \"any of: \" : \"\";\n return prefix + req.skillIds.join(\", \");\n })\n .join(\"; \");\n}\n\nfunction formatTags(tags: string[]): string {\n if (tags.length === 0) {\n return \"(none)\";\n }\n return tags.join(\", \");\n}\n\nfunction findSuggestions(\n skills: Partial<Record<SkillId, ResolvedSkill>>,\n query: string,\n maxSuggestions: number,\n): string[] {\n const lowerQuery = query.toLowerCase();\n const matches: string[] = [];\n\n for (const skill of Object.values(skills)) {\n if (!skill) continue;\n if (matches.length >= maxSuggestions) break;\n if (\n skill.id.toLowerCase().includes(lowerQuery) ||\n skill.displayName.toLowerCase().includes(lowerQuery) ||\n skill.slug.toLowerCase().includes(lowerQuery)\n ) {\n matches.push(skill.id);\n }\n }\n\n return matches;\n}\n\nfunction formatSkillInfo(skill: ResolvedSkill, isInstalled: boolean): string {\n const lines: string[] = [];\n\n lines.push(`Skill: ${skill.id}`);\n if (skill.slug) {\n lines.push(`Slug: ${skill.slug}`);\n }\n lines.push(`Display Name: ${skill.displayName}`);\n lines.push(`Author: ${skill.author}`);\n lines.push(`Category: ${skill.category}`);\n lines.push(\"\");\n lines.push(\"Description:\");\n lines.push(` ${skill.description}`);\n lines.push(\"\");\n lines.push(`Tags: ${formatTags(skill.tags)}`);\n lines.push(\"\");\n lines.push(`Requires: ${formatRequirements(skill.requires)}`);\n lines.push(\n `Conflicts with: ${skill.conflictsWith.length > 0 ? skill.conflictsWith.map((r) => r.skillId).join(\", \") : \"(none)\"}`,\n );\n lines.push(\n `Recommended: ${skill.isRecommended ? `Yes${skill.recommendedReason ? ` — ${skill.recommendedReason}` : \"\"}` : \"No\"}`,\n );\n\n if (skill.usageGuidance) {\n lines.push(\"\");\n lines.push(\"Usage Guidance:\");\n lines.push(` ${skill.usageGuidance}`);\n }\n\n lines.push(\"\");\n lines.push(`Local Status: ${isInstalled ? \"Installed\" : \"Not installed\"}`);\n\n return lines.join(\"\\n\");\n}\n\nexport default class Info extends BaseCommand {\n static summary = \"Show detailed information about a skill\";\n static description =\n \"Display comprehensive information about a skill including metadata, relationships, and content preview\";\n\n static examples = [\n {\n description: \"Show info for a skill by ID\",\n command: \"<%= config.bin %> <%= command.id %> web-framework-react\",\n },\n {\n description: \"Show info without content preview\",\n command: \"<%= config.bin %> <%= command.id %> web-framework-react --no-preview\",\n },\n {\n description: \"Show info from a custom source\",\n command: \"<%= config.bin %> <%= command.id %> my-skill --source github:org/marketplace\",\n },\n ];\n\n static args = {\n skill: Args.string({\n description: \"Skill ID or alias to look up\",\n required: true,\n }),\n };\n\n static flags = {\n ...BaseCommand.baseFlags,\n preview: Flags.boolean({\n description: \"Show content preview from SKILL.md\",\n default: true,\n allowNo: true,\n }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(Info);\n\n try {\n this.log(STATUS_MESSAGES.LOADING_SKILLS);\n\n const { sourcePath, isLocal } = await loadSkillsMatrixFromSource({\n sourceFlag: flags.source,\n });\n\n this.log(`Loaded from ${isLocal ? \"local\" : \"remote\"}: ${sourcePath}`);\n\n // CLI arg is an untyped string — try as skill ID first, then as slug\n const slugResolvedId = matrix.slugMap.slugToId[args.skill as SkillSlug];\n let skill =\n matrix.skills[args.skill as SkillId] ??\n (slugResolvedId ? matrix.skills[slugResolvedId] : undefined);\n\n if (!skill) {\n const suggestions = findSuggestions(matrix.skills, args.skill, MAX_SUGGESTIONS);\n\n this.log(\"\");\n this.error(`Skill \"${args.skill}\" not found.`, { exit: false });\n\n if (suggestions.length > 0) {\n this.log(\"\");\n this.log(\"Did you mean one of these?\");\n for (const suggestion of suggestions) {\n this.log(` - ${suggestion}`);\n }\n }\n\n this.log(\"\");\n this.logInfo(`Use '${CLI_BIN_NAME} search <query>' to find available skills.`);\n this.log(\"\");\n this.exit(EXIT_CODES.ERROR);\n }\n\n const localSkillsResult = await discoverLocalSkills(process.cwd());\n const localSkillIds = localSkillsResult?.skills.map((s) => s.id) || [];\n const isInstalled = localSkillIds.includes(skill.id);\n\n this.log(\"\");\n this.log(formatSkillInfo(skill, isInstalled));\n\n if (flags.preview) {\n let skillMdPath: string;\n\n if (skill.local && skill.localPath) {\n skillMdPath = path.join(process.cwd(), skill.localPath, STANDARD_FILES.SKILL_MD);\n } else {\n const sourceDir = isLocal ? sourcePath : path.dirname(sourcePath);\n skillMdPath = path.join(sourceDir, skill.path, STANDARD_FILES.SKILL_MD);\n }\n\n if (await fileExists(skillMdPath)) {\n const content = await readFile(skillMdPath);\n const previewLines = getPreviewLines(content, CONTENT_PREVIEW_LINES);\n\n if (previewLines.length > 0) {\n this.log(\"\");\n this.log(`--- Content Preview (first ${CONTENT_PREVIEW_LINES} lines) ---`);\n for (const line of previewLines) {\n this.log(line);\n }\n }\n }\n }\n\n this.log(\"\");\n } catch (error) {\n this.handleError(error);\n }\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/cli/commands/info.ts"],"sourcesContent":["import { Args, Flags } from \"@oclif/core\";\nimport path from \"path\";\nimport { BaseCommand } from \"../base-command.js\";\nimport { loadSkillsMatrixFromSource } from \"../lib/loading/index.js\";\nimport { matrix } from \"../lib/matrix/matrix-provider\";\nimport { discoverLocalSkills } from \"../lib/skills/index.js\";\nimport { fileExists, readFile } from \"../utils/fs.js\";\nimport { CLI_BIN_NAME, STANDARD_FILES } from \"../consts.js\";\nimport { EXIT_CODES } from \"../lib/exit-codes.js\";\nimport { STATUS_MESSAGES } from \"../utils/messages.js\";\nimport type { ResolvedSkill, SkillId, SkillSlug, SkillRequirement } from \"../types/index.js\";\n\nconst CONTENT_PREVIEW_LINES = 10;\nconst MAX_LINE_LENGTH = 80;\nconst MAX_SUGGESTIONS = 5;\n\nfunction stripFrontmatter(content: string): string {\n const lines = content.split(\"\\n\");\n let inFrontmatter = false;\n let frontmatterEndIndex = 0;\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i].trim();\n if (line === \"---\") {\n if (!inFrontmatter) {\n inFrontmatter = true;\n } else {\n frontmatterEndIndex = i + 1;\n break;\n }\n }\n }\n\n return lines.slice(frontmatterEndIndex).join(\"\\n\");\n}\n\nfunction getPreviewLines(content: string, maxLines: number): string[] {\n const body = stripFrontmatter(content);\n const lines = body.split(\"\\n\");\n const result: string[] = [];\n\n for (const line of lines) {\n if (result.length >= maxLines) break;\n if (line.trim() || result.length > 0) {\n const truncated =\n line.length > MAX_LINE_LENGTH ? `${line.slice(0, MAX_LINE_LENGTH - 3)}...` : line;\n result.push(truncated);\n }\n }\n\n return result;\n}\n\nfunction formatRequirements(requirements: SkillRequirement[]): string {\n if (requirements.length === 0) {\n return \"(none)\";\n }\n return requirements\n .map((req) => {\n const prefix = req.needsAny ? \"any of: \" : \"\";\n return prefix + req.skillIds.join(\", \");\n })\n .join(\"; \");\n}\n\nfunction findSuggestions(\n skills: Partial<Record<SkillId, ResolvedSkill>>,\n query: string,\n maxSuggestions: number,\n): string[] {\n const lowerQuery = query.toLowerCase();\n const matches: string[] = [];\n\n for (const skill of Object.values(skills)) {\n if (!skill) continue;\n if (matches.length >= maxSuggestions) break;\n if (\n skill.id.toLowerCase().includes(lowerQuery) ||\n skill.displayName.toLowerCase().includes(lowerQuery) ||\n skill.slug.toLowerCase().includes(lowerQuery)\n ) {\n matches.push(skill.id);\n }\n }\n\n return matches;\n}\n\nfunction formatSkillInfo(skill: ResolvedSkill, isInstalled: boolean): string {\n const lines: string[] = [];\n\n lines.push(`Skill: ${skill.id}`);\n if (skill.slug) {\n lines.push(`Slug: ${skill.slug}`);\n }\n lines.push(`Display Name: ${skill.displayName}`);\n lines.push(`Author: ${skill.author}`);\n lines.push(`Category: ${skill.category}`);\n lines.push(\"\");\n lines.push(\"Description:\");\n lines.push(` ${skill.description}`);\n lines.push(\"\");\n lines.push(`Requires: ${formatRequirements(skill.requires)}`);\n lines.push(\n `Conflicts with: ${skill.conflictsWith.length > 0 ? skill.conflictsWith.map((r) => r.skillId).join(\", \") : \"(none)\"}`,\n );\n lines.push(\n `Recommended: ${skill.isRecommended ? `Yes${skill.recommendedReason ? ` — ${skill.recommendedReason}` : \"\"}` : \"No\"}`,\n );\n\n if (skill.usageGuidance) {\n lines.push(\"\");\n lines.push(\"Usage Guidance:\");\n lines.push(` ${skill.usageGuidance}`);\n }\n\n lines.push(\"\");\n lines.push(`Local Status: ${isInstalled ? \"Installed\" : \"Not installed\"}`);\n\n return lines.join(\"\\n\");\n}\n\nexport default class Info extends BaseCommand {\n static summary = \"Show detailed information about a skill\";\n static description =\n \"Display comprehensive information about a skill including metadata, relationships, and content preview\";\n\n static examples = [\n {\n description: \"Show info for a skill by ID\",\n command: \"<%= config.bin %> <%= command.id %> web-framework-react\",\n },\n {\n description: \"Show info without content preview\",\n command: \"<%= config.bin %> <%= command.id %> web-framework-react --no-preview\",\n },\n {\n description: \"Show info from a custom source\",\n command: \"<%= config.bin %> <%= command.id %> my-skill --source github:org/marketplace\",\n },\n ];\n\n static args = {\n skill: Args.string({\n description: \"Skill ID or alias to look up\",\n required: true,\n }),\n };\n\n static flags = {\n ...BaseCommand.baseFlags,\n preview: Flags.boolean({\n description: \"Show content preview from SKILL.md\",\n default: true,\n allowNo: true,\n }),\n };\n\n async run(): Promise<void> {\n const { args, flags } = await this.parse(Info);\n\n try {\n this.log(STATUS_MESSAGES.LOADING_SKILLS);\n\n const { sourcePath, isLocal } = await loadSkillsMatrixFromSource({\n sourceFlag: flags.source,\n });\n\n this.log(`Loaded from ${isLocal ? \"local\" : \"remote\"}: ${sourcePath}`);\n\n // CLI arg is an untyped string — try as skill ID first, then as slug\n const slugResolvedId = matrix.slugMap.slugToId[args.skill as SkillSlug];\n let skill =\n matrix.skills[args.skill as SkillId] ??\n (slugResolvedId ? matrix.skills[slugResolvedId] : undefined);\n\n if (!skill) {\n const suggestions = findSuggestions(matrix.skills, args.skill, MAX_SUGGESTIONS);\n\n this.log(\"\");\n this.error(`Skill \"${args.skill}\" not found.`, { exit: false });\n\n if (suggestions.length > 0) {\n this.log(\"\");\n this.log(\"Did you mean one of these?\");\n for (const suggestion of suggestions) {\n this.log(` - ${suggestion}`);\n }\n }\n\n this.log(\"\");\n this.logInfo(`Use '${CLI_BIN_NAME} search <query>' to find available skills.`);\n this.log(\"\");\n this.exit(EXIT_CODES.ERROR);\n }\n\n const localSkillsResult = await discoverLocalSkills(process.cwd());\n const localSkillIds = localSkillsResult?.skills.map((s) => s.id) || [];\n const isInstalled = localSkillIds.includes(skill.id);\n\n this.log(\"\");\n this.log(formatSkillInfo(skill, isInstalled));\n\n if (flags.preview) {\n let skillMdPath: string;\n\n if (skill.local && skill.localPath) {\n skillMdPath = path.join(process.cwd(), skill.localPath, STANDARD_FILES.SKILL_MD);\n } else {\n const sourceDir = isLocal ? sourcePath : path.dirname(sourcePath);\n skillMdPath = path.join(sourceDir, skill.path, STANDARD_FILES.SKILL_MD);\n }\n\n if (await fileExists(skillMdPath)) {\n const content = await readFile(skillMdPath);\n const previewLines = getPreviewLines(content, CONTENT_PREVIEW_LINES);\n\n if (previewLines.length > 0) {\n this.log(\"\");\n this.log(`--- Content Preview (first ${CONTENT_PREVIEW_LINES} lines) ---`);\n for (const line of previewLines) {\n this.log(line);\n }\n }\n }\n }\n\n this.log(\"\");\n } catch (error) {\n this.handleError(error);\n }\n }\n}\n"],"mappings":"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","names":[]}