agent-skills-cli 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # Agent Skills CLI šŸš€
2
2
 
3
- > **One CLI. 67,000+ skills. All AI agents.**
3
+ > **One CLI. 100,000+ skills. 29 AI agents.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/agent-skills-cli)](https://www.npmjs.com/package/agent-skills-cli)
6
6
  [![license](https://img.shields.io/npm/l/agent-skills-cli)](LICENSE)
7
7
 
8
- Install skills from the world's largest marketplace and sync them to **Cursor**, **Claude Code**, **GitHub Copilot**, **OpenAI Codex**, **Antigravity**, **OpenCode**, **Amp**, **Kilo Code**, **Roo Code**, and **Goose** — all with a single command.
8
+ Install skills from the world's largest marketplace and sync them to **29 AI agents** including Cursor, Claude Code, GitHub Copilot, Windsurf, Cline, Gemini CLI, and more — all with a single command.
9
9
 
10
10
  🌐 **Website:** [agentskills.in](https://agentskills.in)
11
11
 
@@ -18,14 +18,14 @@ skills install @anthropic/xlsx
18
18
 
19
19
  ## ✨ Features
20
20
 
21
- - **67,000+ Skills** — Access the largest collection of AI agent skills
21
+ - **100,000+ Skills** — Access the largest collection of AI agent skills
22
22
  - **Interactive Search** — Search and install in one command: `skills search python`
23
- - **10 AI Agents** — Cursor, Claude, Copilot, Codex, Antigravity, OpenCode, Amp, Kilo, Roo, Goose
23
+ - **29 AI Agents** — Cursor, Claude, Copilot, Windsurf, Cline, Gemini CLI, and 23 more
24
24
  - **Global Install** — Install globally with `-g` or to project with default
25
- - **Git URL Support** — Install from any Git repo with `skills add owner/repo`
25
+ - **Git URL Support** — Install from GitHub, GitLab, or local paths
26
26
  - **Platform Targeting** — Install to specific platforms with `-t claude,cursor`
27
- - **Auto-Detection** — Automatically detects installed AI agents
28
- - **Modern UI** — Beautiful prompts with @clack/prompts
27
+ - **Update Tracking** — Check installed skills with `skills check`
28
+ - **Privacy-First Telemetry** — Anonymous usage tracking with opt-out
29
29
 
30
30
  ---
31
31
 
@@ -77,9 +77,9 @@ skills search react --json
77
77
  |---------|-------------|
78
78
  | `skills install <name>` | Install a skill from marketplace |
79
79
  | `skills add <source>` | Install from Git repo (owner/repo or URL) |
80
- | `skills list` | List installed skills |
81
- | `skills search <query>` | Search and install (with `-i`) |
82
- | `skills show <name>` | Show skill details |
80
+ | `skills search <query>` | Search and install skills interactively |
81
+ | `skills check` | Check installed skills across all agents |
82
+ | `skills update` | Update installed skills to latest versions |
83
83
  | `skills doctor` | Diagnose issues |
84
84
 
85
85
  ### Install Options
@@ -116,20 +116,37 @@ skills info # Show installation status
116
116
 
117
117
  ---
118
118
 
119
- ## šŸ¤– Supported Platforms (10 Agents)
120
-
121
- | Platform | Project Dir | Global Dir | Flag |
122
- |----------|-------------|------------|------|
123
- | **Cursor** | `.cursor/skills/` | `~/.cursor/skills/` | `-t cursor` |
124
- | **Claude Code** | `.claude/skills/` | `~/.claude/skills/` | `-t claude` |
125
- | **GitHub Copilot** | `.github/skills/` | `~/.github/skills/` | `-t copilot` |
126
- | **OpenAI Codex** | `.codex/skills/` | `~/.codex/skills/` | `-t codex` |
127
- | **Antigravity** | `.agent/skills/` | `~/.gemini/antigravity/skills/` | `-t antigravity` |
128
- | **OpenCode** | `.opencode/skill/` | `~/.config/opencode/skill/` | `-t opencode` |
129
- | **Amp** | `.agents/skills/` | `~/.config/agents/skills/` | `-t amp` |
130
- | **Kilo Code** | `.kilocode/skills/` | `~/.kilocode/skills/` | `-t kilo` |
131
- | **Roo Code** | `.roo/skills/` | `~/.roo/skills/` | `-t roo` |
132
- | **Goose** | `.goose/skills/` | `~/.config/goose/skills/` | `-t goose` |
119
+ ## šŸ¤– Supported Platforms (29 Agents)
120
+
121
+ | Platform | Project Dir | Global Dir |
122
+ |----------|-------------|------------|
123
+ | **Cursor** | `.cursor/skills/` | `~/.cursor/skills/` |
124
+ | **Claude Code** | `.claude/skills/` | `~/.claude/skills/` |
125
+ | **GitHub Copilot** | `.github/skills/` | `~/.github/skills/` |
126
+ | **OpenAI Codex** | `.codex/skills/` | `~/.codex/skills/` |
127
+ | **Windsurf** | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
128
+ | **Cline** | `.cline/skills/` | `~/.cline/skills/` |
129
+ | **Gemini CLI** | `.gemini/skills/` | `~/.gemini/skills/` |
130
+ | **Antigravity** | `.agent/skills/` | `~/.gemini/antigravity/skills/` |
131
+ | **OpenCode** | `.opencode/skill/` | `~/.config/opencode/skill/` |
132
+ | **Amp** | `.agents/skills/` | `~/.config/agents/skills/` |
133
+
134
+ **+19 more agents:** Kilo, Roo, Goose, CodeBuddy, Continue, Crush, Clawdbot, Droid, Kiro, MCPJam, Mux, OpenHands, Pi, Qoder, Qwen Code, Trae, Zencoder, Neovate, Command Code
135
+
136
+ ---
137
+
138
+ ## šŸ”’ Privacy & Telemetry
139
+
140
+ The CLI collects anonymous usage data to improve the product. **No personal data is collected.**
141
+
142
+ ```bash
143
+ # Opt out of telemetry
144
+ export DISABLE_TELEMETRY=1
145
+ # or
146
+ export DO_NOT_TRACK=1
147
+ ```
148
+
149
+ Telemetry is automatically disabled in CI environments.
133
150
 
134
151
  ---
135
152
 
package/dist/cli/index.js CHANGED
@@ -8,7 +8,9 @@ import chalk from 'chalk';
8
8
  import inquirer from 'inquirer';
9
9
  import ora from 'ora';
10
10
  import * as p from '@clack/prompts';
11
- import { discoverSkills, loadSkill, validateMetadata, validateBody, formatValidationResult, generateSkillsPromptXML, generateFullSkillsContext, listSkillResources, listMarketplaceSkills, installSkill, uninstallSkill, searchSkills, getInstalledSkills, listMarketplaces, addMarketplace, checkUpdates, installFromGitHubUrl, getSkillByScoped, getSkillBaseUrl, fetchAssetManifest, getAssetUrl, fetchAsset, fetchSkillsForCLI } from '../core/index.js';
11
+ import { discoverSkills, loadSkill, validateMetadata, validateBody, formatValidationResult, generateSkillsPromptXML, generateFullSkillsContext, listSkillResources, listMarketplaceSkills, installSkill, uninstallSkill, searchSkills, getInstalledSkills, listMarketplaces, addMarketplace, checkUpdates, installFromGitHubUrl, getSkillByScoped, getSkillBaseUrl, fetchAssetManifest, getAssetUrl, fetchAsset, fetchSkillsForCLI,
12
+ // Telemetry
13
+ setVersion, trackSearch } from '../core/index.js';
12
14
  import { homedir } from 'os';
13
15
  // Centralized agent configuration with project and global paths
14
16
  const home = homedir();
@@ -74,6 +76,121 @@ const AGENTS = {
74
76
  projectDir: '.goose/skills',
75
77
  globalDir: `${home}/.config/goose/skills`,
76
78
  },
79
+ // New agents from vercel-labs/skills (19 additional)
80
+ 'cline': {
81
+ name: 'cline',
82
+ displayName: 'Cline',
83
+ projectDir: '.cline/skills',
84
+ globalDir: `${home}/.cline/skills`,
85
+ },
86
+ 'codebuddy': {
87
+ name: 'codebuddy',
88
+ displayName: 'CodeBuddy',
89
+ projectDir: '.codebuddy/skills',
90
+ globalDir: `${home}/.codebuddy/skills`,
91
+ },
92
+ 'command-code': {
93
+ name: 'command-code',
94
+ displayName: 'Command Code',
95
+ projectDir: '.commandcode/skills',
96
+ globalDir: `${home}/.commandcode/skills`,
97
+ },
98
+ 'continue': {
99
+ name: 'continue',
100
+ displayName: 'Continue',
101
+ projectDir: '.continue/skills',
102
+ globalDir: `${home}/.continue/skills`,
103
+ },
104
+ 'crush': {
105
+ name: 'crush',
106
+ displayName: 'Crush',
107
+ projectDir: '.crush/skills',
108
+ globalDir: `${home}/.config/crush/skills`,
109
+ },
110
+ 'clawdbot': {
111
+ name: 'clawdbot',
112
+ displayName: 'Clawdbot',
113
+ projectDir: 'skills',
114
+ globalDir: `${home}/.clawdbot/skills`,
115
+ },
116
+ 'droid': {
117
+ name: 'droid',
118
+ displayName: 'Droid',
119
+ projectDir: '.factory/skills',
120
+ globalDir: `${home}/.factory/skills`,
121
+ },
122
+ 'gemini-cli': {
123
+ name: 'gemini-cli',
124
+ displayName: 'Gemini CLI',
125
+ projectDir: '.gemini/skills',
126
+ globalDir: `${home}/.gemini/skills`,
127
+ },
128
+ 'kiro-cli': {
129
+ name: 'kiro-cli',
130
+ displayName: 'Kiro CLI',
131
+ projectDir: '.kiro/skills',
132
+ globalDir: `${home}/.kiro/skills`,
133
+ },
134
+ 'mcpjam': {
135
+ name: 'mcpjam',
136
+ displayName: 'MCPJam',
137
+ projectDir: '.mcpjam/skills',
138
+ globalDir: `${home}/.mcpjam/skills`,
139
+ },
140
+ 'mux': {
141
+ name: 'mux',
142
+ displayName: 'Mux',
143
+ projectDir: '.mux/skills',
144
+ globalDir: `${home}/.mux/skills`,
145
+ },
146
+ 'openhands': {
147
+ name: 'openhands',
148
+ displayName: 'OpenHands',
149
+ projectDir: '.openhands/skills',
150
+ globalDir: `${home}/.openhands/skills`,
151
+ },
152
+ 'pi': {
153
+ name: 'pi',
154
+ displayName: 'Pi',
155
+ projectDir: '.pi/skills',
156
+ globalDir: `${home}/.pi/agent/skills`,
157
+ },
158
+ 'qoder': {
159
+ name: 'qoder',
160
+ displayName: 'Qoder',
161
+ projectDir: '.qoder/skills',
162
+ globalDir: `${home}/.qoder/skills`,
163
+ },
164
+ 'qwen-code': {
165
+ name: 'qwen-code',
166
+ displayName: 'Qwen Code',
167
+ projectDir: '.qwen/skills',
168
+ globalDir: `${home}/.qwen/skills`,
169
+ },
170
+ 'trae': {
171
+ name: 'trae',
172
+ displayName: 'Trae',
173
+ projectDir: '.trae/skills',
174
+ globalDir: `${home}/.trae/skills`,
175
+ },
176
+ 'windsurf': {
177
+ name: 'windsurf',
178
+ displayName: 'Windsurf',
179
+ projectDir: '.windsurf/skills',
180
+ globalDir: `${home}/.codeium/windsurf/skills`,
181
+ },
182
+ 'zencoder': {
183
+ name: 'zencoder',
184
+ displayName: 'Zencoder',
185
+ projectDir: '.zencoder/skills',
186
+ globalDir: `${home}/.zencoder/skills`,
187
+ },
188
+ 'neovate': {
189
+ name: 'neovate',
190
+ displayName: 'Neovate',
191
+ projectDir: '.neovate/skills',
192
+ globalDir: `${home}/.neovate/skills`,
193
+ },
77
194
  };
78
195
  // Helper to get install path
79
196
  function getInstallPath(agent, global) {
@@ -83,6 +200,8 @@ function getInstallPath(agent, global) {
83
200
  return global ? config.globalDir : config.projectDir;
84
201
  }
85
202
  const program = new Command();
203
+ // Initialize telemetry with CLI version
204
+ setVersion('1.0.23');
86
205
  // Main flow when running `skills` - go straight to install
87
206
  async function showMainMenu() {
88
207
  console.log('');
@@ -861,6 +980,8 @@ program
861
980
  const skills = await searchSkills(query);
862
981
  result = { skills: skills.slice(0, limit), total: skills.length };
863
982
  }
983
+ // Track search telemetry
984
+ trackSearch(query, result.total);
864
985
  if (result.skills.length === 0) {
865
986
  if (options.json) {
866
987
  console.log(JSON.stringify({ skills: [], total: 0, query }));
@@ -2502,5 +2623,71 @@ program
2502
2623
  process.exit(1);
2503
2624
  }
2504
2625
  });
2626
+ // ============================================
2627
+ // CHECK COMMAND - Check for skill updates
2628
+ // ============================================
2629
+ program
2630
+ .command('check')
2631
+ .description('Check for available skill updates')
2632
+ .option('-a, --agent <agent>', 'Check specific agent only')
2633
+ .option('-g, --global', 'Check globally installed skills')
2634
+ .option('--json', 'Output as JSON')
2635
+ .action(async (options) => {
2636
+ try {
2637
+ const spinner = ora('Checking for updates...').start();
2638
+ // Get list of agents to check
2639
+ const agentsToCheck = options.agent
2640
+ ? [options.agent]
2641
+ : Object.keys(AGENTS);
2642
+ const updates = [];
2643
+ for (const agentName of agentsToCheck) {
2644
+ const config = AGENTS[agentName];
2645
+ if (!config)
2646
+ continue;
2647
+ const skillsDir = options.global ? config.globalDir : config.projectDir;
2648
+ try {
2649
+ const { existsSync, readdirSync } = await import('fs');
2650
+ if (!existsSync(skillsDir))
2651
+ continue;
2652
+ const skills = readdirSync(skillsDir, { withFileTypes: true })
2653
+ .filter(d => d.isDirectory())
2654
+ .map(d => d.name);
2655
+ for (const skill of skills) {
2656
+ // Check if skill has updates available
2657
+ // For now, just list installed skills
2658
+ updates.push({
2659
+ skill,
2660
+ agent: config.displayName,
2661
+ currentVersion: 'installed',
2662
+ latestVersion: 'check online',
2663
+ path: `${skillsDir}/${skill}`,
2664
+ });
2665
+ }
2666
+ }
2667
+ catch {
2668
+ // Skip if can't read directory
2669
+ }
2670
+ }
2671
+ spinner.stop();
2672
+ if (options.json) {
2673
+ console.log(JSON.stringify({ updates, count: updates.length }, null, 2));
2674
+ return;
2675
+ }
2676
+ if (updates.length === 0) {
2677
+ console.log(chalk.green('āœ“ No skills installed to check.'));
2678
+ return;
2679
+ }
2680
+ console.log(chalk.bold(`\nšŸ“¦ Found ${updates.length} installed skill(s):\n`));
2681
+ for (const update of updates) {
2682
+ console.log(` ${chalk.cyan(update.skill)} ${chalk.gray(`(${update.agent})`)}`);
2683
+ console.log(chalk.gray(` ${update.path}`));
2684
+ }
2685
+ console.log(chalk.gray('\nTip: Run `skills update` to update all skills.\n'));
2686
+ }
2687
+ catch (error) {
2688
+ console.error(chalk.red('Error checking for updates:'), error);
2689
+ process.exit(1);
2690
+ }
2691
+ });
2505
2692
  program.parse();
2506
2693
  //# sourceMappingURL=index.js.map