sc-skill 1.0.4 → 1.0.6
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 +12 -4
- package/dist/cli.js +7 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# sczl
|
|
2
2
|
|
|
3
3
|
团队技能同步工具 - 使用复制方式管理 Claude Code 技能
|
|
4
4
|
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
|
|
12
12
|
## 安装
|
|
13
13
|
|
|
14
|
+
### 使用 npm 全局安装(推荐)
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install -g sc-skill
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
### 从源码安装
|
|
21
|
+
|
|
14
22
|
```bash
|
|
15
23
|
pnpm install
|
|
16
24
|
pnpm build
|
|
@@ -22,7 +30,7 @@ npm link
|
|
|
22
30
|
### 1. 同步技能到缓存
|
|
23
31
|
|
|
24
32
|
```bash
|
|
25
|
-
|
|
33
|
+
sczl sync
|
|
26
34
|
```
|
|
27
35
|
|
|
28
36
|
从团队仓库 `https://codeup.aliyun.com/sczlcq/skills.git` 拉取最新技能到 `~/.sc/cache`
|
|
@@ -30,7 +38,7 @@ sc sync
|
|
|
30
38
|
### 2. 交互式管理技能
|
|
31
39
|
|
|
32
40
|
```bash
|
|
33
|
-
|
|
41
|
+
sczl toggle
|
|
34
42
|
```
|
|
35
43
|
|
|
36
44
|
使用空格键勾选/取消勾选技能,回车确认。选中的技能会直接复制到 `~/.claude/skills`
|
|
@@ -38,7 +46,7 @@ sc toggle
|
|
|
38
46
|
### 3. 查看技能状态
|
|
39
47
|
|
|
40
48
|
```bash
|
|
41
|
-
|
|
49
|
+
sczl list
|
|
42
50
|
```
|
|
43
51
|
|
|
44
52
|
显示所有缓存的技能及其启用状态
|
package/dist/cli.js
CHANGED
|
@@ -7,7 +7,7 @@ import { DEFAULT_CONFIG, getConfigPath } from './config.js';
|
|
|
7
7
|
import fs from 'fs-extra';
|
|
8
8
|
const program = new Command();
|
|
9
9
|
program
|
|
10
|
-
.name('
|
|
10
|
+
.name('sczl')
|
|
11
11
|
.description('团队技能同步工具')
|
|
12
12
|
.version('1.0.0');
|
|
13
13
|
program
|
|
@@ -22,7 +22,7 @@ program
|
|
|
22
22
|
console.log('✓ 已拉取最新技能到缓存');
|
|
23
23
|
await saveLastSync();
|
|
24
24
|
console.log('✅ 同步完成');
|
|
25
|
-
console.log('\n💡 运行
|
|
25
|
+
console.log('\n💡 运行 sczl toggle 来启用/禁用技能');
|
|
26
26
|
}
|
|
27
27
|
catch (error) {
|
|
28
28
|
console.error('❌ 同步失败:', error);
|
|
@@ -39,7 +39,7 @@ program
|
|
|
39
39
|
const enabled = await manager.getEnabledSkills();
|
|
40
40
|
const manageableEnabled = enabled.filter((skill) => available.includes(skill));
|
|
41
41
|
if (available.length === 0) {
|
|
42
|
-
console.log('❌ 缓存中没有技能,请先运行
|
|
42
|
+
console.log('❌ 缓存中没有技能,请先运行 sczl sync');
|
|
43
43
|
process.exit(1);
|
|
44
44
|
}
|
|
45
45
|
const answers = await inquirer.prompt([
|
|
@@ -49,13 +49,13 @@ program
|
|
|
49
49
|
message: '选择要启用的技能 (空格选择/取消):',
|
|
50
50
|
choices: available.map((skill) => ({
|
|
51
51
|
name: skill,
|
|
52
|
-
checked:
|
|
52
|
+
checked: manageableEnabled.includes(skill),
|
|
53
53
|
})),
|
|
54
54
|
},
|
|
55
55
|
]);
|
|
56
56
|
const selected = answers.skills;
|
|
57
|
-
const toEnable = selected.filter((skill) => !
|
|
58
|
-
const toDisable =
|
|
57
|
+
const toEnable = selected.filter((skill) => !manageableEnabled.includes(skill));
|
|
58
|
+
const toDisable = manageableEnabled.filter((skill) => !selected.includes(skill));
|
|
59
59
|
if (toEnable.length > 0) {
|
|
60
60
|
await manager.enableSkills(toEnable);
|
|
61
61
|
console.log(`✅ 已启用 ${toEnable.length} 个技能`);
|
|
@@ -81,7 +81,7 @@ program
|
|
|
81
81
|
const available = await manager.getAvailableSkills();
|
|
82
82
|
const enabled = await manager.getEnabledSkills();
|
|
83
83
|
if (available.length === 0) {
|
|
84
|
-
console.log('缓存中没有技能,请先运行
|
|
84
|
+
console.log('缓存中没有技能,请先运行 sczl sync');
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
87
|
console.log(`\n📦 缓存中的技能 (${available.length}):`);
|
package/package.json
CHANGED