skill-creator 0.0.0 → 1.0.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 +148 -19
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +265 -260
- package/dist/cli.js.map +1 -1
- package/dist/commands/addContent.d.ts +5 -0
- package/dist/commands/addContent.d.ts.map +1 -0
- package/dist/commands/addContent.js +74 -0
- package/dist/commands/addContent.js.map +1 -0
- package/dist/commands/buildIndex.d.ts +5 -0
- package/dist/commands/buildIndex.d.ts.map +1 -0
- package/dist/commands/buildIndex.js +17 -0
- package/dist/commands/buildIndex.js.map +1 -0
- package/dist/commands/downloadContext7.d.ts +5 -0
- package/dist/commands/downloadContext7.d.ts.map +1 -0
- package/dist/commands/downloadContext7.js +62 -0
- package/dist/commands/downloadContext7.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +89 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/initCc.d.ts +5 -0
- package/dist/commands/initCc.d.ts.map +1 -0
- package/dist/commands/initCc.js +26 -0
- package/dist/commands/initCc.js.map +1 -0
- package/dist/commands/listContent.d.ts +5 -0
- package/dist/commands/listContent.d.ts.map +1 -0
- package/dist/commands/listContent.js +35 -0
- package/dist/commands/listContent.js.map +1 -0
- package/dist/commands/searchContent.d.ts +5 -0
- package/dist/commands/searchContent.d.ts.map +1 -0
- package/dist/commands/searchContent.js +98 -0
- package/dist/commands/searchContent.js.map +1 -0
- package/dist/commands/shared.d.ts +23 -0
- package/dist/commands/shared.d.ts.map +1 -0
- package/dist/commands/shared.js +92 -0
- package/dist/commands/shared.js.map +1 -0
- package/dist/commands/updateContext7.d.ts +5 -0
- package/dist/commands/updateContext7.d.ts.map +1 -0
- package/dist/commands/updateContext7.js +28 -0
- package/dist/commands/updateContext7.js.map +1 -0
- package/dist/core/autoSearchAdapter.d.ts +42 -0
- package/dist/core/autoSearchAdapter.d.ts.map +1 -0
- package/dist/core/autoSearchAdapter.js +116 -0
- package/dist/core/autoSearchAdapter.js.map +1 -0
- package/dist/core/chromaLocalSearch.d.ts +26 -0
- package/dist/core/chromaLocalSearch.d.ts.map +1 -0
- package/dist/core/chromaLocalSearch.js +212 -0
- package/dist/core/chromaLocalSearch.js.map +1 -0
- package/dist/core/chromaLocalSimple.d.ts +24 -0
- package/dist/core/chromaLocalSimple.d.ts.map +1 -0
- package/dist/core/chromaLocalSimple.js +216 -0
- package/dist/core/chromaLocalSimple.js.map +1 -0
- package/dist/core/chromaSearchAdapter.d.ts +86 -0
- package/dist/core/chromaSearchAdapter.d.ts.map +1 -0
- package/dist/core/chromaSearchAdapter.js +477 -0
- package/dist/core/chromaSearchAdapter.js.map +1 -0
- package/dist/core/chromaSearchImproved.d.ts +29 -0
- package/dist/core/chromaSearchImproved.d.ts.map +1 -0
- package/dist/core/chromaSearchImproved.js +259 -0
- package/dist/core/chromaSearchImproved.js.map +1 -0
- package/dist/core/chromaServerManager.d.ts +64 -0
- package/dist/core/chromaServerManager.d.ts.map +1 -0
- package/dist/core/chromaServerManager.js +186 -0
- package/dist/core/chromaServerManager.js.map +1 -0
- package/dist/core/contentManager.d.ts +1 -0
- package/dist/core/contentManager.d.ts.map +1 -1
- package/dist/core/contentManager.js +75 -21
- package/dist/core/contentManager.js.map +1 -1
- package/dist/core/fuseSearch.d.ts +25 -0
- package/dist/core/fuseSearch.d.ts.map +1 -0
- package/dist/core/fuseSearch.js +198 -0
- package/dist/core/fuseSearch.js.map +1 -0
- package/dist/core/fuzzySearch.d.ts +66 -0
- package/dist/core/fuzzySearch.d.ts.map +1 -0
- package/dist/core/fuzzySearch.js +271 -0
- package/dist/core/fuzzySearch.js.map +1 -0
- package/dist/core/fuzzySearchAdapter.d.ts +33 -0
- package/dist/core/fuzzySearchAdapter.d.ts.map +1 -0
- package/dist/core/fuzzySearchAdapter.js +185 -0
- package/dist/core/fuzzySearchAdapter.js.map +1 -0
- package/dist/core/portUtils.d.ts +51 -0
- package/dist/core/portUtils.d.ts.map +1 -0
- package/dist/core/portUtils.js +120 -0
- package/dist/core/portUtils.js.map +1 -0
- package/dist/core/runScript.d.ts +1 -1
- package/dist/core/runScript.d.ts.map +1 -1
- package/dist/core/runScript.js +27 -210
- package/dist/core/runScript.js.map +1 -1
- package/dist/core/searchAdapter.d.ts +48 -0
- package/dist/core/searchAdapter.d.ts.map +1 -0
- package/dist/core/searchAdapter.js +6 -0
- package/dist/core/searchAdapter.js.map +1 -0
- package/dist/core/searchEngineFactory.d.ts +30 -0
- package/dist/core/searchEngineFactory.d.ts.map +1 -0
- package/dist/core/searchEngineFactory.js +41 -0
- package/dist/core/searchEngineFactory.js.map +1 -0
- package/dist/core/simpleLocalSearch.d.ts +50 -0
- package/dist/core/simpleLocalSearch.d.ts.map +1 -0
- package/dist/core/simpleLocalSearch.js +406 -0
- package/dist/core/simpleLocalSearch.js.map +1 -0
- package/dist/core/skillCreator.d.ts +0 -2
- package/dist/core/skillCreator.d.ts.map +1 -1
- package/dist/core/skillCreator.js +20 -92
- package/dist/core/skillCreator.js.map +1 -1
- package/dist/core/unifiedSearch.d.ts +57 -11
- package/dist/core/unifiedSearch.d.ts.map +1 -1
- package/dist/core/unifiedSearch.js +88 -29
- package/dist/core/unifiedSearch.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/search_format/enhancedFormatter.d.ts +109 -0
- package/dist/search_format/enhancedFormatter.d.ts.map +1 -0
- package/dist/search_format/enhancedFormatter.js +262 -0
- package/dist/search_format/enhancedFormatter.js.map +1 -0
- package/dist/search_format/index.d.ts +10 -0
- package/dist/search_format/index.d.ts.map +1 -0
- package/dist/search_format/index.js +22 -0
- package/dist/search_format/index.js.map +1 -0
- package/dist/search_format/listFormatter.d.ts +16 -0
- package/dist/search_format/listFormatter.d.ts.map +1 -0
- package/dist/search_format/listFormatter.js +51 -0
- package/dist/search_format/listFormatter.js.map +1 -0
- package/dist/search_format/types.d.ts +69 -0
- package/dist/search_format/types.d.ts.map +1 -0
- package/dist/search_format/types.js +5 -0
- package/dist/search_format/types.js.map +1 -0
- package/dist/test/testFuzzy.d.ts +3 -0
- package/dist/test/testFuzzy.d.ts.map +1 -0
- package/dist/test/testFuzzy.js +72 -0
- package/dist/test/testFuzzy.js.map +1 -0
- package/dist/test-fuzzy.d.ts +6 -0
- package/dist/test-fuzzy.d.ts.map +1 -0
- package/dist/test-fuzzy.js +65 -0
- package/dist/test-fuzzy.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/package.d.ts +17 -0
- package/dist/utils/package.d.ts.map +1 -1
- package/dist/utils/package.js +51 -14
- package/dist/utils/package.js.map +1 -1
- package/package.json +9 -8
- package/templates/skill-creator.md +65 -153
- package/templates/skill-creator.zh-CN.md +93 -0
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skill-creator",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Create claude-code-skills with documentation management",
|
|
5
|
-
"
|
|
5
|
+
"bin": {
|
|
6
|
+
"skill-creator": "dist/cli.js"
|
|
7
|
+
},
|
|
6
8
|
"type": "module",
|
|
7
9
|
"scripts": {
|
|
8
10
|
"build": "tsc",
|
|
9
|
-
"dev": "
|
|
10
|
-
"
|
|
11
|
+
"dev": "tsc --watch",
|
|
12
|
+
"cli": "node dist/cli.js",
|
|
11
13
|
"test": "vitest run",
|
|
12
14
|
"format": "prettier --write .",
|
|
13
15
|
"type-check": "tsc --noEmit"
|
|
@@ -23,9 +25,11 @@
|
|
|
23
25
|
"license": "MIT",
|
|
24
26
|
"dependencies": {
|
|
25
27
|
"@chroma-core/default-embed": "^0.1.8",
|
|
26
|
-
"
|
|
28
|
+
"@leeoniya/ufuzzy": "^1.0.19",
|
|
29
|
+
"chromadb": "^3.0.17",
|
|
27
30
|
"commander": "^12.1.0",
|
|
28
31
|
"dedent": "^1.5.3",
|
|
32
|
+
"fuse.js": "^7.1.0",
|
|
29
33
|
"glob": "^11.0.0",
|
|
30
34
|
"gradient-string": "^3.0.0",
|
|
31
35
|
"inquirer": "^10.2.2",
|
|
@@ -48,9 +52,6 @@
|
|
|
48
52
|
"templates",
|
|
49
53
|
"README.md"
|
|
50
54
|
],
|
|
51
|
-
"bin": {
|
|
52
|
-
"skill-creator": "dist/cli.js"
|
|
53
|
-
},
|
|
54
55
|
"engines": {
|
|
55
56
|
"node": ">=18.0.0"
|
|
56
57
|
}
|
|
@@ -6,177 +6,89 @@ color: blue
|
|
|
6
6
|
tools: Bash, Write, AskUserQuestion
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
You are the skill-creator subagent, responsible for creating claude-code-skills. Execute the following steps strictly without skipping.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Execution Steps
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
- 旧版:下载文档到 `.claude/references`
|
|
15
|
-
- 新版:下载文档到 `.claude/skills/`(支持项目级和用户级)
|
|
16
|
-
- 核心改进:使用预设的CLI工具而非AI临时执行脚本
|
|
13
|
+
### First-Time Use (First time in each session)
|
|
17
14
|
|
|
18
|
-
## 严格工作流程
|
|
19
|
-
|
|
20
|
-
### 前置条件
|
|
21
|
-
- 本项目是一个Node.js项目,提供CLI工具(简称cli)
|
|
22
|
-
- 可通过npmlink本地测试或npx全局运行
|
|
23
|
-
|
|
24
|
-
### 步骤0:初始化(首次会话必需)
|
|
25
15
|
```bash
|
|
26
|
-
|
|
16
|
+
npm install -g skill-creator
|
|
27
17
|
```
|
|
28
|
-
- 安装subagents到 `~/.claude/agents/skill-creator.md`
|
|
29
|
-
- 覆盖写入现有文件
|
|
30
18
|
|
|
31
|
-
###
|
|
32
|
-
当用户要求创建skill时:
|
|
33
|
-
1. 执行命令搜索包:
|
|
34
|
-
```bash
|
|
35
|
-
cli search "KEYWORDS"
|
|
36
|
-
```
|
|
37
|
-
2. 内部实现:`npm search "KEY WORDS"`
|
|
38
|
-
3. 如果有多个结果,列出并询问用户选择
|
|
19
|
+
### Skill Creation Workflow
|
|
39
20
|
|
|
40
|
-
|
|
41
|
-
**必须询问用户**:
|
|
42
|
-
- 当前项目文件夹:`./.claude/skills/`
|
|
43
|
-
- 用户目录:`~/.claude/skills`
|
|
44
|
-
记录用户选择
|
|
21
|
+
1. **Search Package**
|
|
45
22
|
|
|
46
|
-
### 步骤3:生成Skill名称
|
|
47
|
-
1. 执行命令:
|
|
48
|
-
```bash
|
|
49
|
-
cli get-name @package/name
|
|
50
|
-
```
|
|
51
|
-
2. 内部执行:
|
|
52
|
-
- `npm info @package/name version` 获取版本
|
|
53
|
-
- 按规则生成skill-name(格式:`package@version`)
|
|
54
|
-
|
|
55
|
-
### 步骤4:创建目录结构
|
|
56
|
-
1. 创建目录:`.claude/skills/{skill-name}/`
|
|
57
|
-
2. 创建子目录:
|
|
58
|
-
- `assets/references/context7/` - Context7切片文档
|
|
59
|
-
- `assets/references/user/` - 用户文档
|
|
60
|
-
- `assets/chroma_db/` - ChromaDB索引
|
|
61
|
-
- `scripts/` - 管理脚本
|
|
62
|
-
|
|
63
|
-
### 步骤5:获取Context7项目ID
|
|
64
|
-
1. 调用mcp-context7工具搜索文档
|
|
65
|
-
2. 获取正确的project-id
|
|
66
|
-
3. 参考doc-downloader.md的文档标准
|
|
67
|
-
|
|
68
|
-
### 步骤6:下载并切片文档
|
|
69
|
-
1. 执行命令:
|
|
70
|
-
```bash
|
|
71
|
-
cli --dir={skill_dir} download-context7 {project-id}
|
|
72
|
-
```
|
|
73
|
-
2. 文档存储到:`{skill_dir}/assets/references/context7/*.md`
|
|
74
|
-
3. **关键验证**:
|
|
75
|
-
- 必须生成数百个.md文件
|
|
76
|
-
- 文件名确保唯一(如`0001.md`或`[TITLE].01.md`)
|
|
77
|
-
- 必须是脚本生成,非AI填充
|
|
78
|
-
|
|
79
|
-
### 步骤7:测试搜索功能
|
|
80
|
-
1. 执行命令:
|
|
81
23
|
```bash
|
|
82
|
-
|
|
24
|
+
skill-creator search "KEYWORDS"
|
|
25
|
+
# Returns a JSON-Array
|
|
83
26
|
```
|
|
84
|
-
2. 验证功能:
|
|
85
|
-
- 自动构建ChromaDB索引
|
|
86
|
-
- 基于文件元数据fast-hash检测变更
|
|
87
|
-
- 返回包含引用来源的搜索结果
|
|
88
|
-
|
|
89
|
-
### 步骤8:告知后续管理
|
|
90
|
-
必须告知用户以下可用命令:
|
|
91
|
-
|
|
92
|
-
**添加用户文档**:
|
|
93
|
-
```bash
|
|
94
|
-
cli --dir={skill_dir} add-user-skill
|
|
95
|
-
```
|
|
96
|
-
- 先搜索相似内容
|
|
97
|
-
- 如果相似且内容丰富则不添加
|
|
98
|
-
- 如果可升级:
|
|
99
|
-
- user文件:直接更新
|
|
100
|
-
- context7文件:在user文件夹创建新文件
|
|
101
|
-
|
|
102
|
-
**强制更新文档**:
|
|
103
|
-
```bash
|
|
104
|
-
cli --dir={skill_dir} download-context7 {project-id} --force
|
|
105
|
-
```
|
|
106
27
|
|
|
107
|
-
|
|
28
|
+
- AI can make independent selections. If unable to decide, ask the user to choose.
|
|
108
29
|
|
|
109
|
-
|
|
110
|
-
- 切成独立的.md文件,非大文件
|
|
111
|
-
- 文件名唯一即可
|
|
112
|
-
- 存储位置:`assets/references/context7/*.md`
|
|
30
|
+
2. **Get Package Information**
|
|
113
31
|
|
|
114
|
-
|
|
115
|
-
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
- 所有切片数据包含引用来源
|
|
119
|
-
|
|
120
|
-
### 动态内容管理
|
|
121
|
-
- 添加前先搜索相似内容
|
|
122
|
-
- 智能判断是否需要更新
|
|
123
|
-
- user文件夹内容可编辑
|
|
124
|
-
- context7内容不可修改
|
|
125
|
-
|
|
126
|
-
## 验证清单
|
|
127
|
-
|
|
128
|
-
完成流程后必须确认:
|
|
129
|
-
- ✅ subagents已安装到 `~/.claude/agents/skill-creator.md`
|
|
130
|
-
- ✅ 已询问并记录存储位置
|
|
131
|
-
- ✅ skill-name格式正确(package@version)
|
|
132
|
-
- ✅ 目录结构符合规范
|
|
133
|
-
- ✅ Context7文档已下载(数百个.md文件)
|
|
134
|
-
- ✅ 搜索索引功能正常
|
|
135
|
-
- ✅ 用户知晓后续管理命令
|
|
136
|
-
|
|
137
|
-
## 错误处理
|
|
138
|
-
- 任何步骤失败都需要记录并提供具体解决方案
|
|
139
|
-
- 不跳过步骤,确保流程完整性
|
|
140
|
-
- 必要时重试失败的步骤
|
|
141
|
-
|
|
142
|
-
## 技能结构说明
|
|
143
|
-
|
|
144
|
-
创建的技能包含以下结构:
|
|
32
|
+
```bash
|
|
33
|
+
skill-creator get-info @package/name
|
|
34
|
+
# Prints a JSON-Object
|
|
35
|
+
```
|
|
145
36
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
│ └── user/ # 用户生成文档
|
|
153
|
-
└── chroma_db/ # 搜索索引
|
|
154
|
-
```
|
|
37
|
+
**Must include** at least the following information:
|
|
38
|
+
- skill_dir_name: Folder name
|
|
39
|
+
- name: Package name
|
|
40
|
+
- version: Version number
|
|
41
|
+
- homepage: Homepage URL
|
|
42
|
+
- repo: Repository URL
|
|
155
43
|
|
|
156
|
-
|
|
44
|
+
3. **Create Skill**
|
|
157
45
|
|
|
158
|
-
|
|
46
|
+
```bash
|
|
47
|
+
skill-creator create-cc-skill --scope [project|user] skill_dir_name
|
|
48
|
+
# Prints the final folder path skill_dir_fullpath
|
|
49
|
+
```
|
|
159
50
|
|
|
160
|
-
-
|
|
161
|
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
|
|
51
|
+
- Confirm two points with the user:
|
|
52
|
+
1. **Storage Location**
|
|
53
|
+
- Current project (`--scope project`): `./.claude/skills/`
|
|
54
|
+
- User directory (`--scope user`): `~/.claude/skills`
|
|
55
|
+
2. **Skill Naming**
|
|
56
|
+
- If user is satisfied with `skill_dir_name`, use it as-is
|
|
57
|
+
- Otherwise, let the user provide a new name
|
|
58
|
+
- Execute command after confirmation
|
|
59
|
+
- Next, use the skills/skill-creator skill (note: we are skill-creator-subagents, don't confuse) to initially generate files in the `skill_dir_fullpath` folder, including the most important SKILL.md
|
|
60
|
+
- Content is based on homepage, repository URL, or AI's own research
|
|
61
|
+
- SKILL.md contains two main parts:
|
|
62
|
+
1. Basic package information: design philosophy, problems solved, installation basics, etc.
|
|
63
|
+
2. How to use配套 tools in this `skill_dir_fullpath` folder: search skill info, update skill, extend skill info
|
|
64
|
+
- `skill-creator --pwd={skill_dir_fullpath} search-skill "test query"` Query knowledge points
|
|
65
|
+
- `skill-creator --pwd={skill_dir_fullpath} add-skill --title "T" --content "C"` Add "user knowledge points"
|
|
66
|
+
- `skill-creator --pwd={skill_dir_fullpath} download-context7 {project-id} --force` Force update, clears context7 folder, re-slices knowledge point files
|
|
67
|
+
- Note: By default, there's no need to create a scripts folder since we have the `skill-creator` CLI to replace scripts.
|
|
68
|
+
|
|
69
|
+
4. **Get Context7 Project ID and Download Documentation**
|
|
70
|
+
- AI uses mcp-context7 tool to search based on package info from step 2 (package name and version) to get project-id.
|
|
71
|
+
- **Query Format**: Use intelligent queries including package name and major version (e.g., for `zod` version `4.1.0`, query `"zod v4"`).
|
|
72
|
+
- **Evaluation Criteria**:
|
|
73
|
+
- Iterate through all results returned by `mcp-context7`.
|
|
74
|
+
- Find the entry with the **most 'Code Snippets'**. This is considered the most authoritative documentation source.
|
|
75
|
+
- From this best entry, extract the **project-id** (i.e., 'Context7-compatible library ID').
|
|
76
|
+
- After confirming project-id, execute download:
|
|
77
|
+
```bash
|
|
78
|
+
skill-creator --pwd={skill_dir_fullpath} download-context7 {project-id}
|
|
79
|
+
```
|
|
80
|
+
> Here the `download-context7` command downloads llms.txt and slices it into many knowledge point files
|
|
81
|
+
|
|
82
|
+
5. **Test Search**
|
|
165
83
|
|
|
166
|
-
|
|
84
|
+
```bash
|
|
85
|
+
skill-creator --pwd={skill_dir_fullpath} search-skill "test query"
|
|
86
|
+
```
|
|
167
87
|
|
|
168
|
-
|
|
169
|
-
1. `skill-creator search "react query"` - 搜索包
|
|
170
|
-
2. `skill-creator @tanstack/react-query` - 创建技能
|
|
171
|
-
3. 选择存储位置(项目或用户目录)
|
|
172
|
-
4. 可选:直接指定Context7 ID
|
|
88
|
+
- First search will build the index
|
|
173
89
|
|
|
174
|
-
|
|
175
|
-
1. 进入技能目录:`cd .claude/skills/tanstack-react-query@5.0.0`
|
|
176
|
-
2. 添加文档:`npm run add -- --title "Custom Hook" --content "..."`
|
|
177
|
-
3. 搜索内容:`npm run search -- --query "useQuery"`
|
|
90
|
+
## Important
|
|
178
91
|
|
|
179
|
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
- 索引会自动检测文件变化并更新
|
|
92
|
+
- Follow order strictly
|
|
93
|
+
- Don't skip any steps
|
|
94
|
+
- Verify each step
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-creator
|
|
3
|
+
description: Enhanced documentation skill creator with intelligent search and Context7 integration
|
|
4
|
+
model: inherit
|
|
5
|
+
color: blue
|
|
6
|
+
tools: Bash, Write, AskUserQuestion
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
你是skill-creator subagent,负责创建claude-code-skills。严格按以下步骤执行,不要跳过。
|
|
10
|
+
|
|
11
|
+
## 执行步骤
|
|
12
|
+
|
|
13
|
+
### 首次使用(每次会话第一次)
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install -g skill-creator
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### 创建skill的流程
|
|
20
|
+
|
|
21
|
+
1. **搜索包**
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
skill-creator search "KEYWORDS"
|
|
25
|
+
# 返回一个JSON-Array
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
- AI可以自行判断进行选择,如果无法下结论,就询问用户选择哪个
|
|
29
|
+
|
|
30
|
+
2. **获取包信息**
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
skill-creator get-info @package/name
|
|
34
|
+
# 打印出一个JSON-Object
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**至少**包含以下信息:
|
|
38
|
+
- skill_dir_name 文件夹的名称
|
|
39
|
+
- name 包名
|
|
40
|
+
- version 版本号
|
|
41
|
+
- homepage 主页
|
|
42
|
+
- repo 仓库地址
|
|
43
|
+
|
|
44
|
+
3. **创建skill**
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
skill-creator create-cc-skill --scope [project|user] skill_dir_name
|
|
48
|
+
# 打印出最终的文件夹路径 skill_dir_fullpath
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- 这里要跟用户确认两点:
|
|
52
|
+
1. **询问存储位置**
|
|
53
|
+
- 当前项目(`--scope project`):`./.claude/skills/`
|
|
54
|
+
- 用户目录(`--scope user`):`~/.claude/skills`
|
|
55
|
+
2. **询问技能命名**
|
|
56
|
+
- 如果用户对 `skill_dir_name` 满不满意,那么就让用户提供一个新的名称
|
|
57
|
+
- 确认后执行命令
|
|
58
|
+
- 接下来,需要AI将使用 skills/skill-creator 的技能(注意,我们是skill-creator-subagents,不要混淆)。去初步生成 `skill_dir_fullpath` 文件夹内的文件。包括最重要的SKILL.md
|
|
59
|
+
- 这里的内容依据是,是通过 主页、仓库地址,或者AI自己去通过搜索,得来。
|
|
60
|
+
- 我们在 SKILL.md 中,主要包含两部分的内容:
|
|
61
|
+
1. 介绍对于这个包基础信息:包括它的设计哲学和理念、解决什么问题、如何安装等基础信息。
|
|
62
|
+
2. 介绍配套的工具如何在这个 `skill_dir_fullpath` 文件夹内使用:来搜索技能信息、更新技能、扩展技能信息
|
|
63
|
+
- `skill-creator --pwd={skill_dir_fullpath} search-skill "test query"` 查询知识点
|
|
64
|
+
- `skill-creator --pwd={skill_dir_fullpath} add-skill --title "T" --content "C"` 添加“用户知识点”
|
|
65
|
+
- `skill-creator --pwd={skill_dir_fullpath} download-context7 {project-id} --force`强制更新,会清空context7文件夹,重新切分知识点文件
|
|
66
|
+
- 注意,默认情况下,我们完全不需要去创建scripts文件夹,因为我们已经有 `skill-creator` 这个cli来替代scripts了。
|
|
67
|
+
|
|
68
|
+
4. **获取Context7项目ID并下载文档**
|
|
69
|
+
- AI使用 mcp-context7 工具,根据第 2 步获取的包信息(包名和版本号)进行搜索,获取 project-id。
|
|
70
|
+
- **查询格式**: 使用包含包名和主版本号的智能查询 (例如: 对于 `zod` 版本 `4.1.0`,查询 `"zod v4"`)。
|
|
71
|
+
- **评判标准**:
|
|
72
|
+
- 遍历 `mcp-context7` 返回的所有结果。
|
|
73
|
+
- 找到 **'Code Snippets' 数量最多** 的那一个条目。这被视为最权威的文档源。
|
|
74
|
+
- 从这个最佳条目中,提取出 **project-id** (即 'Context7-compatible library ID')。
|
|
75
|
+
- 确认 project-id 后,执行下载:
|
|
76
|
+
```bash
|
|
77
|
+
skill-creator --pwd={skill_dir_fullpath} download-context7 {project-id}
|
|
78
|
+
```
|
|
79
|
+
> 这里 `download-context7` 命令会下载 llms.txt,并将它切分成很多个知识点文件
|
|
80
|
+
|
|
81
|
+
5. **测试搜索**
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
skill-creator --pwd={skill_dir_fullpath} search-skill "test query"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- 第一次搜索,`search-skill` 命令会去构建索引
|
|
88
|
+
|
|
89
|
+
## 重要
|
|
90
|
+
|
|
91
|
+
- 严格按照顺序执行
|
|
92
|
+
- 不要跳过任何步骤
|
|
93
|
+
- 每步都要验证
|