agent-skills-cli 1.0.8 → 1.0.9

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 (142) hide show
  1. package/README.md +18 -17
  2. package/dist/cli/agents.d.ts +10 -0
  3. package/dist/cli/agents.d.ts.map +1 -0
  4. package/dist/cli/agents.js +270 -0
  5. package/dist/cli/agents.js.map +1 -0
  6. package/dist/cli/commands/audit.d.ts +11 -0
  7. package/dist/cli/commands/audit.d.ts.map +1 -0
  8. package/dist/cli/commands/audit.js +168 -0
  9. package/dist/cli/commands/audit.js.map +1 -0
  10. package/dist/cli/commands/blueprint.d.ts +11 -0
  11. package/dist/cli/commands/blueprint.d.ts.map +1 -0
  12. package/dist/cli/commands/blueprint.js +210 -0
  13. package/dist/cli/commands/blueprint.js.map +1 -0
  14. package/dist/cli/commands/bootstrap.d.ts +11 -0
  15. package/dist/cli/commands/bootstrap.d.ts.map +1 -0
  16. package/dist/cli/commands/bootstrap.js +267 -0
  17. package/dist/cli/commands/bootstrap.js.map +1 -0
  18. package/dist/cli/commands/capture.d.ts +11 -0
  19. package/dist/cli/commands/capture.d.ts.map +1 -0
  20. package/dist/cli/commands/capture.js +109 -0
  21. package/dist/cli/commands/capture.js.map +1 -0
  22. package/dist/cli/commands/ci.d.ts +11 -0
  23. package/dist/cli/commands/ci.d.ts.map +1 -0
  24. package/dist/cli/commands/ci.js +144 -0
  25. package/dist/cli/commands/ci.js.map +1 -0
  26. package/dist/cli/commands/collab.d.ts +11 -0
  27. package/dist/cli/commands/collab.d.ts.map +1 -0
  28. package/dist/cli/commands/collab.js +196 -0
  29. package/dist/cli/commands/collab.js.map +1 -0
  30. package/dist/cli/commands/convert.d.ts +11 -0
  31. package/dist/cli/commands/convert.d.ts.map +1 -0
  32. package/dist/cli/commands/convert.js +219 -0
  33. package/dist/cli/commands/convert.js.map +1 -0
  34. package/dist/cli/commands/craft.d.ts +18 -0
  35. package/dist/cli/commands/craft.d.ts.map +1 -0
  36. package/dist/cli/commands/craft.js +205 -0
  37. package/dist/cli/commands/craft.js.map +1 -0
  38. package/dist/cli/commands/export.d.ts +9 -0
  39. package/dist/cli/commands/export.d.ts.map +1 -0
  40. package/dist/cli/commands/export.js +103 -0
  41. package/dist/cli/commands/export.js.map +1 -0
  42. package/dist/cli/commands/forge.d.ts +11 -0
  43. package/dist/cli/commands/forge.d.ts.map +1 -0
  44. package/dist/cli/commands/forge.js +152 -0
  45. package/dist/cli/commands/forge.js.map +1 -0
  46. package/dist/cli/commands/grid.d.ts +11 -0
  47. package/dist/cli/commands/grid.d.ts.map +1 -0
  48. package/dist/cli/commands/grid.js +217 -0
  49. package/dist/cli/commands/grid.js.map +1 -0
  50. package/dist/cli/commands/insight.d.ts +7 -0
  51. package/dist/cli/commands/insight.d.ts.map +1 -0
  52. package/dist/cli/commands/insight.js +71 -0
  53. package/dist/cli/commands/insight.js.map +1 -0
  54. package/dist/cli/commands/install.d.ts +6 -0
  55. package/dist/cli/commands/install.d.ts.map +1 -0
  56. package/dist/cli/commands/install.js +359 -0
  57. package/dist/cli/commands/install.js.map +1 -0
  58. package/dist/cli/commands/interactive.d.ts +7 -0
  59. package/dist/cli/commands/interactive.d.ts.map +1 -0
  60. package/dist/cli/commands/interactive.js +535 -0
  61. package/dist/cli/commands/interactive.js.map +1 -0
  62. package/dist/cli/commands/list.d.ts +6 -0
  63. package/dist/cli/commands/list.d.ts.map +1 -0
  64. package/dist/cli/commands/list.js +77 -0
  65. package/dist/cli/commands/list.js.map +1 -0
  66. package/dist/cli/commands/lockspec.d.ts +11 -0
  67. package/dist/cli/commands/lockspec.d.ts.map +1 -0
  68. package/dist/cli/commands/lockspec.js +179 -0
  69. package/dist/cli/commands/lockspec.js.map +1 -0
  70. package/dist/cli/commands/marketplace.d.ts +7 -0
  71. package/dist/cli/commands/marketplace.d.ts.map +1 -0
  72. package/dist/cli/commands/marketplace.js +417 -0
  73. package/dist/cli/commands/marketplace.js.map +1 -0
  74. package/dist/cli/commands/method.d.ts +7 -0
  75. package/dist/cli/commands/method.d.ts.map +1 -0
  76. package/dist/cli/commands/method.js +140 -0
  77. package/dist/cli/commands/method.js.map +1 -0
  78. package/dist/cli/commands/mine.d.ts +11 -0
  79. package/dist/cli/commands/mine.d.ts.map +1 -0
  80. package/dist/cli/commands/mine.js +254 -0
  81. package/dist/cli/commands/mine.js.map +1 -0
  82. package/dist/cli/commands/recall.d.ts +11 -0
  83. package/dist/cli/commands/recall.d.ts.map +1 -0
  84. package/dist/cli/commands/recall.js +201 -0
  85. package/dist/cli/commands/recall.js.map +1 -0
  86. package/dist/cli/commands/rule.d.ts +11 -0
  87. package/dist/cli/commands/rule.d.ts.map +1 -0
  88. package/dist/cli/commands/rule.js +230 -0
  89. package/dist/cli/commands/rule.js.map +1 -0
  90. package/dist/cli/commands/search.d.ts +6 -0
  91. package/dist/cli/commands/search.d.ts.map +1 -0
  92. package/dist/cli/commands/search.js +173 -0
  93. package/dist/cli/commands/search.js.map +1 -0
  94. package/dist/cli/commands/show.d.ts +6 -0
  95. package/dist/cli/commands/show.d.ts.map +1 -0
  96. package/dist/cli/commands/show.js +150 -0
  97. package/dist/cli/commands/show.js.map +1 -0
  98. package/dist/cli/commands/submit.d.ts +15 -0
  99. package/dist/cli/commands/submit.d.ts.map +1 -0
  100. package/dist/cli/commands/submit.js +151 -0
  101. package/dist/cli/commands/submit.js.map +1 -0
  102. package/dist/cli/commands/suggest.d.ts +11 -0
  103. package/dist/cli/commands/suggest.d.ts.map +1 -0
  104. package/dist/cli/commands/suggest.js +164 -0
  105. package/dist/cli/commands/suggest.js.map +1 -0
  106. package/dist/cli/commands/track.d.ts +11 -0
  107. package/dist/cli/commands/track.d.ts.map +1 -0
  108. package/dist/cli/commands/track.js +199 -0
  109. package/dist/cli/commands/track.js.map +1 -0
  110. package/dist/cli/commands/trigger.d.ts +11 -0
  111. package/dist/cli/commands/trigger.d.ts.map +1 -0
  112. package/dist/cli/commands/trigger.js +157 -0
  113. package/dist/cli/commands/trigger.js.map +1 -0
  114. package/dist/cli/commands/utils-commands.d.ts +9 -0
  115. package/dist/cli/commands/utils-commands.d.ts.map +1 -0
  116. package/dist/cli/commands/utils-commands.js +389 -0
  117. package/dist/cli/commands/utils-commands.js.map +1 -0
  118. package/dist/cli/commands/validate.d.ts +6 -0
  119. package/dist/cli/commands/validate.d.ts.map +1 -0
  120. package/dist/cli/commands/validate.js +40 -0
  121. package/dist/cli/commands/validate.js.map +1 -0
  122. package/dist/cli/index.d.ts +3 -0
  123. package/dist/cli/index.d.ts.map +1 -1
  124. package/dist/cli/index.js +84 -2743
  125. package/dist/cli/index.js.map +1 -1
  126. package/dist/core/audit.d.ts +24 -0
  127. package/dist/core/audit.d.ts.map +1 -0
  128. package/dist/core/audit.js +195 -0
  129. package/dist/core/audit.js.map +1 -0
  130. package/dist/core/index.d.ts +6 -0
  131. package/dist/core/index.d.ts.map +1 -1
  132. package/dist/core/index.js +6 -0
  133. package/dist/core/index.js.map +1 -1
  134. package/dist/core/scanner-rules.d.ts +58 -0
  135. package/dist/core/scanner-rules.d.ts.map +1 -0
  136. package/dist/core/scanner-rules.js +335 -0
  137. package/dist/core/scanner-rules.js.map +1 -0
  138. package/dist/core/suggest.d.ts +51 -0
  139. package/dist/core/suggest.d.ts.map +1 -0
  140. package/dist/core/suggest.js +241 -0
  141. package/dist/core/suggest.js.map +1 -0
  142. package/package.json +1 -1
