@skillkit/cli 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +171 -18
- package/dist/index.d.ts +238 -1
- package/dist/index.js +2032 -203
- package/dist/index.js.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -1,39 +1,192 @@
|
|
|
1
1
|
# @skillkit/cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@skillkit/cli)
|
|
4
|
+
[](https://opensource.org/licenses/Apache-2.0)
|
|
5
|
+
|
|
6
|
+
**Command-line interface for SkillKit** - install, manage, translate, and sync skills across 17 AI coding agents.
|
|
4
7
|
|
|
5
8
|
## Installation
|
|
6
9
|
|
|
7
10
|
```bash
|
|
8
|
-
npm install @skillkit/cli
|
|
11
|
+
npm install -g @skillkit/cli
|
|
12
|
+
# or
|
|
13
|
+
npm install -g skillkit # includes CLI
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Get skill recommendations for your project
|
|
20
|
+
skillkit recommend
|
|
21
|
+
|
|
22
|
+
# Install skills from GitHub
|
|
23
|
+
skillkit install anthropics/skills
|
|
24
|
+
|
|
25
|
+
# Translate skills between agents
|
|
26
|
+
skillkit translate my-skill --to cursor
|
|
27
|
+
|
|
28
|
+
# Launch interactive TUI
|
|
29
|
+
skillkit ui
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## All Commands
|
|
33
|
+
|
|
34
|
+
### Skill Management
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
skillkit install <source> # Install from GitHub/GitLab/Bitbucket/local
|
|
38
|
+
skillkit remove <skills> # Remove installed skills
|
|
39
|
+
skillkit update [skills] # Update skills from source
|
|
40
|
+
skillkit list # List installed skills
|
|
41
|
+
skillkit enable <skills> # Enable specific skills
|
|
42
|
+
skillkit disable <skills> # Disable specific skills
|
|
43
|
+
skillkit sync # Sync to agent config
|
|
44
|
+
skillkit read <skills> # Read skill content
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Discovery & Recommendations
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
skillkit recommend # Project-based recommendations
|
|
51
|
+
skillkit recommend --search "auth" # Task-based search
|
|
52
|
+
skillkit recommend --category security # Filter by category
|
|
53
|
+
skillkit recommend --min-score 80 # Quality threshold
|
|
54
|
+
|
|
55
|
+
skillkit marketplace # Browse skills
|
|
56
|
+
skillkit marketplace search "react" # Search marketplace
|
|
57
|
+
skillkit marketplace --tags typescript # Filter by tags
|
|
58
|
+
skillkit marketplace refresh # Refresh index
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Translation
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
skillkit translate <skill> --to <agent> # Translate single skill
|
|
65
|
+
skillkit translate --all --to cursor # Translate all skills
|
|
66
|
+
skillkit translate skill --dry-run # Preview without writing
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Context Management
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
skillkit context init # Analyze project, create context
|
|
73
|
+
skillkit context show # Display current context
|
|
74
|
+
skillkit context sync --all # Sync to all detected agents
|
|
75
|
+
skillkit context export # Export context file
|
|
9
76
|
```
|
|
10
77
|
|
|
11
|
-
|
|
78
|
+
### Session Memory
|
|
12
79
|
|
|
13
80
|
```bash
|
|
14
|
-
skillkit
|
|
15
|
-
skillkit
|
|
16
|
-
skillkit
|
|
17
|
-
skillkit
|
|
18
|
-
skillkit
|
|
19
|
-
skillkit
|
|
20
|
-
skillkit
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
81
|
+
skillkit memory status # View memory status
|
|
82
|
+
skillkit memory search "auth" # Search learnings
|
|
83
|
+
skillkit memory list # List all learnings
|
|
84
|
+
skillkit memory compress # Compress observations
|
|
85
|
+
skillkit memory export <id> # Export as skill
|
|
86
|
+
skillkit memory add # Add manual learning
|
|
87
|
+
skillkit memory --global # Use global scope
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Testing & Workflows
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
skillkit test # Run all skill tests
|
|
94
|
+
skillkit test ./my-skill # Test specific skill
|
|
95
|
+
skillkit test --tags unit # Run tagged tests
|
|
96
|
+
|
|
97
|
+
skillkit workflow list # List workflows
|
|
98
|
+
skillkit workflow run <name> # Execute workflow
|
|
99
|
+
skillkit workflow create # Create new workflow
|
|
100
|
+
|
|
101
|
+
skillkit cicd github-action # Generate GitHub Actions
|
|
102
|
+
skillkit cicd gitlab-ci # Generate GitLab CI
|
|
103
|
+
skillkit cicd pre-commit # Generate pre-commit hook
|
|
24
104
|
```
|
|
25
105
|
|
|
26
|
-
|
|
106
|
+
### Utilities
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
skillkit init # Initialize in project
|
|
110
|
+
skillkit init --agent cursor # Initialize for specific agent
|
|
111
|
+
skillkit validate ./skill # Validate skill format
|
|
112
|
+
skillkit create my-skill # Create new skill
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Install Options
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
skillkit install owner/repo # GitHub repository
|
|
119
|
+
skillkit install gitlab:owner/repo # GitLab repository
|
|
120
|
+
skillkit install ./local/path # Local directory
|
|
121
|
+
|
|
122
|
+
# Options
|
|
123
|
+
--list # List available skills without installing
|
|
124
|
+
--skills=pdf,xlsx # Install specific skills
|
|
125
|
+
--all # Install all discovered skills
|
|
126
|
+
--yes # Skip confirmation prompts
|
|
127
|
+
--global # Install globally
|
|
128
|
+
--force # Overwrite existing
|
|
129
|
+
--agent=cursor,windsurf # Install to specific agents
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Programmatic Usage
|
|
27
133
|
|
|
28
134
|
```typescript
|
|
29
|
-
import {
|
|
135
|
+
import {
|
|
136
|
+
installCommand,
|
|
137
|
+
listCommand,
|
|
138
|
+
syncCommand,
|
|
139
|
+
translateCommand,
|
|
140
|
+
recommendCommand,
|
|
141
|
+
} from '@skillkit/cli';
|
|
30
142
|
|
|
31
|
-
//
|
|
32
|
-
await installCommand('
|
|
33
|
-
|
|
143
|
+
// Install skills programmatically
|
|
144
|
+
await installCommand('anthropics/skills', {
|
|
145
|
+
agent: ['claude-code', 'cursor'],
|
|
146
|
+
yes: true,
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
// List installed skills
|
|
150
|
+
const skills = await listCommand({ json: true });
|
|
151
|
+
|
|
152
|
+
// Sync to agent
|
|
34
153
|
await syncCommand({ all: true });
|
|
154
|
+
|
|
155
|
+
// Translate skill
|
|
156
|
+
await translateCommand('my-skill', {
|
|
157
|
+
to: 'cursor',
|
|
158
|
+
dryRun: false,
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
// Get recommendations
|
|
162
|
+
const recs = await recommendCommand({
|
|
163
|
+
path: './my-project',
|
|
164
|
+
minScore: 70,
|
|
165
|
+
});
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## CI/CD Usage
|
|
169
|
+
|
|
170
|
+
```yaml
|
|
171
|
+
# GitHub Actions example
|
|
172
|
+
- name: Setup skills
|
|
173
|
+
run: |
|
|
174
|
+
npx skillkit install owner/skills --skills=lint,test --yes
|
|
175
|
+
npx skillkit sync --yes
|
|
35
176
|
```
|
|
36
177
|
|
|
178
|
+
## Supported Agents
|
|
179
|
+
|
|
180
|
+
| Agent | Format |
|
|
181
|
+
|-------|--------|
|
|
182
|
+
| Claude Code | SKILL.md |
|
|
183
|
+
| Cursor | MDC (.mdc) |
|
|
184
|
+
| Codex | SKILL.md |
|
|
185
|
+
| Gemini CLI | SKILL.md |
|
|
186
|
+
| Windsurf | Markdown |
|
|
187
|
+
| GitHub Copilot | Markdown |
|
|
188
|
+
| + 11 more | SKILL.md |
|
|
189
|
+
|
|
37
190
|
## Documentation
|
|
38
191
|
|
|
39
192
|
Full documentation: https://github.com/rohitg00/skillkit
|
package/dist/index.d.ts
CHANGED
|
@@ -205,6 +205,7 @@ declare class RecommendCommand extends Command {
|
|
|
205
205
|
verbose: boolean;
|
|
206
206
|
update: boolean;
|
|
207
207
|
search: string | undefined;
|
|
208
|
+
task: string | undefined;
|
|
208
209
|
includeInstalled: boolean;
|
|
209
210
|
json: boolean;
|
|
210
211
|
projectPath: string | undefined;
|
|
@@ -239,6 +240,242 @@ declare class RecommendCommand extends Command {
|
|
|
239
240
|
private updateIndex;
|
|
240
241
|
}
|
|
241
242
|
|
|
243
|
+
/**
|
|
244
|
+
* Status command - show current session state
|
|
245
|
+
*/
|
|
246
|
+
declare class StatusCommand extends Command {
|
|
247
|
+
static paths: string[][];
|
|
248
|
+
static usage: clipanion.Usage;
|
|
249
|
+
history: boolean;
|
|
250
|
+
limit: string | undefined;
|
|
251
|
+
json: boolean;
|
|
252
|
+
projectPath: string | undefined;
|
|
253
|
+
execute(): Promise<number>;
|
|
254
|
+
private getStatusIcon;
|
|
255
|
+
private getStatusColor;
|
|
256
|
+
private formatDuration;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Pause command - pause current skill execution
|
|
261
|
+
*/
|
|
262
|
+
declare class PauseCommand extends Command {
|
|
263
|
+
static paths: string[][];
|
|
264
|
+
static usage: clipanion.Usage;
|
|
265
|
+
projectPath: string | undefined;
|
|
266
|
+
execute(): Promise<number>;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Resume command - resume paused skill execution
|
|
271
|
+
*/
|
|
272
|
+
declare class ResumeCommand extends Command {
|
|
273
|
+
static paths: string[][];
|
|
274
|
+
static usage: clipanion.Usage;
|
|
275
|
+
projectPath: string | undefined;
|
|
276
|
+
execute(): Promise<number>;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Workflow Run command - execute a workflow
|
|
281
|
+
*/
|
|
282
|
+
declare class WorkflowRunCommand extends Command {
|
|
283
|
+
static paths: string[][];
|
|
284
|
+
static usage: clipanion.Usage;
|
|
285
|
+
workflowName: string | undefined;
|
|
286
|
+
file: string | undefined;
|
|
287
|
+
dryRun: boolean;
|
|
288
|
+
verbose: boolean;
|
|
289
|
+
continueOnError: boolean;
|
|
290
|
+
json: boolean;
|
|
291
|
+
projectPath: string | undefined;
|
|
292
|
+
execute(): Promise<number>;
|
|
293
|
+
private showDryRun;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Workflow List command - list available workflows
|
|
298
|
+
*/
|
|
299
|
+
declare class WorkflowListCommand extends Command {
|
|
300
|
+
static paths: string[][];
|
|
301
|
+
static usage: clipanion.Usage;
|
|
302
|
+
verbose: boolean;
|
|
303
|
+
json: boolean;
|
|
304
|
+
projectPath: string | undefined;
|
|
305
|
+
execute(): Promise<number>;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Workflow Create command - create a new workflow
|
|
310
|
+
*/
|
|
311
|
+
declare class WorkflowCreateCommand extends Command {
|
|
312
|
+
static paths: string[][];
|
|
313
|
+
static usage: clipanion.Usage;
|
|
314
|
+
workflowName: string;
|
|
315
|
+
description: string | undefined;
|
|
316
|
+
stdout: boolean;
|
|
317
|
+
projectPath: string | undefined;
|
|
318
|
+
execute(): Promise<number>;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Run command - execute a skill
|
|
323
|
+
*/
|
|
324
|
+
declare class RunCommand extends Command {
|
|
325
|
+
static paths: string[][];
|
|
326
|
+
static usage: clipanion.Usage;
|
|
327
|
+
skillRef: string;
|
|
328
|
+
agent: string | undefined;
|
|
329
|
+
dryRun: boolean;
|
|
330
|
+
verify: boolean;
|
|
331
|
+
autoCommit: boolean;
|
|
332
|
+
continueOnError: boolean;
|
|
333
|
+
verbose: boolean;
|
|
334
|
+
json: boolean;
|
|
335
|
+
projectPath: string | undefined;
|
|
336
|
+
execute(): Promise<number>;
|
|
337
|
+
private loadSkill;
|
|
338
|
+
private loadSkillFromFile;
|
|
339
|
+
private findInstalledSkill;
|
|
340
|
+
private parseTasksFromFrontmatter;
|
|
341
|
+
private showDryRun;
|
|
342
|
+
private getTaskTypeLabel;
|
|
343
|
+
private formatDuration;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Test command - run skill tests
|
|
348
|
+
*/
|
|
349
|
+
declare class TestCommand extends Command {
|
|
350
|
+
static paths: string[][];
|
|
351
|
+
static usage: clipanion.Usage;
|
|
352
|
+
skill: string | undefined;
|
|
353
|
+
verbose: boolean;
|
|
354
|
+
bail: boolean;
|
|
355
|
+
tags: string | undefined;
|
|
356
|
+
skipTags: string | undefined;
|
|
357
|
+
json: boolean;
|
|
358
|
+
projectPath: string | undefined;
|
|
359
|
+
timeout: string | undefined;
|
|
360
|
+
execute(): Promise<number>;
|
|
361
|
+
/**
|
|
362
|
+
* Find skill files with tests
|
|
363
|
+
*/
|
|
364
|
+
private findSkillFiles;
|
|
365
|
+
/**
|
|
366
|
+
* Parse skill file for tests
|
|
367
|
+
*/
|
|
368
|
+
private parseSkillTests;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* Marketplace command - browse and install skills from the marketplace
|
|
373
|
+
*/
|
|
374
|
+
declare class MarketplaceCommand extends Command {
|
|
375
|
+
static paths: string[][];
|
|
376
|
+
static usage: clipanion.Usage;
|
|
377
|
+
action: string | undefined;
|
|
378
|
+
query: string | undefined;
|
|
379
|
+
limit: string | undefined;
|
|
380
|
+
tags: string | undefined;
|
|
381
|
+
source: string | undefined;
|
|
382
|
+
json: boolean;
|
|
383
|
+
execute(): Promise<number>;
|
|
384
|
+
private browseMarketplace;
|
|
385
|
+
private searchSkills;
|
|
386
|
+
private refreshIndex;
|
|
387
|
+
private showTags;
|
|
388
|
+
private showSources;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Memory command - manage session memory across AI agents
|
|
393
|
+
*/
|
|
394
|
+
declare class MemoryCommand extends Command {
|
|
395
|
+
static paths: string[][];
|
|
396
|
+
static usage: clipanion.Usage;
|
|
397
|
+
action: string | undefined;
|
|
398
|
+
arg: string | undefined;
|
|
399
|
+
ratingArg: string | undefined;
|
|
400
|
+
global: boolean;
|
|
401
|
+
tags: string | undefined;
|
|
402
|
+
limit: string | undefined;
|
|
403
|
+
title: string | undefined;
|
|
404
|
+
content: string | undefined;
|
|
405
|
+
name: string | undefined;
|
|
406
|
+
output: string | undefined;
|
|
407
|
+
input: string | undefined;
|
|
408
|
+
keepLearnings: boolean;
|
|
409
|
+
dryRun: boolean;
|
|
410
|
+
json: boolean;
|
|
411
|
+
verbose: boolean;
|
|
412
|
+
execute(): Promise<number>;
|
|
413
|
+
/**
|
|
414
|
+
* Show memory status
|
|
415
|
+
*/
|
|
416
|
+
private showStatus;
|
|
417
|
+
/**
|
|
418
|
+
* Search memories
|
|
419
|
+
*/
|
|
420
|
+
private searchMemories;
|
|
421
|
+
/**
|
|
422
|
+
* List all learnings
|
|
423
|
+
*/
|
|
424
|
+
private listLearnings;
|
|
425
|
+
/**
|
|
426
|
+
* Show a specific learning
|
|
427
|
+
*/
|
|
428
|
+
private showLearning;
|
|
429
|
+
/**
|
|
430
|
+
* Compress observations into learnings
|
|
431
|
+
*/
|
|
432
|
+
private compressObservations;
|
|
433
|
+
/**
|
|
434
|
+
* Export a learning as a skill
|
|
435
|
+
*/
|
|
436
|
+
private exportLearning;
|
|
437
|
+
/**
|
|
438
|
+
* Import memories from another project
|
|
439
|
+
*/
|
|
440
|
+
private importMemories;
|
|
441
|
+
/**
|
|
442
|
+
* Clear session observations
|
|
443
|
+
*/
|
|
444
|
+
private clearMemory;
|
|
445
|
+
/**
|
|
446
|
+
* Add a manual learning
|
|
447
|
+
*/
|
|
448
|
+
private addLearning;
|
|
449
|
+
/**
|
|
450
|
+
* Rate a learning's effectiveness
|
|
451
|
+
*/
|
|
452
|
+
private rateLearning;
|
|
453
|
+
/**
|
|
454
|
+
* Show memory configuration
|
|
455
|
+
*/
|
|
456
|
+
private showConfig;
|
|
457
|
+
/**
|
|
458
|
+
* Format relevance/effectiveness score with color
|
|
459
|
+
*/
|
|
460
|
+
private formatScore;
|
|
461
|
+
/**
|
|
462
|
+
* Format matched by info
|
|
463
|
+
*/
|
|
464
|
+
private formatMatchedBy;
|
|
465
|
+
/**
|
|
466
|
+
* Convert title to slug
|
|
467
|
+
*/
|
|
468
|
+
private slugify;
|
|
469
|
+
/**
|
|
470
|
+
* Escape a YAML scalar value if it contains special characters
|
|
471
|
+
*/
|
|
472
|
+
private escapeYamlValue;
|
|
473
|
+
/**
|
|
474
|
+
* Generate skill content from learning
|
|
475
|
+
*/
|
|
476
|
+
private generateSkillContent;
|
|
477
|
+
}
|
|
478
|
+
|
|
242
479
|
declare const loadSkillMetadata: typeof loadSkillMetadata$1;
|
|
243
480
|
declare const saveSkillMetadata: typeof saveSkillMetadata$1;
|
|
244
481
|
declare function getSearchDirs(agentType?: AgentType): string[];
|
|
@@ -246,4 +483,4 @@ declare function getInstallDir(global?: boolean, agentType?: AgentType): string;
|
|
|
246
483
|
declare function getAgentConfigPath(agentType?: AgentType): string;
|
|
247
484
|
declare function initProject(agentType?: AgentType): Promise<void>;
|
|
248
485
|
|
|
249
|
-
export { ContextCommand, CreateCommand, DisableCommand, EnableCommand, InitCommand, InstallCommand, ListCommand, ReadCommand, RecommendCommand, RemoveCommand, SyncCommand, TranslateCommand, UICommand, UpdateCommand, ValidateCommand, getAgentConfigPath, getInstallDir, getSearchDirs, initProject, loadSkillMetadata, saveSkillMetadata };
|
|
486
|
+
export { ContextCommand, CreateCommand, DisableCommand, EnableCommand, InitCommand, InstallCommand, ListCommand, MarketplaceCommand, MemoryCommand, PauseCommand, ReadCommand, RecommendCommand, RemoveCommand, ResumeCommand, RunCommand, StatusCommand, SyncCommand, TestCommand, TranslateCommand, UICommand, UpdateCommand, ValidateCommand, WorkflowCreateCommand, WorkflowListCommand, WorkflowRunCommand, getAgentConfigPath, getInstallDir, getSearchDirs, initProject, loadSkillMetadata, saveSkillMetadata };
|