@bhoon716/skill-forge 1.0.0 → 1.0.1
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.ko.md +8 -5
- package/README.md +8 -5
- package/README.zh.md +12 -9
- package/bin/cli.js +72 -47
- package/package.json +1 -1
- package/skills/ultra-grill-me/README.ko.md +5 -5
- package/skills/ultra-grill-me/README.md +5 -5
- package/skills/ultra-grill-me/README.zh.md +5 -5
package/README.ko.md
CHANGED
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="./README.md">English</a> | <a href="./README.ko.md">한국어</a> | <a href="./README.zh.md">简体中文</a>
|
|
11
11
|
</p>
|
|
12
|
+
<p align="center">
|
|
13
|
+
📦 <a href="https://www.npmjs.com/package/@bhoon716/skill-forge">NPM Package</a>
|
|
14
|
+
</p>
|
|
12
15
|
---
|
|
13
16
|
|
|
14
17
|
**정성껏 깎아낸 AI 에이전트 스킬(Agent Skill)들을 한데 모으고 스마트하게 배포하는 작업공간입니다.**
|
|
@@ -71,19 +74,19 @@ skill-forge/
|
|
|
71
74
|
### 💡 명령어 실물 예시
|
|
72
75
|
```bash
|
|
73
76
|
# 1. 특정 스킬을 한국어로 Codex/Gemini 프로젝트 로컬에 설치 (기본값)
|
|
74
|
-
$ skill-forge
|
|
77
|
+
$ skill-forge install ultra-grill-me --lang ko
|
|
75
78
|
|
|
76
79
|
# 2. 특정 스킬을 한국어로 Claude Code 로컬 경로에 설치
|
|
77
|
-
$ skill-forge
|
|
80
|
+
$ skill-forge install ultra-grill-me --lang ko --agent claude
|
|
78
81
|
|
|
79
82
|
# 3. 특정 스킬을 영어로 Cursor 프로젝트 로컬 경로에 설치
|
|
80
|
-
$ skill-forge
|
|
83
|
+
$ skill-forge install ultra-grill-me --lang en --agent cursor
|
|
81
84
|
|
|
82
85
|
# 4. 글로벌 환경에 한국어 스킬로 전역 설치 (모든 워크스페이스 공유)
|
|
83
|
-
$ skill-forge
|
|
86
|
+
$ skill-forge install ultra-grill-me --lang ko --agent global
|
|
84
87
|
|
|
85
88
|
# 5. 전체 스킬을 한국어 버전으로 한 번에 로컬 설치
|
|
86
|
-
$ skill-forge install
|
|
89
|
+
$ skill-forge install all --lang ko --agent codex
|
|
87
90
|
```
|
|
88
91
|
|
|
89
92
|
### ⚙️ 옵션 요약
|
package/README.md
CHANGED
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="./README.md">English</a> | <a href="./README.ko.md">한국어</a> | <a href="./README.zh.md">简体中文</a>
|
|
11
11
|
</p>
|
|
12
|
+
<p align="center">
|
|
13
|
+
📦 <a href="https://www.npmjs.com/package/@bhoon716/skill-forge">NPM Package</a>
|
|
14
|
+
</p>
|
|
12
15
|
---
|
|
13
16
|
|
|
14
17
|
**A dedicated, professional workspace to craft, test, and distribute sharp, reusable AI Agent Skills.**
|
|
@@ -71,19 +74,19 @@ A built-in installer tool that automatically maps localized skill source files a
|
|
|
71
74
|
### 💡 CLI Usage Examples
|
|
72
75
|
```bash
|
|
73
76
|
# 1. Install Korean version locally to Codex/Gemini directory (Default)
|
|
74
|
-
$ skill-forge
|
|
77
|
+
$ skill-forge install ultra-grill-me --lang ko
|
|
75
78
|
|
|
76
79
|
# 2. Install Korean version locally to Claude Code directory
|
|
77
|
-
$ skill-forge
|
|
80
|
+
$ skill-forge install ultra-grill-me --lang ko --agent claude
|
|
78
81
|
|
|
79
82
|
# 3. Install English version locally to Cursor directory
|
|
80
|
-
$ skill-forge
|
|
83
|
+
$ skill-forge install ultra-grill-me --lang en --agent cursor
|
|
81
84
|
|
|
82
85
|
# 4. Install globally for all workspaces (English default)
|
|
83
|
-
$ skill-forge
|
|
86
|
+
$ skill-forge install ultra-grill-me --lang en --agent global
|
|
84
87
|
|
|
85
88
|
# 5. Install all skills in the forge workspace at once in Korean
|
|
86
|
-
$ skill-forge install
|
|
89
|
+
$ skill-forge install all --lang ko --agent codex
|
|
87
90
|
```
|
|
88
91
|
|
|
89
92
|
### ⚙️ Options List
|
package/README.zh.md
CHANGED
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
<p align="center">
|
|
10
10
|
<a href="./README.md">English</a> | <a href="./README.ko.md">한국어</a> | <a href="./README.zh.md">简体中文</a>
|
|
11
11
|
</p>
|
|
12
|
+
<p align="center">
|
|
13
|
+
📦 <a href="https://www.npmjs.com/package/@bhoon716/skill-forge">NPM Package</a>
|
|
14
|
+
</p>
|
|
12
15
|
---
|
|
13
16
|
|
|
14
17
|
**精心打磨的 AI Agent Skill 设计与智能分发工作空间。**
|
|
@@ -56,37 +59,37 @@ skill-forge/
|
|
|
56
59
|
|
|
57
60
|
---
|
|
58
61
|
|
|
59
|
-
## 🚀 3. CLI 快速部署工具 (`
|
|
62
|
+
## 🚀 3. CLI 快速部署工具 (`skill-forge` 或 `npx @bhoon716/skill-forge`)
|
|
60
63
|
|
|
61
64
|
通过轻量化 CLI 可以自动根据语言选项映射,并将 Skill 复制部署到对应的 Agent 本地或全局配置路径中。
|
|
62
65
|
|
|
63
66
|
> [!TIP]
|
|
64
|
-
>
|
|
65
|
-
>
|
|
67
|
+
> **全局命令更轻松运行 (`skill-forge`)**:
|
|
68
|
+
> 您可以全局安装此工具,以便直接运行 `skill-forge` 启动交互式安装模式。
|
|
66
69
|
> ```bash
|
|
67
70
|
> # 1. 全局安装 (仅需一次)
|
|
68
71
|
> $ npm install -g @bhoon716/skill-forge
|
|
69
72
|
>
|
|
70
73
|
> # 2. 快捷运行交互式安装模式
|
|
71
|
-
> $
|
|
74
|
+
> $ skill-forge
|
|
72
75
|
> ```
|
|
73
76
|
|
|
74
77
|
### 💡 命令行实例
|
|
75
78
|
```bash
|
|
76
79
|
# 1. 以中文版部署到本地默认项目路径 (Codex/Gemini)
|
|
77
|
-
$
|
|
80
|
+
$ skill-forge install ultra-grill-me --lang zh
|
|
78
81
|
|
|
79
82
|
# 2. 以中文版部署到本地 Claude Code 路径
|
|
80
|
-
$
|
|
83
|
+
$ skill-forge install ultra-grill-me --lang zh --agent claude
|
|
81
84
|
|
|
82
85
|
# 3. 以英文版部署到本地 Cursor 路径
|
|
83
|
-
$
|
|
86
|
+
$ skill-forge install ultra-grill-me --lang en --agent cursor
|
|
84
87
|
|
|
85
88
|
# 4. 以中文版全局部署到用户主目录 (全局生效)
|
|
86
|
-
$
|
|
89
|
+
$ skill-forge install ultra-grill-me --lang zh --agent global
|
|
87
90
|
|
|
88
91
|
# 5. 一键中文部署工作空间内的所有 Skill
|
|
89
|
-
$
|
|
92
|
+
$ skill-forge install all --lang zh --agent codex
|
|
90
93
|
```
|
|
91
94
|
|
|
92
95
|
### ⚙️ 选项说明
|
package/bin/cli.js
CHANGED
|
@@ -11,13 +11,14 @@ const sourceSkillsDir = path.join(__dirname, '..', 'skills');
|
|
|
11
11
|
const def_usage = () => {
|
|
12
12
|
console.log(`
|
|
13
13
|
Usage: npx @bhoon716/skill-forge [command] [options]
|
|
14
|
+
(or use "skill-forge" globally after npm install -g)
|
|
14
15
|
|
|
15
16
|
If run without arguments, launches Interactive Setup Mode.
|
|
16
17
|
|
|
17
18
|
Commands:
|
|
18
19
|
list List all available skills and their descriptions.
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
install <name> Install a specific skill from the forge workspace.
|
|
21
|
+
Use "install all" to install all available skills.
|
|
21
22
|
|
|
22
23
|
Options:
|
|
23
24
|
-l, --lang <lang> Specify localization language (e.g., en, ko, zh). (Default: en)
|
|
@@ -27,9 +28,9 @@ Options:
|
|
|
27
28
|
-h, --help Display help message.
|
|
28
29
|
|
|
29
30
|
Examples:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
skill-forge list --lang ko
|
|
32
|
+
skill-forge install ultra-grill-me --lang ko
|
|
33
|
+
skill-forge install all --lang zh --agent claude
|
|
33
34
|
`);
|
|
34
35
|
};
|
|
35
36
|
|
|
@@ -65,17 +66,14 @@ const listSkillsLogic = (selectedLang = 'en') => {
|
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
skills.forEach(skill => {
|
|
68
|
-
// Try to find localized SKILL file
|
|
69
69
|
let skillFile = path.join(sourceSkillsDir, skill, `SKILL.${selectedLang}.md`);
|
|
70
70
|
if (!fs.existsSync(skillFile)) {
|
|
71
|
-
skillFile = path.join(sourceSkillsDir, skill, 'SKILL.md');
|
|
71
|
+
skillFile = path.join(sourceSkillsDir, skill, 'SKILL.md');
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
let description = 'No description provided.';
|
|
75
75
|
if (fs.existsSync(skillFile)) {
|
|
76
76
|
const content = fs.readFileSync(skillFile, 'utf8');
|
|
77
|
-
|
|
78
|
-
// Parse description from frontmatter
|
|
79
77
|
const descMatch = content.match(/description:\s*(.*)/);
|
|
80
78
|
if (descMatch && descMatch[1]) {
|
|
81
79
|
description = descMatch[1].trim();
|
|
@@ -84,7 +82,7 @@ const listSkillsLogic = (selectedLang = 'en') => {
|
|
|
84
82
|
|
|
85
83
|
console.log(`* ${skill.padEnd(20)} - ${description}`);
|
|
86
84
|
});
|
|
87
|
-
console.log('\nUse "skill-forge
|
|
85
|
+
console.log('\nUse "skill-forge install <skill-name>" to install a specific skill.\n');
|
|
88
86
|
};
|
|
89
87
|
|
|
90
88
|
// Interactive Mode Prompt
|
|
@@ -115,36 +113,51 @@ const runInteractiveMode = async () => {
|
|
|
115
113
|
const question = (query) => new Promise((resolve) => rl.question(query, resolve));
|
|
116
114
|
|
|
117
115
|
try {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
116
|
+
let selectedSkill = null;
|
|
117
|
+
let installAll = false;
|
|
118
|
+
|
|
119
|
+
// 1. Select Skill (Skip if only 1 skill exists)
|
|
120
|
+
if (skills.length === 1) {
|
|
121
|
+
selectedSkill = skills[0];
|
|
122
|
+
console.log(`[Auto-selected Skill] Only 1 skill found: "${selectedSkill}"`);
|
|
123
|
+
} else {
|
|
124
|
+
console.log('Available Skills in Forge:');
|
|
125
|
+
skills.forEach((s, idx) => console.log(` [${idx + 1}] ${s}`));
|
|
126
|
+
console.log(` [${skills.length + 1}] (Install All Available Skills)`);
|
|
127
|
+
|
|
128
|
+
while (true) {
|
|
129
|
+
const ans = await question(`\nSelect a skill to install [1-${skills.length + 1}]: `);
|
|
130
|
+
const val = parseInt(ans.trim());
|
|
131
|
+
if (val >= 1 && val <= skills.length + 1) {
|
|
132
|
+
if (val === skills.length + 1) {
|
|
133
|
+
installAll = true;
|
|
134
|
+
} else {
|
|
135
|
+
selectedSkill = skills[val - 1];
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
console.log('Invalid choice. Please select a valid option number.');
|
|
130
140
|
}
|
|
131
|
-
console.log('Invalid choice. Please select a valid option number.');
|
|
132
141
|
}
|
|
133
142
|
|
|
134
|
-
|
|
135
|
-
const
|
|
143
|
+
// 2. Select Language (Detect OS language environment)
|
|
144
|
+
const envLang = process.env.LANG || '';
|
|
145
|
+
const isKoreanEnv = envLang.toLowerCase().includes('ko') || envLang.toLowerCase().includes('korean');
|
|
146
|
+
const defaultLangCode = isKoreanEnv ? 'ko' : 'en';
|
|
136
147
|
|
|
137
|
-
// 2. Select Language
|
|
138
148
|
console.log('\nSelect localization language:');
|
|
139
|
-
console.log(
|
|
140
|
-
console.log(
|
|
149
|
+
console.log(` [1] English (en) ${!isKoreanEnv ? '- Default' : ''}`);
|
|
150
|
+
console.log(` [2] 한국어 (ko) ${isKoreanEnv ? '- Default' : ''}`);
|
|
141
151
|
console.log(' [3] 简体中文 (zh)');
|
|
142
152
|
|
|
143
|
-
let selectedLang =
|
|
153
|
+
let selectedLang = defaultLangCode;
|
|
144
154
|
while (true) {
|
|
145
|
-
const ans = await question(
|
|
155
|
+
const ans = await question(`\nSelect language option [1-3, Default ${isKoreanEnv ? '2' : '1'}]: `);
|
|
146
156
|
const val = ans.trim();
|
|
147
|
-
if (val === ''
|
|
157
|
+
if (val === '') {
|
|
158
|
+
selectedLang = defaultLangCode;
|
|
159
|
+
break;
|
|
160
|
+
} else if (val === '1') {
|
|
148
161
|
selectedLang = 'en';
|
|
149
162
|
break;
|
|
150
163
|
} else if (val === '2') {
|
|
@@ -157,7 +170,7 @@ const runInteractiveMode = async () => {
|
|
|
157
170
|
console.log('Invalid choice. Please select 1, 2, or 3.');
|
|
158
171
|
}
|
|
159
172
|
|
|
160
|
-
// 3. Select Agent Target
|
|
173
|
+
// 3. Select Agent Target (Smart default if detected)
|
|
161
174
|
const detected = detectAgents();
|
|
162
175
|
console.log('\nSelect target AI Agent environment:');
|
|
163
176
|
|
|
@@ -169,18 +182,22 @@ const runInteractiveMode = async () => {
|
|
|
169
182
|
{ name: 'Global User Setting (~/.gemini/config/)', value: 'global' }
|
|
170
183
|
];
|
|
171
184
|
|
|
185
|
+
let defaultAgentIdx = 1;
|
|
172
186
|
agentsList.forEach((ag, idx) => {
|
|
173
187
|
const isDetected = detected.some(d => d.value === ag.value);
|
|
188
|
+
if (isDetected && detected.length === 1) {
|
|
189
|
+
defaultAgentIdx = idx + 1;
|
|
190
|
+
}
|
|
174
191
|
const label = isDetected ? '⭐ (Detected in Project)' : '';
|
|
175
192
|
console.log(` [${idx + 1}] ${ag.name} ${label}`);
|
|
176
193
|
});
|
|
177
194
|
|
|
178
|
-
let selectedAgent =
|
|
195
|
+
let selectedAgent = agentsList[defaultAgentIdx - 1].value;
|
|
179
196
|
while (true) {
|
|
180
|
-
const ans = await question(
|
|
197
|
+
const ans = await question(`\nSelect agent option [1-5, Default ${defaultAgentIdx}]: `);
|
|
181
198
|
const val = ans.trim();
|
|
182
199
|
if (val === '') {
|
|
183
|
-
selectedAgent =
|
|
200
|
+
selectedAgent = agentsList[defaultAgentIdx - 1].value;
|
|
184
201
|
break;
|
|
185
202
|
}
|
|
186
203
|
const idx = parseInt(val);
|
|
@@ -201,7 +218,6 @@ const runInteractiveMode = async () => {
|
|
|
201
218
|
console.log(` - Target Agent: ${selectedAgent}`);
|
|
202
219
|
console.log('---------------------------------------------------\n');
|
|
203
220
|
|
|
204
|
-
// Run installation logic
|
|
205
221
|
const targetBaseDir = getTargetBaseDir(selectedAgent);
|
|
206
222
|
if (installAll) {
|
|
207
223
|
console.log(`Installing all ${skills.length} skills to target path: ${targetBaseDir}...\n`);
|
|
@@ -245,14 +261,19 @@ if (args.includes('-h') || args.includes('--help')) {
|
|
|
245
261
|
process.exit(0);
|
|
246
262
|
}
|
|
247
263
|
|
|
248
|
-
// If no arguments, launch Interactive Mode
|
|
249
264
|
if (args.length === 0) {
|
|
250
265
|
runInteractiveMode();
|
|
251
266
|
} else {
|
|
252
267
|
// Command line parameters parsing mode
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
268
|
+
const rawCommand = args[0];
|
|
269
|
+
|
|
270
|
+
// Normalize command for backward compatibility
|
|
271
|
+
let command = rawCommand;
|
|
272
|
+
if (rawCommand === 'add') command = 'install';
|
|
273
|
+
if (rawCommand === 'install-all') command = 'install-all';
|
|
274
|
+
|
|
275
|
+
if (command !== 'install' && command !== 'install-all' && command !== 'list') {
|
|
276
|
+
console.error(`Error: Unknown command "${rawCommand}"`);
|
|
256
277
|
def_usage();
|
|
257
278
|
process.exit(1);
|
|
258
279
|
}
|
|
@@ -261,17 +282,21 @@ if (args.length === 0) {
|
|
|
261
282
|
let lang = 'en';
|
|
262
283
|
let agent = 'codex';
|
|
263
284
|
let dryRun = false;
|
|
285
|
+
let isAllTarget = false;
|
|
264
286
|
|
|
265
|
-
if (command === '
|
|
287
|
+
if (command === 'install') {
|
|
266
288
|
targetSkill = args[1];
|
|
267
289
|
if (!targetSkill || targetSkill.startsWith('-')) {
|
|
268
|
-
console.error('Error: Please specify a skill name to
|
|
290
|
+
console.error('Error: Please specify a skill name to install (e.g. skill-forge install ultra-grill-me).');
|
|
269
291
|
process.exit(1);
|
|
270
292
|
}
|
|
293
|
+
// "install all" format compatibility
|
|
294
|
+
if (targetSkill.toLowerCase() === 'all') {
|
|
295
|
+
isAllTarget = true;
|
|
296
|
+
}
|
|
271
297
|
}
|
|
272
298
|
|
|
273
|
-
|
|
274
|
-
const parseStartIdx = command === 'add' ? 2 : 1;
|
|
299
|
+
const parseStartIdx = command === 'install' ? 2 : 1;
|
|
275
300
|
for (let i = parseStartIdx; i < args.length; i++) {
|
|
276
301
|
const arg = args[i];
|
|
277
302
|
if (arg === '-l' || arg === '--lang') {
|
|
@@ -288,9 +313,7 @@ if (args.length === 0) {
|
|
|
288
313
|
} else {
|
|
289
314
|
const targetBaseDir = getTargetBaseDir(agent);
|
|
290
315
|
|
|
291
|
-
if (command === '
|
|
292
|
-
installSkillLogic(targetSkill, lang, agent, targetBaseDir, dryRun);
|
|
293
|
-
} else if (command === 'install-all') {
|
|
316
|
+
if (isAllTarget || command === 'install-all') {
|
|
294
317
|
if (!fs.existsSync(sourceSkillsDir)) {
|
|
295
318
|
console.error(`Error: Skills source directory not found at ${sourceSkillsDir}`);
|
|
296
319
|
process.exit(1);
|
|
@@ -299,6 +322,8 @@ if (args.length === 0) {
|
|
|
299
322
|
return fs.statSync(path.join(sourceSkillsDir, file)).isDirectory();
|
|
300
323
|
});
|
|
301
324
|
skills.forEach(s => installSkillLogic(s, lang, agent, targetBaseDir, dryRun));
|
|
325
|
+
} else {
|
|
326
|
+
installSkillLogic(targetSkill, lang, agent, targetBaseDir, dryRun);
|
|
302
327
|
}
|
|
303
328
|
}
|
|
304
329
|
}
|
package/package.json
CHANGED
|
@@ -79,7 +79,7 @@ graph TD
|
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
82
|
-
## 4. `
|
|
82
|
+
## 4. `skill-forge` CLI 설치 가이드
|
|
83
83
|
|
|
84
84
|
저장소 공통 CLI 도구를 사용하여 원하는 에이전트 도구 환경에 지정된 언어 버전으로 즉시 이식합니다.
|
|
85
85
|
|
|
@@ -88,16 +88,16 @@ graph TD
|
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
90
|
# 1. Codex/Gemini에 한국어 버전으로 로컬 설치 (기본값)
|
|
91
|
-
|
|
91
|
+
skill-forge install ultra-grill-me --lang ko
|
|
92
92
|
|
|
93
93
|
# 2. Claude Code에 한국어 버전으로 로컬 설치
|
|
94
|
-
|
|
94
|
+
skill-forge install ultra-grill-me --lang ko --agent claude
|
|
95
95
|
|
|
96
96
|
# 3. Cursor 프로젝트 로컬에 영어 버전으로 설치
|
|
97
|
-
|
|
97
|
+
skill-forge install ultra-grill-me --lang en --agent cursor
|
|
98
98
|
|
|
99
99
|
# 4. 글로벌 스킬 디렉토리에 한국어 버전 전역 설치 (모든 워크스페이스 공유)
|
|
100
|
-
|
|
100
|
+
skill-forge install ultra-grill-me --lang ko --agent global
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
---
|
|
@@ -79,7 +79,7 @@ Please select a number, ask for more options, or answer directly.
|
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
82
|
-
## 4. `
|
|
82
|
+
## 4. `skill-forge` CLI Installer
|
|
83
83
|
|
|
84
84
|
Use the workspace CLI to deploy the skill to your target agent directory.
|
|
85
85
|
|
|
@@ -88,16 +88,16 @@ Use the workspace CLI to deploy the skill to your target agent directory.
|
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
90
|
# 1. Install Korean translation locally to Codex/Gemini (Default)
|
|
91
|
-
|
|
91
|
+
skill-forge install ultra-grill-me --lang ko
|
|
92
92
|
|
|
93
93
|
# 2. Install English version locally to Claude Code
|
|
94
|
-
|
|
94
|
+
skill-forge install ultra-grill-me --lang en --agent claude
|
|
95
95
|
|
|
96
96
|
# 3. Install English version locally to Cursor
|
|
97
|
-
|
|
97
|
+
skill-forge install ultra-grill-me --lang en --agent cursor
|
|
98
98
|
|
|
99
99
|
# 4. Install globally for all workspaces (English default)
|
|
100
|
-
|
|
100
|
+
skill-forge install ultra-grill-me --lang en --agent global
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
---
|
|
@@ -79,7 +79,7 @@ graph TD
|
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
82
|
-
## 4. `
|
|
82
|
+
## 4. `skill-forge` CLI 部署工具
|
|
83
83
|
|
|
84
84
|
使用内置 CLI 将本地化翻译自动部署到对应的本地或全局 Agent 配置路径。
|
|
85
85
|
|
|
@@ -88,16 +88,16 @@ graph TD
|
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
90
|
# 1. 部署中文版到本地默认项目路径 (Codex/Gemini)
|
|
91
|
-
$
|
|
91
|
+
$ skill-forge install ultra-grill-me --lang zh
|
|
92
92
|
|
|
93
93
|
# 2. 部署中文版到 Claude Code 路径
|
|
94
|
-
$
|
|
94
|
+
$ skill-forge install ultra-grill-me --lang zh --agent claude
|
|
95
95
|
|
|
96
96
|
# 3. 部署英文版到 Cursor 路径
|
|
97
|
-
$
|
|
97
|
+
$ skill-forge install ultra-grill-me --lang en --agent cursor
|
|
98
98
|
|
|
99
99
|
# 4. 全局部署中文版至用户根路径
|
|
100
|
-
$
|
|
100
|
+
$ skill-forge install ultra-grill-me --lang zh --agent global
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
---
|