@@ -0,0 +1,535 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import inquirer from 'inquirer';
4
+ import { discoverSkills, loadSkill, listMarketplaceSkills, installSkill, generateSkillsPromptXML, generateFullSkillsContext, } from '../../core/index.js';
5
+ /** Helper used by interactive wizard flows */
6
+ async function exportToAgent(target, skillRefs, projectDir, fs) {
7
+ const loadedSkills = [];
8
+ for (const ref of skillRefs) {
9
+ const skill = await loadSkill(ref.path);
10
+ if (skill)
11
+ loadedSkills.push(skill);
12
+ }
13
+ const exportFns = {
14
+ copilot: exportToCopilot,
15
+ cursor: exportToCursor,
16
+ claude: exportToClaude,
17
+ codex: exportToCodex,
18
+ antigravity: exportToAntigravity,
19
+ };
20
+ const fn = exportFns[target];
21
+ if (fn)
22
+ await fn(loadedSkills, projectDir, fs);
23
+ }
24
+ async function exportToCopilot(skills, projectDir, fs) {
25
+ const copilotDir = fs.join(projectDir, '.github', 'skills');
26
+ await fs.mkdir(copilotDir, { recursive: true });
27
+ for (const skill of skills) {
28
+ const skillDir = fs.join(copilotDir, skill.metadata.name);
29
+ await fs.mkdir(skillDir, { recursive: true });
30
+ const content = `---\nname: ${skill.metadata.name}\ndescription: ${skill.metadata.description}\n---\n\n${skill.body}\n`;
31
+ await fs.writeFile(fs.join(skillDir, 'SKILL.md'), content);
32
+ }
33
+ console.log(chalk.green(` āœ“ GitHub Copilot: .github/skills/<skill>/SKILL.md`));
34
+ }
35
+ async function exportToCursor(skills, projectDir, fs) {
36
+ const cursorDir = fs.join(projectDir, '.cursor', 'skills');
37
+ await fs.mkdir(cursorDir, { recursive: true });
38
+ for (const skill of skills) {
39
+ const skillDir = fs.join(cursorDir, skill.metadata.name);
40
+ await fs.mkdir(skillDir, { recursive: true });
41
+ const content = `---\nname: ${skill.metadata.name}\ndescription: ${skill.metadata.description}\n---\n\n${skill.body}\n`;
42
+ await fs.writeFile(fs.join(skillDir, 'SKILL.md'), content);
43
+ }
44
+ console.log(chalk.green(` āœ“ Cursor: .cursor/skills/<skill>/SKILL.md`));
45
+ }
46
+ async function exportToClaude(skills, projectDir, fs) {
47
+ const claudeDir = fs.join(projectDir, '.claude', 'skills');
48
+ await fs.mkdir(claudeDir, { recursive: true });
49
+ for (const skill of skills) {
50
+ const skillDir = fs.join(claudeDir, skill.metadata.name);
51
+ await fs.mkdir(skillDir, { recursive: true });
52
+ const content = `---\nname: ${skill.metadata.name}\ndescription: ${skill.metadata.description}\n---\n\n${skill.body}\n`;
53
+ await fs.writeFile(fs.join(skillDir, 'SKILL.md'), content);
54
+ }
55
+ console.log(chalk.green(` āœ“ Claude Code: .claude/skills/<skill>/SKILL.md`));
56
+ }
57
+ async function exportToCodex(skills, projectDir, fs) {
58
+ const codexDir = fs.join(projectDir, '.codex', 'skills');
59
+ await fs.mkdir(codexDir, { recursive: true });
60
+ for (const skill of skills) {
61
+ const skillDir = fs.join(codexDir, skill.metadata.name);
62
+ await fs.mkdir(skillDir, { recursive: true });
63
+ const content = `---\nname: ${skill.metadata.name}\ndescription: ${skill.metadata.description}\n---\n\n${skill.body}\n`;
64
+ await fs.writeFile(fs.join(skillDir, 'SKILL.md'), content);
65
+ }
66
+ console.log(chalk.green(` āœ“ OpenAI Codex: .codex/skills/<skill>/SKILL.md`));
67
+ }
68
+ async function exportToAntigravity(skills, projectDir, fs) {
69
+ const skillsDir = fs.join(projectDir, '.agent', 'skills');
70
+ await fs.mkdir(skillsDir, { recursive: true });
71
+ for (const skill of skills) {
72
+ const skillDir = fs.join(skillsDir, skill.metadata.name);
73
+ await fs.mkdir(skillDir, { recursive: true });
74
+ const content = `---\nname: ${skill.metadata.name}\ndescription: ${skill.metadata.description}\n---\n\n${skill.body}\n`;
75
+ await fs.writeFile(fs.join(skillDir, 'SKILL.md'), content);
76
+ }
77
+ console.log(chalk.green(` āœ“ Antigravity: .agent/skills/<skill>/SKILL.md`));
78
+ }
79
+ export function registerInteractiveCommands(program) {
80
+ // Install wizard
81
+ program
82
+ .command('install-wizard')
83
+ .alias('iw')
84
+ .description('Interactive skill installation wizard (legacy)')
85
+ .action(async () => {
86
+ try {
87
+ const spinner = ora('Fetching skills from marketplaces...').start();
88
+ const skills = await listMarketplaceSkills();
89
+ spinner.stop();
90
+ if (skills.length === 0) {
91
+ console.log(chalk.yellow('No skills found in marketplaces.'));
92
+ return;
93
+ }
94
+ const choices = skills.map(skill => ({
95
+ name: `${skill.name} - ${skill.description?.slice(0, 50) || 'No description'}...`,
96
+ value: skill.name,
97
+ short: skill.name
98
+ }));
99
+ const { selectedSkills } = await inquirer.prompt([{
100
+ type: 'checkbox',
101
+ name: 'selectedSkills',
102
+ message: 'Select skills to install (Space to select, Enter to confirm):',
103
+ choices,
104
+ pageSize: 15
105
+ }]);
106
+ if (selectedSkills.length === 0) {
107
+ console.log(chalk.yellow('No skills selected.'));
108
+ return;
109
+ }
110
+ for (const skillName of selectedSkills) {
111
+ const installSpinner = ora(`Installing ${skillName}...`).start();
112
+ try {
113
+ await installSkill(skillName);
114
+ installSpinner.succeed(`Installed: ${skillName}`);
115
+ }
116
+ catch (err) {
117
+ installSpinner.fail(`Failed to install ${skillName}: ${err}`);
118
+ }
119
+ }
120
+ console.log(chalk.bold.green('\nāœ“ Installation complete!'));
121
+ console.log(chalk.gray('Run "skills export" to export to your AI agent.'));
122
+ }
123
+ catch (error) {
124
+ console.error(chalk.red('Error:'), error);
125
+ process.exit(1);
126
+ }
127
+ });
128
+ // Export interactive
129
+ program
130
+ .command('export-interactive')
131
+ .alias('ei')
132
+ .description('Interactive export with agent selection menu')
133
+ .action(async () => {
134
+ try {
135
+ const skills = await discoverSkills();
136
+ if (skills.length === 0) {
137
+ console.log(chalk.yellow('No skills found to export.'));
138
+ return;
139
+ }
140
+ const { agents } = await inquirer.prompt([{
141
+ type: 'checkbox',
142
+ name: 'agents',
143
+ message: 'Select target AI agents:',
144
+ choices: [
145
+ { name: 'GitHub Copilot (.github/skills/<skill>/SKILL.md)', value: 'copilot', checked: true },
146
+ { name: 'Cursor (.cursor/skills/<skill>/SKILL.md)', value: 'cursor', checked: true },
147
+ { name: 'Claude Code (.claude/skills/<skill>/SKILL.md)', value: 'claude', checked: true },
148
+ { name: 'OpenAI Codex (.codex/skills/<skill>/SKILL.md)', value: 'codex', checked: true },
149
+ { name: 'Antigravity (.agent/skills/<skill>/SKILL.md)', value: 'antigravity', checked: true }
150
+ ]
151
+ }]);
152
+ if (agents.length === 0) {
153
+ console.log(chalk.yellow('No agents selected.'));
154
+ return;
155
+ }
156
+ const { mkdir, writeFile, appendFile } = await import('fs/promises');
157
+ const { join } = await import('path');
158
+ const { existsSync } = await import('fs');
159
+ console.log(chalk.bold(`\nExporting ${skills.length} skill(s) to: ${agents.join(', ')}\n`));
160
+ for (const target of agents) {
161
+ const spinner = ora(`Exporting to ${target}...`).start();
162
+ await exportToAgent(target, skills, '.', { mkdir, writeFile, appendFile, join, existsSync });
163
+ spinner.succeed();
164
+ }
165
+ console.log(chalk.bold.green('\nāœ“ Export complete!'));
166
+ }
167
+ catch (error) {
168
+ console.error(chalk.red('Error:'), error);
169
+ process.exit(1);
170
+ }
171
+ });
172
+ // Setup wizard
173
+ program
174
+ .command('setup')
175
+ .description('Interactive setup wizard - install skills and export to your agents')
176
+ .action(async () => {
177
+ console.log(chalk.bold.cyan('\nšŸš€ Agent Skills Setup Wizard\n'));
178
+ const { action } = await inquirer.prompt([{
179
+ type: 'list',
180
+ name: 'action',
181
+ message: 'What would you like to do?',
182
+ choices: [
183
+ { name: 'šŸ“¦ Install skills from marketplace', value: 'install' },
184
+ { name: 'šŸ“¤ Export installed skills to AI agents', value: 'export' },
185
+ { name: 'šŸ”„ Both - Install and export', value: 'both' }
186
+ ]
187
+ }]);
188
+ if (action === 'install' || action === 'both') {
189
+ const spinner = ora('Fetching skills from marketplaces...').start();
190
+ const skills = await listMarketplaceSkills();
191
+ spinner.stop();
192
+ if (skills.length > 0) {
193
+ const choices = skills.slice(0, 20).map(skill => ({
194
+ name: `${skill.name} - ${skill.description?.slice(0, 40) || ''}...`,
195
+ value: skill.name
196
+ }));
197
+ const { selectedSkills } = await inquirer.prompt([{
198
+ type: 'checkbox',
199
+ name: 'selectedSkills',
200
+ message: 'Select skills to install:',
201
+ choices,
202
+ pageSize: 10
203
+ }]);
204
+ for (const skillName of selectedSkills) {
205
+ const installSpinner = ora(`Installing ${skillName}...`).start();
206
+ try {
207
+ await installSkill(skillName);
208
+ installSpinner.succeed(`Installed: ${skillName}`);
209
+ }
210
+ catch (err) {
211
+ installSpinner.fail(`Failed: ${skillName}`);
212
+ }
213
+ }
214
+ }
215
+ }
216
+ if (action === 'export' || action === 'both') {
217
+ const { agents } = await inquirer.prompt([{
218
+ type: 'checkbox',
219
+ name: 'agents',
220
+ message: 'Which AI agents do you use?',
221
+ choices: [
222
+ { name: 'Cursor', value: 'cursor', checked: true },
223
+ { name: 'Claude Code', value: 'claude', checked: true },
224
+ { name: 'GitHub Copilot', value: 'copilot', checked: true },
225
+ { name: 'OpenAI Codex', value: 'codex', checked: false }
226
+ ]
227
+ }]);
228
+ const skills = await discoverSkills();
229
+ const { mkdir, writeFile, appendFile } = await import('fs/promises');
230
+ const { join } = await import('path');
231
+ const { existsSync } = await import('fs');
232
+ for (const target of agents) {
233
+ const spinner = ora(`Exporting to ${target}...`).start();
234
+ await exportToAgent(target, skills, '.', { mkdir, writeFile, appendFile, join, existsSync });
235
+ spinner.succeed();
236
+ }
237
+ }
238
+ console.log(chalk.bold.green('\n✨ Setup complete!'));
239
+ console.log(chalk.gray('Your skills are now ready to use in your AI agents.\n'));
240
+ });
241
+ // Run command
242
+ program
243
+ .command('run <skill-name> <script>')
244
+ .description('Execute a script from an installed skill')
245
+ .option('-a, --args <args...>', 'Arguments to pass to the script')
246
+ .option('--timeout <ms>', 'Timeout in milliseconds', '30000')
247
+ .action(async (skillName, script, options) => {
248
+ try {
249
+ const { executeScript, listScripts } = await import('../../core/executor.js');
250
+ const { homedir } = await import('os');
251
+ const { join } = await import('path');
252
+ const { existsSync } = await import('fs');
253
+ const skillsDir = join(homedir(), '.antigravity', 'skills');
254
+ const skillPath = join(skillsDir, skillName);
255
+ if (!existsSync(skillPath)) {
256
+ console.error(chalk.red(`Skill not found: ${skillName}`));
257
+ console.log(chalk.gray(`Expected at: ${skillPath}`));
258
+ console.log(chalk.gray('\nInstall with: skills install <skill-name>'));
259
+ process.exit(1);
260
+ }
261
+ const scripts = await listScripts(skillPath);
262
+ if (scripts.length === 0) {
263
+ console.log(chalk.yellow(`No scripts found in ${skillName}`));
264
+ console.log(chalk.gray('Skills can have scripts in the scripts/ directory.'));
265
+ return;
266
+ }
267
+ if (!scripts.includes(script)) {
268
+ console.log(chalk.red(`Script not found: ${script}`));
269
+ console.log(chalk.cyan('\nAvailable scripts:'));
270
+ scripts.forEach(s => console.log(chalk.gray(` - ${s}`)));
271
+ return;
272
+ }
273
+ const spinner = ora(`Running ${script}...`).start();
274
+ const result = await executeScript(skillPath, script, options.args || [], { timeout: parseInt(options.timeout) });
275
+ if (result.success) {
276
+ spinner.succeed(`Completed in ${result.executionTime}ms`);
277
+ if (result.stdout) {
278
+ console.log(chalk.gray('\nOutput:'));
279
+ console.log(result.stdout);
280
+ }
281
+ }
282
+ else {
283
+ spinner.fail(`Failed (exit code: ${result.exitCode})`);
284
+ if (result.stderr) {
285
+ console.error(chalk.red(result.stderr));
286
+ }
287
+ process.exit(1);
288
+ }
289
+ }
290
+ catch (error) {
291
+ console.error(chalk.red('Error running script:'), error);
292
+ process.exit(1);
293
+ }
294
+ });
295
+ // Context command
296
+ program
297
+ .command('context')
298
+ .description('Generate system prompt context for AI agents')
299
+ .option('-f, --format <format>', 'Output format: xml, json, markdown', 'xml')
300
+ .option('-s, --skills <skills...>', 'Specific skills to include (default: all installed)')
301
+ .option('-o, --output <file>', 'Write to file instead of stdout')
302
+ .action(async (options) => {
303
+ try {
304
+ const allSkills = await discoverSkills();
305
+ let skills = allSkills;
306
+ if (options.skills && options.skills.length > 0) {
307
+ skills = allSkills.filter(s => options.skills.some((name) => s.name.toLowerCase().includes(name.toLowerCase())));
308
+ }
309
+ if (skills.length === 0) {
310
+ console.error(chalk.yellow('No skills found.'));
311
+ console.log(chalk.gray('Install skills with: skills install <name>'));
312
+ return;
313
+ }
314
+ let output = '';
315
+ if (options.format === 'xml') {
316
+ const result = generateSkillsPromptXML(skills);
317
+ output = result.xml;
318
+ if (!options.output) {
319
+ console.log(chalk.gray(`\n# ${result.skillCount} skills, ~${result.estimatedTokens} tokens\n`));
320
+ }
321
+ }
322
+ else if (options.format === 'json') {
323
+ output = JSON.stringify({
324
+ skills: skills.map(s => ({
325
+ name: s.name,
326
+ description: s.description,
327
+ path: s.path
328
+ })),
329
+ count: skills.length
330
+ }, null, 2);
331
+ }
332
+ else if (options.format === 'markdown') {
333
+ output = generateFullSkillsContext(skills);
334
+ }
335
+ if (options.output) {
336
+ const { writeFile } = await import('fs/promises');
337
+ await writeFile(options.output, output);
338
+ console.log(chalk.green(`āœ“ Written to ${options.output}`));
339
+ }
340
+ else {
341
+ console.log(output);
342
+ }
343
+ }
344
+ catch (error) {
345
+ console.error(chalk.red('Error generating context:'), error);
346
+ process.exit(1);
347
+ }
348
+ });
349
+ // Preview command
350
+ program
351
+ .command('preview <skill-name>')
352
+ .description('Open skill detail page in browser')
353
+ .option('--url-only', 'Just print the URL without opening')
354
+ .action(async (skillName, options) => {
355
+ try {
356
+ const clean = skillName.replace(/^@/, '');
357
+ const url = `https://skills.karanjot.dev/marketplace/${clean}`;
358
+ if (options.urlOnly) {
359
+ console.log(url);
360
+ }
361
+ else {
362
+ const { exec } = await import('child_process');
363
+ const { promisify } = await import('util');
364
+ const execAsync = promisify(exec);
365
+ const cmd = process.platform === 'darwin' ? 'open' :
366
+ process.platform === 'win32' ? 'start' : 'xdg-open';
367
+ await execAsync(`${cmd} "${url}"`);
368
+ console.log(chalk.green(`āœ“ Opened: ${url}`));
369
+ }
370
+ }
371
+ catch (error) {
372
+ console.error(chalk.red('Error opening preview:'), error);
373
+ process.exit(1);
374
+ }
375
+ });
376
+ // Scripts command
377
+ program
378
+ .command('scripts <skill-name>')
379
+ .description('List available scripts in an installed skill')
380
+ .action(async (skillName) => {
381
+ try {
382
+ const { listScripts, isScriptSafe } = await import('../../core/executor.js');
383
+ const { homedir } = await import('os');
384
+ const { join } = await import('path');
385
+ const { existsSync } = await import('fs');
386
+ const { readFile } = await import('fs/promises');
387
+ const skillsDir = join(homedir(), '.antigravity', 'skills');
388
+ const skillPath = join(skillsDir, skillName);
389
+ if (!existsSync(skillPath)) {
390
+ console.error(chalk.red(`Skill not found: ${skillName}`));
391
+ return;
392
+ }
393
+ const scripts = await listScripts(skillPath);
394
+ if (scripts.length === 0) {
395
+ console.log(chalk.yellow('No scripts found in this skill.'));
396
+ return;
397
+ }
398
+ console.log(chalk.bold(`\nšŸ“œ Scripts in ${skillName}:\n`));
399
+ for (const script of scripts) {
400
+ const scriptPath = join(skillPath, 'scripts', script);
401
+ try {
402
+ const content = await readFile(scriptPath, 'utf-8');
403
+ const safety = isScriptSafe(content);
404
+ const safetyIcon = safety.safe ? chalk.green('āœ“') : chalk.yellow('⚠');
405
+ console.log(` ${safetyIcon} ${chalk.cyan(script)}`);
406
+ if (!safety.safe) {
407
+ safety.warnings.forEach(w => console.log(chalk.gray(` Warning: ${w}`)));
408
+ }
409
+ }
410
+ catch {
411
+ console.log(` ${chalk.gray('?')} ${script}`);
412
+ }
413
+ }
414
+ console.log(chalk.gray(`\nRun with: skills run ${skillName} <script>\n`));
415
+ }
416
+ catch (error) {
417
+ console.error(chalk.red('Error listing scripts:'), error);
418
+ process.exit(1);
419
+ }
420
+ });
421
+ // Completion command
422
+ program
423
+ .command('completion <shell>')
424
+ .description('Generate shell completion script (bash, zsh, fish)')
425
+ .action((shell) => {
426
+ const commands = [
427
+ 'list', 'validate', 'show', 'prompt', 'init', 'assets',
428
+ 'install', 'uninstall', 'search', 'run', 'context',
429
+ 'preview', 'scripts', 'market-list', 'market-search',
430
+ 'market-install', 'market-uninstall', 'market-installed',
431
+ 'market-sources', 'setup', 'completion'
432
+ ];
433
+ if (shell === 'bash') {
434
+ console.log(`# Bash completion for skills CLI
435
+ # Add to ~/.bashrc: eval "$(skills completion bash)"
436
+
437
+ _skills_completions() {
438
+ local cur="\${COMP_WORDS[COMP_CWORD]}"
439
+ local commands="${commands.join(' ')}"
440
+
441
+ if [ \${COMP_CWORD} -eq 1 ]; then
442
+ COMPREPLY=( $(compgen -W "\${commands}" -- "\${cur}") )
443
+ fi
444
+ }
445
+
446
+ complete -F _skills_completions skills`);
447
+ }
448
+ else if (shell === 'zsh') {
449
+ console.log(`# Zsh completion for skills CLI
450
+ # Add to ~/.zshrc: eval "$(skills completion zsh)"
451
+
452
+ _skills() {
453
+ local commands=(
454
+ ${commands.map(c => `'${c}:${c} command'`).join('\n ')}
455
+ )
456
+
457
+ _arguments '1: :->command' && return
458
+
459
+ case $state in
460
+ command)
461
+ _describe 'command' commands
462
+ ;;
463
+ esac
464
+ }
465
+
466
+ compdef _skills skills`);
467
+ }
468
+ else if (shell === 'fish') {
469
+ console.log(`# Fish completion for skills CLI
470
+ # Save to ~/.config/fish/completions/skills.fish
471
+
472
+ ${commands.map(c => `complete -c skills -f -n "__fish_use_subcommand" -a "${c}" -d "${c} command"`).join('\n')}`);
473
+ }
474
+ else {
475
+ console.error(chalk.red(`Unknown shell: ${shell}`));
476
+ console.log(chalk.gray('Supported: bash, zsh, fish'));
477
+ process.exit(1);
478
+ }
479
+ });
480
+ // Info command
481
+ program
482
+ .command('info')
483
+ .description('Show skills installation status and paths')
484
+ .action(async () => {
485
+ try {
486
+ const { homedir } = await import('os');
487
+ const { join } = await import('path');
488
+ const { existsSync } = await import('fs');
489
+ const { readdir } = await import('fs/promises');
490
+ console.log(chalk.bold('\nšŸ“¦ Skills CLI Info\n'));
491
+ const paths = [
492
+ { name: 'Global skills', path: join(homedir(), '.antigravity', 'skills') },
493
+ { name: 'Project skills', path: join(process.cwd(), '.antigravity', 'skills') },
494
+ { name: 'Legacy skills', path: join(process.cwd(), 'skills') },
495
+ { name: 'Config', path: join(homedir(), '.antigravity', 'marketplace.json') }
496
+ ];
497
+ console.log(chalk.cyan('šŸ“ Paths:'));
498
+ for (const { name, path } of paths) {
499
+ const exists = existsSync(path);
500
+ const icon = exists ? chalk.green('āœ“') : chalk.gray('ā—‹');
501
+ console.log(` ${icon} ${name}: ${chalk.gray(path)}`);
502
+ }
503
+ const skillsDir = join(homedir(), '.antigravity', 'skills');
504
+ let skillCount = 0;
505
+ if (existsSync(skillsDir)) {
506
+ const entries = await readdir(skillsDir, { withFileTypes: true });
507
+ skillCount = entries.filter(e => e.isDirectory()).length;
508
+ }
509
+ console.log(chalk.cyan('\nšŸ“Š Stats:'));
510
+ console.log(` Installed skills: ${chalk.bold(skillCount.toString())}`);
511
+ console.log(` Platform: ${chalk.gray(process.platform)}`);
512
+ console.log(` Node: ${chalk.gray(process.version)}`);
513
+ console.log(chalk.cyan('\nšŸ¤– Agent Directories:'));
514
+ const agentDirs = [
515
+ { name: 'Cursor', path: '.cursor/skills' },
516
+ { name: 'Claude', path: '.claude/skills' },
517
+ { name: 'Copilot', path: '.github/skills' },
518
+ { name: 'Codex', path: '.codex/skills' },
519
+ { name: 'Antigravity', path: '.agent/skills' }
520
+ ];
521
+ for (const { name, path } of agentDirs) {
522
+ const fullPath = join(process.cwd(), path);
523
+ const exists = existsSync(fullPath);
524
+ const icon = exists ? chalk.green('āœ“') : chalk.gray('ā—‹');
525
+ console.log(` ${icon} ${name}: ${chalk.gray(path)}`);
526
+ }
527
+ console.log('');
528
+ }
529
+ catch (error) {
530
+ console.error(chalk.red('Error:'), error);
531
+ process.exit(1);
532
+ }
533
+ });
534
+ }
535
+ //# sourceMappingURL=interactive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/cli/commands/interactive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * `skills list` command — List all discovered skills
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function registerListCommand(program: Command): void;
6
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QA+EnD"}