🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

skill-base-cli

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skill-base-cli - npm Package Compare versions

Comparing version
1.0.10
to
1.0.11
+11
-6
bin/skb.js

@@ -14,5 +14,14 @@ #!/usr/bin/env node

import { pickMessage } from '../lib/i18n.js';
import { getSupportedIdeIds } from '../lib/ide.js';
const program = new Command();
function installIdeOptionDescription() {
const ids = getSupportedIdeIds().join(' / ');
return pickMessage({
zh: `目标 Agent(${ids})`,
en: `Target Agent (${ids})`
});
}
const S = {

@@ -51,6 +60,2 @@ rootDesc: {

},
installIde: {
zh: '目标 Agent (universal / cursor / copilot / windsurf / qoder / claude-code / qoderwork / opencode / trae / trae-cn)',
en: 'Target Agent (universal / cursor / copilot / windsurf / qoder / claude-code / qoderwork / opencode / trae / trae-cn)'
},
installGlobal: {

@@ -140,4 +145,4 @@ zh: '安装到全局 Agent 配置目录',

.option('-d, --dir <directory>', pickMessage(S.installDir))
.option('-i, --ide <agent>', pickMessage(S.installIde))
.option('-a, --agent <agent>', pickMessage(S.installIde))
.option('-i, --ide <agent>', installIdeOptionDescription())
.option('-a, --agent <agent>', installIdeOptionDescription())
.option('-g, --global', pickMessage(S.installGlobal), false)

@@ -144,0 +149,0 @@ .action((target, options) => {

@@ -38,3 +38,7 @@ import fs from 'node:fs';

tipLatestSuffix: { zh: '` 安装最新版本', en: '` to install the latest' },
installFailed: { zh: '安装失败: ', en: 'Install failed: ' }
installFailed: { zh: '安装失败: ', en: 'Install failed: ' },
overwriteAsk: {
zh: (p) => `目标已存在同名目录,是否覆盖?\n${p}`,
en: (p) => `A folder with the same skill name already exists. Overwrite?\n${p}`
}
};

@@ -155,2 +159,22 @@

const installPathCandidate = path.join(path.resolve(targetDir), skillId);
if (fs.existsSync(installPathCandidate)) {
const displayConflict = path.relative(process.cwd(), installPathCandidate) || installPathCandidate;
const { confirm: overwrite } = await prompts({
type: 'confirm',
name: 'confirm',
message: pickFn(M.overwriteAsk, displayConflict),
initial: false
});
if (overwrite === undefined) {
console.log(chalk.yellow(pickMessage(M.cancelled)));
process.exit(0);
}
if (!overwrite) {
console.log(chalk.yellow(pickMessage(M.cancelled)));
process.exit(0);
}
fs.rmSync(installPathCandidate, { recursive: true, force: true });
}
const verLabel = version !== 'latest' ? `@${version}` : '';

@@ -157,0 +181,0 @@ const spinner = ora(`${pickMessage(M.downloading)}${skillId}${verLabel}...`).start();

@@ -81,2 +81,65 @@ import fs from 'node:fs';

},
openclaw: {
id: 'openclaw',
name: 'OpenClaw',
projectPath: 'skills',
globalPath: '.openclaw/skills',
supportsGlobal: true,
},
codebuddy: {
id: 'codebuddy',
name: 'CodeBuddy',
projectPath: '.codebuddy/skills',
globalPath: '.codebuddy/skills',
supportsGlobal: true,
},
codex: {
id: 'codex',
name: 'Codex',
projectPath: '.agents/skills',
globalPath: '.codex/skills',
supportsGlobal: true,
},
'iflow-cli': {
id: 'iflow-cli',
name: 'iFlow CLI',
projectPath: '.iflow/skills',
globalPath: '.iflow/skills',
supportsGlobal: true,
},
kilo: {
id: 'kilo',
name: 'Kilo Code',
projectPath: '.kilocode/skills',
globalPath: '.kilocode/skills',
supportsGlobal: true,
},
'kiro-cli': {
id: 'kiro-cli',
name: 'Kiro CLI',
projectPath: '.kiro/skills',
globalPath: '.kiro/skills',
supportsGlobal: true,
},
pi: {
id: 'pi',
name: 'Pi',
projectPath: '.pi/skills',
globalPath: '.pi/agent/skills',
supportsGlobal: true,
},
'qwen-code': {
id: 'qwen-code',
name: 'Qwen Code',
projectPath: '.qwen/skills',
globalPath: '.qwen/skills',
supportsGlobal: true,
},
roo: {
id: 'roo',
name: 'Roo Code',
projectPath: '.roo/skills',
globalPath: '.roo/skills',
supportsGlobal: true,
},
};

@@ -83,0 +146,0 @@

{
"name": "skill-base-cli",
"version": "1.0.10",
"version": "1.0.11",
"description": "Skill Base CLI - 命令行工具,用于搜索、安装、更新和发布 AI Agent Skills",

@@ -5,0 +5,0 @@ "type": "module",