claude-skills-cli 0.0.16 → 0.0.18
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 +29 -0
- package/dist/commands/add-hook.cmd.js +35 -0
- package/dist/commands/add-hook.cmd.js.map +1 -0
- package/dist/commands/add-hook.js +19 -27
- package/dist/commands/add-hook.js.map +1 -1
- package/dist/commands/doctor.cmd.js +19 -0
- package/dist/commands/doctor.cmd.js.map +1 -0
- package/dist/commands/init.cmd.js +37 -0
- package/dist/commands/init.cmd.js.map +1 -0
- package/dist/commands/init.js +9 -5
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.cmd.js +23 -0
- package/dist/commands/install.cmd.js.map +1 -0
- package/dist/commands/install.js +10 -15
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/package.cmd.js +28 -0
- package/dist/commands/package.cmd.js.map +1 -0
- package/dist/commands/package.js +6 -1
- package/dist/commands/package.js.map +1 -1
- package/dist/commands/stats.cmd.js +19 -0
- package/dist/commands/stats.cmd.js.map +1 -0
- package/dist/commands/validate.cmd.js +39 -0
- package/dist/commands/validate.cmd.js.map +1 -0
- package/dist/help.js +9 -6
- package/dist/help.js.map +1 -1
- package/dist/index.js +22 -170
- package/dist/index.js.map +1 -1
- package/dist/skills/.gitkeep +0 -0
- package/dist/validators/frontmatter-validator.js +25 -0
- package/dist/validators/frontmatter-validator.js.map +1 -1
- package/dist/validators/references-validator.js +23 -6
- package/dist/validators/references-validator.js.map +1 -1
- package/package.json +6 -5
- package/dist/skills/skill-creator/SKILL.md +0 -52
- package/dist/skills/skill-creator/references/anthropic-resources.md +0 -504
- package/dist/skills/skill-creator/references/cli-reference.md +0 -620
- package/dist/skills/skill-creator/references/development-process.md +0 -208
- package/dist/skills/skill-creator/references/quick-start.md +0 -96
- package/dist/skills/skill-creator/references/skill-examples.md +0 -413
- package/dist/skills/skill-creator/references/writing-guide.md +0 -619
package/README.md
CHANGED
|
@@ -235,3 +235,32 @@ activation.
|
|
|
235
235
|
- [Agent Skills Overview](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview)
|
|
236
236
|
- [Engineering Blog](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills)
|
|
237
237
|
- [Skills Repository](https://github.com/anthropics/skills)
|
|
238
|
+
|
|
239
|
+
## Ecosystem
|
|
240
|
+
|
|
241
|
+
Part of a connected suite of tools for Claude Code power users. These
|
|
242
|
+
projects work together to give Claude Code persistent memory, better
|
|
243
|
+
search, framework expertise, and self-improving skills.
|
|
244
|
+
|
|
245
|
+
### Skills & Plugins
|
|
246
|
+
|
|
247
|
+
Create, share, and use Claude Code skills with reliable activation.
|
|
248
|
+
|
|
249
|
+
| Project | What it does |
|
|
250
|
+
| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
|
|
251
|
+
| [claude-code-toolkit](https://github.com/spences10/claude-code-toolkit) | Performance plugins, productivity skills, and ecosystem guide |
|
|
252
|
+
| [svelte-skills-kit](https://github.com/spences10/svelte-skills-kit) | Production-ready Svelte 5 & SvelteKit skills (90%+ verified accuracy) |
|
|
253
|
+
| [claude-skills-cli](https://github.com/spences10/claude-skills-cli) | Create skills with progressive disclosure validation and 84% activation hooks |
|
|
254
|
+
| [svelte-claude-skills](https://github.com/spences10/svelte-claude-skills) | Original Svelte skills collection - now consolidated into svelte-skills-kit |
|
|
255
|
+
|
|
256
|
+
### MCP Servers & Tools
|
|
257
|
+
|
|
258
|
+
Extend Claude Code's capabilities with MCP servers for search,
|
|
259
|
+
databases, and usage tracking.
|
|
260
|
+
|
|
261
|
+
| Project | What it does |
|
|
262
|
+
| ----------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
263
|
+
| [mcp-omnisearch](https://github.com/spences10/mcp-omnisearch) | Unified search across Tavily, Brave, Kagi, Perplexity, and GitHub |
|
|
264
|
+
| [mcp-sqlite-tools](https://github.com/spences10/mcp-sqlite-tools) | Safe SQLite operations with schema inspection and query building |
|
|
265
|
+
| [mcpick](https://github.com/spences10/mcpick) | Toggle MCP servers on/off without restarting - reduce context bloat |
|
|
266
|
+
| [cclog](https://github.com/spences10/cclog) | Sync Claude Code transcripts to SQLite for usage analytics and search |
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { defineCommand } from 'citty';
|
|
2
|
+
import { add_hook_command } from './add-hook.js';
|
|
3
|
+
export default defineCommand({
|
|
4
|
+
meta: {
|
|
5
|
+
name: 'add-hook',
|
|
6
|
+
description: 'Add skill activation hook to .claude/settings.json',
|
|
7
|
+
},
|
|
8
|
+
args: {
|
|
9
|
+
local: {
|
|
10
|
+
type: 'boolean',
|
|
11
|
+
description: 'Install in project .claude/settings.local.json',
|
|
12
|
+
},
|
|
13
|
+
project: {
|
|
14
|
+
type: 'boolean',
|
|
15
|
+
description: 'Install in project .claude/settings.json',
|
|
16
|
+
},
|
|
17
|
+
type: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: 'Hook type: simple-inline|simple-script|forced-eval|llm-eval',
|
|
20
|
+
},
|
|
21
|
+
force: {
|
|
22
|
+
type: 'boolean',
|
|
23
|
+
description: 'Replace existing hook without prompting',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
run({ args }) {
|
|
27
|
+
add_hook_command({
|
|
28
|
+
local: args.local,
|
|
29
|
+
project: args.project,
|
|
30
|
+
type: args.type,
|
|
31
|
+
force: args.force,
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=add-hook.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-hook.cmd.js","sourceRoot":"","sources":["../../src/commands/add-hook.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAe,aAAa,CAAC;IAC5B,IAAI,EAAE;QACL,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oDAAoD;KACjE;IACD,IAAI,EAAE;QACL,KAAK,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,gDAAgD;SAC7D;QACD,OAAO,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;SACvD;QACD,IAAI,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EACV,6DAA6D;SAC9D;QACD,KAAK,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,yCAAyC;SACtD;KACD;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACX,gBAAgB,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAKC;YACZ,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
|
|
@@ -70,11 +70,15 @@ export function add_hook_command(options = {}) {
|
|
|
70
70
|
scope = 'global';
|
|
71
71
|
}
|
|
72
72
|
let settings = {};
|
|
73
|
-
// Check if settings.json exists
|
|
73
|
+
// Check if settings.json exists and load it
|
|
74
74
|
if (existsSync(settings_path)) {
|
|
75
75
|
try {
|
|
76
76
|
const content = readFileSync(settings_path, 'utf-8');
|
|
77
77
|
settings = JSON.parse(content);
|
|
78
|
+
// Warn if all hooks are disabled
|
|
79
|
+
if (settings.disableAllHooks) {
|
|
80
|
+
warning('disableAllHooks is set to true in settings — hooks will not run');
|
|
81
|
+
}
|
|
78
82
|
// Check if UserPromptSubmit hook already exists
|
|
79
83
|
if (settings.hooks?.UserPromptSubmit &&
|
|
80
84
|
Array.isArray(settings.hooks.UserPromptSubmit) &&
|
|
@@ -83,6 +87,7 @@ export function add_hook_command(options = {}) {
|
|
|
83
87
|
const userPromptSubmit = settings.hooks.UserPromptSubmit[0];
|
|
84
88
|
// Find existing skill activation hook (check for various patterns)
|
|
85
89
|
const existing_hook = userPromptSubmit.hooks?.find((h) => h.type === 'command' &&
|
|
90
|
+
h.command &&
|
|
86
91
|
(h.command.includes('skill-activation') ||
|
|
87
92
|
h.command.includes('skill-forced-eval-hook') ||
|
|
88
93
|
h.command.includes('skill-llm-eval-hook') ||
|
|
@@ -90,7 +95,7 @@ export function add_hook_command(options = {}) {
|
|
|
90
95
|
h.command.includes('If the prompt matches any available skill keywords')));
|
|
91
96
|
if (existing_hook) {
|
|
92
97
|
warning(`Skill activation hook already exists in ${scope} settings`);
|
|
93
|
-
info(`Current hook: ${existing_hook.command}`);
|
|
98
|
+
info(`Current hook: ${existing_hook.command || existing_hook.prompt || 'unknown'}`);
|
|
94
99
|
console.log('');
|
|
95
100
|
if (options.force) {
|
|
96
101
|
info('--force flag provided, replacing existing hook...');
|
|
@@ -110,8 +115,8 @@ export function add_hook_command(options = {}) {
|
|
|
110
115
|
process.exit(1);
|
|
111
116
|
}
|
|
112
117
|
}
|
|
113
|
-
// Determine the
|
|
114
|
-
let
|
|
118
|
+
// Determine the hook handler to use
|
|
119
|
+
let hook_handler;
|
|
115
120
|
if (hook_config.script) {
|
|
116
121
|
// Script-based hook: create the script file
|
|
117
122
|
const script_path = join(hooks_dir, hook_config.script);
|
|
@@ -131,16 +136,14 @@ export function add_hook_command(options = {}) {
|
|
|
131
136
|
process.exit(1);
|
|
132
137
|
}
|
|
133
138
|
// Use relative path for project hooks, absolute for global
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
hook_command = `.claude/hooks/${hook_config.script}`;
|
|
139
|
-
}
|
|
139
|
+
const command = scope === 'global'
|
|
140
|
+
? script_path
|
|
141
|
+
: `.claude/hooks/${hook_config.script}`;
|
|
142
|
+
hook_handler = { type: 'command', command };
|
|
140
143
|
}
|
|
141
144
|
else {
|
|
142
145
|
// Inline command
|
|
143
|
-
|
|
146
|
+
hook_handler = { type: 'command', command: hook_config.command };
|
|
144
147
|
}
|
|
145
148
|
// Update or create settings.json
|
|
146
149
|
if (existsSync(settings_path)) {
|
|
@@ -151,10 +154,7 @@ export function add_hook_command(options = {}) {
|
|
|
151
154
|
if (!userPromptSubmit.hooks) {
|
|
152
155
|
userPromptSubmit.hooks = [];
|
|
153
156
|
}
|
|
154
|
-
userPromptSubmit.hooks.push(
|
|
155
|
-
type: 'command',
|
|
156
|
-
command: hook_command,
|
|
157
|
-
});
|
|
157
|
+
userPromptSubmit.hooks.push(hook_handler);
|
|
158
158
|
info(`Adding ${hook_config.name} hook to existing ${scope} settings...`);
|
|
159
159
|
}
|
|
160
160
|
else {
|
|
@@ -162,12 +162,7 @@ export function add_hook_command(options = {}) {
|
|
|
162
162
|
settings.hooks = settings.hooks || {};
|
|
163
163
|
settings.hooks.UserPromptSubmit = [
|
|
164
164
|
{
|
|
165
|
-
hooks: [
|
|
166
|
-
{
|
|
167
|
-
type: 'command',
|
|
168
|
-
command: hook_command,
|
|
169
|
-
},
|
|
170
|
-
],
|
|
165
|
+
hooks: [hook_handler],
|
|
171
166
|
},
|
|
172
167
|
];
|
|
173
168
|
info(`Adding ${hook_config.name} hook to ${scope} settings...`);
|
|
@@ -180,12 +175,7 @@ export function add_hook_command(options = {}) {
|
|
|
180
175
|
hooks: {
|
|
181
176
|
UserPromptSubmit: [
|
|
182
177
|
{
|
|
183
|
-
hooks: [
|
|
184
|
-
{
|
|
185
|
-
type: 'command',
|
|
186
|
-
command: hook_command,
|
|
187
|
-
},
|
|
188
|
-
],
|
|
178
|
+
hooks: [hook_handler],
|
|
189
179
|
},
|
|
190
180
|
],
|
|
191
181
|
},
|
|
@@ -212,6 +202,8 @@ export function add_hook_command(options = {}) {
|
|
|
212
202
|
info('Falls back to simple instruction if API key not found');
|
|
213
203
|
console.log('');
|
|
214
204
|
}
|
|
205
|
+
warning('Restart Claude Code for hooks to take effect (hooks are captured at startup)');
|
|
206
|
+
console.log('');
|
|
215
207
|
info('Next steps:');
|
|
216
208
|
console.log(' 1. Create skills with: claude-skills-cli init --name <name>');
|
|
217
209
|
console.log(' 2. Validate with: claude-skills-cli validate <path>');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-hook.js","sourceRoot":"","sources":["../../src/commands/add-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"add-hook.js","sourceRoot":"","sources":["../../src/commands/add-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineCommand } from 'citty';
|
|
2
|
+
import { doctor_command } from './doctor.js';
|
|
3
|
+
export default defineCommand({
|
|
4
|
+
meta: {
|
|
5
|
+
name: 'doctor',
|
|
6
|
+
description: 'Fix common skill issues automatically',
|
|
7
|
+
},
|
|
8
|
+
args: {
|
|
9
|
+
skill_path: {
|
|
10
|
+
type: 'positional',
|
|
11
|
+
description: 'Path to skill directory',
|
|
12
|
+
required: true,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
run({ args }) {
|
|
16
|
+
doctor_command({ skill_path: args.skill_path });
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=doctor.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.cmd.js","sourceRoot":"","sources":["../../src/commands/doctor.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAe,aAAa,CAAC;IAC5B,IAAI,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uCAAuC;KACpD;IACD,IAAI,EAAE;QACL,UAAU,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACd;KACD;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACX,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,CAAC;CACD,CAAC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { defineCommand } from 'citty';
|
|
2
|
+
import { init_command } from './init.js';
|
|
3
|
+
export default defineCommand({
|
|
4
|
+
meta: { name: 'init', description: 'Create a new skill' },
|
|
5
|
+
args: {
|
|
6
|
+
name: {
|
|
7
|
+
type: 'string',
|
|
8
|
+
description: 'Skill name (kebab-case, lowercase)',
|
|
9
|
+
},
|
|
10
|
+
description: {
|
|
11
|
+
type: 'string',
|
|
12
|
+
description: 'Brief description with trigger keywords',
|
|
13
|
+
},
|
|
14
|
+
path: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Custom path (alternative to --name)',
|
|
17
|
+
},
|
|
18
|
+
'with-examples': {
|
|
19
|
+
type: 'boolean',
|
|
20
|
+
description: 'Include example files (scripts/, assets/)',
|
|
21
|
+
},
|
|
22
|
+
global: {
|
|
23
|
+
type: 'boolean',
|
|
24
|
+
description: 'Install skill in ~/.claude/skills/ (available in all projects)',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
run({ args }) {
|
|
28
|
+
init_command({
|
|
29
|
+
name: args.name,
|
|
30
|
+
description: args.description,
|
|
31
|
+
path: args.path,
|
|
32
|
+
with_examples: args['with-examples'],
|
|
33
|
+
global: args.global,
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=init.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.cmd.js","sourceRoot":"","sources":["../../src/commands/init.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,eAAe,aAAa,CAAC;IAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACzD,IAAI,EAAE;QACL,IAAI,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,oCAAoC;SACjD;QACD,WAAW,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;SACtD;QACD,IAAI,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qCAAqC;SAClD;QACD,eAAe,EAAE;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,2CAA2C;SACxD;QACD,MAAM,EAAE;YACP,IAAI,EAAE,SAAS;YACf,WAAW,EACV,gEAAgE;SACjE;KACD;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACX,YAAY,CAAC;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
1
2
|
import { join } from 'node:path';
|
|
2
3
|
import { REFERENCE_TEMPLATE, SCRIPT_TEMPLATE, SKILL_MD_TEMPLATE, } from '../core/templates.js';
|
|
3
4
|
import { ensure_dir, is_lowercase, make_executable, to_title_case, write_file, } from '../utils/fs.js';
|
|
@@ -15,8 +16,10 @@ export function init_command(options) {
|
|
|
15
16
|
else if (options.name) {
|
|
16
17
|
name = options.name;
|
|
17
18
|
description = options.description || 'TODO: Add description';
|
|
18
|
-
//
|
|
19
|
-
skill_path =
|
|
19
|
+
// Use ~/.claude/skills/ for global, .claude/skills/ for project
|
|
20
|
+
skill_path = options.global
|
|
21
|
+
? join(homedir(), '.claude', 'skills', name)
|
|
22
|
+
: join('.claude', 'skills', name);
|
|
20
23
|
}
|
|
21
24
|
else {
|
|
22
25
|
error('Either --name or --path must be provided');
|
|
@@ -36,9 +39,9 @@ export function init_command(options) {
|
|
|
36
39
|
process.exit(1);
|
|
37
40
|
}
|
|
38
41
|
// Create skill
|
|
39
|
-
create_skill(skill_path, name, description, options.with_examples || false);
|
|
42
|
+
create_skill(skill_path, name, description, options.with_examples || false, options.global || false);
|
|
40
43
|
}
|
|
41
|
-
function create_skill(path, name, description, with_examples = false) {
|
|
44
|
+
function create_skill(path, name, description, with_examples = false, global = false) {
|
|
42
45
|
// Create base directories
|
|
43
46
|
ensure_dir(path);
|
|
44
47
|
ensure_dir(join(path, 'references'));
|
|
@@ -60,7 +63,8 @@ function create_skill(path, name, description, with_examples = false) {
|
|
|
60
63
|
write_file(script_path, script_js);
|
|
61
64
|
make_executable(script_path);
|
|
62
65
|
}
|
|
63
|
-
|
|
66
|
+
const scope = global ? 'global' : 'project';
|
|
67
|
+
success(`Skill created at: ${path} (${scope})`);
|
|
64
68
|
console.log('\nNext steps:');
|
|
65
69
|
console.log(`1. Edit ${path}/SKILL.md with your skill instructions`);
|
|
66
70
|
console.log(`2. Add detailed documentation to references/`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACN,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,UAAU,YAAY,CAAC,OAAoB;IAChD,IAAI,UAAkB,CAAC;IACvB,IAAI,IAAY,CAAC;IACjB,IAAI,WAAmB,CAAC;IAExB,0BAA0B;IAC1B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACzC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAC;IAC9D,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAC;QAC7D,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { defineCommand } from 'citty';
|
|
2
|
+
import { install_command } from './install.js';
|
|
3
|
+
export default defineCommand({
|
|
4
|
+
meta: { name: 'install', description: 'Install a bundled skill' },
|
|
5
|
+
args: {
|
|
6
|
+
skill_name: {
|
|
7
|
+
type: 'positional',
|
|
8
|
+
description: 'Name of bundled skill',
|
|
9
|
+
required: true,
|
|
10
|
+
},
|
|
11
|
+
force: {
|
|
12
|
+
type: 'boolean',
|
|
13
|
+
description: 'Replace existing skill without prompting',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
run({ args }) {
|
|
17
|
+
install_command({
|
|
18
|
+
skill_name: args.skill_name,
|
|
19
|
+
force: args.force,
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=install.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.cmd.js","sourceRoot":"","sources":["../../src/commands/install.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,eAAe,aAAa,CAAC;IAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE;IACjE,IAAI,EAAE;QACL,UAAU,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACd;QACD,KAAK,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0CAA0C;SACvD;KACD;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACX,eAAe,CAAC;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
|
package/dist/commands/install.js
CHANGED
|
@@ -8,22 +8,22 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
8
8
|
const __dirname = dirname(__filename);
|
|
9
9
|
// Bundled skills are in dist/skills/ directory
|
|
10
10
|
const BUNDLED_SKILLS_DIR = join(__dirname, '..', 'skills');
|
|
11
|
-
const AVAILABLE_SKILLS = [
|
|
11
|
+
const AVAILABLE_SKILLS = [];
|
|
12
12
|
export function install_command(options) {
|
|
13
13
|
const skill_name = options.skill_name;
|
|
14
14
|
// Validate skill name
|
|
15
|
-
if (!skill_name) {
|
|
16
|
-
|
|
17
|
-
console.log('\
|
|
18
|
-
console.log('
|
|
19
|
-
console.log('\
|
|
20
|
-
|
|
21
|
-
process.exit(
|
|
15
|
+
if (!skill_name || AVAILABLE_SKILLS.length === 0) {
|
|
16
|
+
info('No bundled skills available');
|
|
17
|
+
console.log('\nOfficial method: /plugin install <skill>@<marketplace>');
|
|
18
|
+
console.log('See: https://code.claude.com/docs/en/plugins');
|
|
19
|
+
console.log('\nFor pre-built skills, see: https://github.com/spences10/claude-code-toolkit');
|
|
20
|
+
console.log('\nUse "claude-skills-cli init" to create new skills.');
|
|
21
|
+
process.exit(0);
|
|
22
22
|
}
|
|
23
23
|
if (!AVAILABLE_SKILLS.includes(skill_name)) {
|
|
24
24
|
error(`Unknown skill: ${skill_name}`);
|
|
25
|
-
console.log('\
|
|
26
|
-
|
|
25
|
+
console.log('\nNo bundled skills available.');
|
|
26
|
+
console.log('For pre-built skills, see: https://github.com/spences10/claude-code-toolkit');
|
|
27
27
|
process.exit(1);
|
|
28
28
|
}
|
|
29
29
|
// Source and destination paths
|
|
@@ -55,11 +55,6 @@ export function install_command(options) {
|
|
|
55
55
|
force: options.force || false,
|
|
56
56
|
});
|
|
57
57
|
success(`Installed ${skill_name} to: ${dest_path}`);
|
|
58
|
-
// Skill-specific tips
|
|
59
|
-
if (skill_name === 'skill-creator') {
|
|
60
|
-
console.log('\nThis meta skill teaches principles for designing effective skills.');
|
|
61
|
-
console.log('Use it when creating new skills or planning skill architecture.');
|
|
62
|
-
}
|
|
63
58
|
}
|
|
64
59
|
catch (err) {
|
|
65
60
|
error(`Failed to install skill: ${err.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE1D,kEAAkE;AAClE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,+CAA+C;AAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE3D,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineCommand } from 'citty';
|
|
2
|
+
import { package_command } from './package.js';
|
|
3
|
+
export default defineCommand({
|
|
4
|
+
meta: { name: 'package', description: 'Package a skill to zip' },
|
|
5
|
+
args: {
|
|
6
|
+
skill_path: {
|
|
7
|
+
type: 'positional',
|
|
8
|
+
description: 'Path to skill directory',
|
|
9
|
+
required: true,
|
|
10
|
+
},
|
|
11
|
+
output: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
description: 'Output path for zip file',
|
|
14
|
+
},
|
|
15
|
+
'skip-validation': {
|
|
16
|
+
type: 'boolean',
|
|
17
|
+
description: 'Skip validation before packaging',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
async run({ args }) {
|
|
21
|
+
await package_command({
|
|
22
|
+
skill_path: args.skill_path,
|
|
23
|
+
output: args.output,
|
|
24
|
+
skip_validation: args['skip-validation'],
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=package.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package.cmd.js","sourceRoot":"","sources":["../../src/commands/package.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,eAAe,aAAa,CAAC;IAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE;IAChE,IAAI,EAAE;QACL,UAAU,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACd;QACD,MAAM,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,0BAA0B;SACvC;QACD,iBAAiB,EAAE;YAClB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;SAC/C;KACD;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACjB,MAAM,eAAe,CAAC;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;SACxC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
|
package/dist/commands/package.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createWriteStream, existsSync, readdirSync, statSync, } from 'node:fs';
|
|
|
3
3
|
import { basename, join } from 'node:path';
|
|
4
4
|
import { SkillValidator } from '../core/validator.js';
|
|
5
5
|
import { ensure_dir } from '../utils/fs.js';
|
|
6
|
-
import { error, package_, search, step, success, upload, } from '../utils/output.js';
|
|
6
|
+
import { error, package_, search, step, success, upload, warning, } from '../utils/output.js';
|
|
7
7
|
function validate_skill(skill_path) {
|
|
8
8
|
search('Validating skill...');
|
|
9
9
|
const validator = new SkillValidator(skill_path);
|
|
@@ -119,6 +119,11 @@ export async function package_command(options) {
|
|
|
119
119
|
console.log(` File: ${output_file}`);
|
|
120
120
|
console.log(` Size: ${size_kb.toFixed(1)} KB`);
|
|
121
121
|
console.log('');
|
|
122
|
+
warning('Note: ZIP packaging is not an official Claude Code distribution method.');
|
|
123
|
+
console.log(' Official distribution uses the plugin system (/plugin install)');
|
|
124
|
+
console.log(' or direct file placement in .claude/skills/.');
|
|
125
|
+
console.log(' See: https://code.claude.com/docs/en/plugins');
|
|
126
|
+
console.log('');
|
|
122
127
|
upload('Upload to Claude.ai: Settings > Features > Skills > Upload');
|
|
123
128
|
}
|
|
124
129
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/commands/package.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EACN,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,QAAQ,GACR,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACN,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,
|
|
1
|
+
{"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/commands/package.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { defineCommand } from 'citty';
|
|
2
|
+
import { stats_command } from './stats.js';
|
|
3
|
+
export default defineCommand({
|
|
4
|
+
meta: {
|
|
5
|
+
name: 'stats',
|
|
6
|
+
description: 'Show overview of all skills in a directory',
|
|
7
|
+
},
|
|
8
|
+
args: {
|
|
9
|
+
directory: {
|
|
10
|
+
type: 'positional',
|
|
11
|
+
description: 'Directory containing skills (default: .claude/skills)',
|
|
12
|
+
required: false,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
run({ args }) {
|
|
16
|
+
stats_command({ directory: args.directory });
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=stats.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.cmd.js","sourceRoot":"","sources":["../../src/commands/stats.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAe,aAAa,CAAC;IAC5B,IAAI,EAAE;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,4CAA4C;KACzD;IACD,IAAI,EAAE;QACL,SAAS,EAAE;YACV,IAAI,EAAE,YAAY;YAClB,WAAW,EACV,uDAAuD;YACxD,QAAQ,EAAE,KAAK;SACf;KACD;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACX,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;CACD,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { defineCommand } from 'citty';
|
|
2
|
+
import { validate_command } from './validate.js';
|
|
3
|
+
export default defineCommand({
|
|
4
|
+
meta: { name: 'validate', description: 'Validate a skill' },
|
|
5
|
+
args: {
|
|
6
|
+
skill_path: {
|
|
7
|
+
type: 'positional',
|
|
8
|
+
description: 'Path to skill directory',
|
|
9
|
+
required: true,
|
|
10
|
+
},
|
|
11
|
+
format: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
description: 'Output format (json or text)',
|
|
14
|
+
default: 'text',
|
|
15
|
+
},
|
|
16
|
+
strict: {
|
|
17
|
+
type: 'boolean',
|
|
18
|
+
description: 'Fail validation if warnings present',
|
|
19
|
+
},
|
|
20
|
+
lenient: {
|
|
21
|
+
type: 'boolean',
|
|
22
|
+
description: 'Use relaxed limits (150 lines max)',
|
|
23
|
+
},
|
|
24
|
+
loose: {
|
|
25
|
+
type: 'boolean',
|
|
26
|
+
description: 'Use Anthropic official limits (500 lines max)',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
run({ args }) {
|
|
30
|
+
validate_command({
|
|
31
|
+
skill_path: args.skill_path,
|
|
32
|
+
strict: args.strict,
|
|
33
|
+
format: args.format === 'json' ? 'json' : 'text',
|
|
34
|
+
lenient: args.lenient,
|
|
35
|
+
loose: args.loose,
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=validate.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.cmd.js","sourceRoot":"","sources":["../../src/commands/validate.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAe,aAAa,CAAC;IAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAC3D,IAAI,EAAE;QACL,UAAU,EAAE;YACX,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACd;QACD,MAAM,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,MAAM;SACf;QACD,MAAM,EAAE;YACP,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,qCAAqC;SAClD;QACD,OAAO,EAAE;YACR,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,oCAAoC;SACjD;QACD,KAAK,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,+CAA+C;SAC5D;KACD;IACD,GAAG,CAAC,EAAE,IAAI,EAAE;QACX,gBAAgB,CAAC;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
|