L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

skill-installer

skill-installer

Skill 安装工具(Skill Installer)。从多种来源安装 Claude Code skill, 内置安全审查流程,安装前自动执行 skill-vetter 协议。 支持:GitHub 仓库路径(owner/repo/skill-name)、原始文件 URL、 本地文件路径、直接粘贴 SKILL.md 内容。 当用户说"安装这个skill""install skill""帮我装这个""从GitHub安装skill" "把这个skill装上""安装 owner/repo/skill-name"时触发此 skill。 注意:所有安装在写入文件前必须经过安全审查,无法获取内容的来源一律拒绝安装。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: skill-installer description: | Skill 安装工具(Skill Installer)。从多种来源安装 Claude Code skill, 内置安全审查流程,安装前自动执行 skill-vetter 协议。 支持:GitHub 仓库路径(owner/repo/skill-name)、原始文件 URL、 本地文件路径、直接粘贴 SKILL.md 内容。 当用户说"安装这个skill""install skill""帮我装这个""从GitHub安装skill" "把这个skill装上""安装 owner/repo/skill-name"时触发此 skill。 注意:所有安装在写入文件前必须经过安全审查,无法获取内容的来源一律拒绝安装。

Skill 安装工具(Skill Installer)

本 skill 提供标准化的 skill 安装流程:获取内容 → 安全审查 → 确认安装 → 写入文件。

安装目录:~/.claude/skills/<skill-name>/SKILL.md


支持的输入格式

格式示例
GitHub 路径owner/repo 或 owner/repo/skill-name
原始文件 URLhttps://raw.githubusercontent.com/...
第三方平台 URLhttps://skillsmp.com/skills/...
本地文件路径/path/to/SKILL.md 或本地目录
直接粘贴内容用户在对话中粘贴了 SKILL.md 的完整内容

执行流程

收到安装请求后,严格按顺序执行以下五个阶段。


第一阶段:解析来源

根据用户提供的输入,判断来源类型并获取内容:

来源类型 A:GitHub 路径(owner/repo 或 owner/repo/skill-name)

# 1. 获取仓库基本信息
curl -s "https://api.github.com/repos/OWNER/REPO"

# 2. 列出 skills 目录(如果有)
curl -s "https://api.github.com/repos/OWNER/REPO/contents/skills/SKILL_NAME"

# 3. 获取 SKILL.md 原始内容
curl -s "https://raw.githubusercontent.com/OWNER/REPO/main/skills/SKILL_NAME/SKILL.md"
# 如果 main 分支不存在,尝试 master 分支

记录:Stars、最后更新时间、作者、文件列表。

来源类型 B:原始文件 URL

使用 WebFetch 工具直接获取 URL 内容。 记录:域名来源、是否为已知可信平台。

来源类型 C:第三方平台 URL

使用 WebFetch 工具获取内容。 如果 WebFetch 失败(不可访问),立即终止,输出:

❌ 安装终止:无法访问来源 URL,内容不可审查,拒绝安装。
建议:请提供 GitHub 仓库路径或直接粘贴 SKILL.md 内容。

来源类型 D:本地文件路径

使用 Read 工具读取本地 SKILL.md 文件。 如果是目录路径,尝试读取 <路径>/SKILL.md。

来源类型 E:直接粘贴内容

用户已在对话中提供了完整的 SKILL.md 内容,直接进入审查阶段。 记录:来源为"用户直接提供",无外部来源信息。


第二阶段:安全审查(不可跳过)

对获取到的 SKILL.md 内容执行以下审查,任何一条红线触发即终止安装:

🚨 红线检查(触发任意一条 → 立即终止)

逐行扫描 SKILL.md 内容,检查:

□ curl/wget 指向未知域名(非 GitHub/NPM/PyPI 等已知平台)
□ 将数据发送到外部服务器(POST 请求、数据上报)
□ 读取凭证文件:~/.ssh、~/.aws、~/.config、.env、*_key、*_token
□ 读取或修改 MEMORY.md、CLAUDE.md、USER.md 等配置文件
□ 使用 base64 解码后执行
□ eval() 或 exec() 接收外部输入
□ 请求 sudo 或提权操作
□ 读取浏览器 cookies 或 session 数据
□ 混淆代码(大段 base64、压缩代码、hex 编码)
□ 向 IP 地址(非域名)发起网络请求
□ 安装系统级软件包(brew install、apt-get 等)而未明确说明用途

如果触发红线:

❌ 安装终止:发现安全红线
红线类型:[具体描述]
位置:[在 SKILL.md 的哪个部分]
原因:[为什么这是危险的]
建议:请联系 skill 作者确认,或放弃安装。

⚠️ 风险评估(不触发红线则继续,但输出风险等级)

评估以下维度:

  • 文件权限:skill 需要读写哪些文件?范围是否合理?
  • 网络访问:需要访问哪些外部服务?目的是否清晰?
  • 命令执行:执行哪些 shell 命令?是否有潜在风险?
  • 来源可信度:作者是否已知?仓库是否有活跃维护?

风险等级判定:

等级条件处理方式
🟢 LOW无网络/命令执行,只做文本处理自动继续
🟡 MEDIUM有网络访问或文件操作,但范围明确继续,但在确认步骤中说明
🔴 HIGH访问凭证类文件、执行系统命令需要用户明确确认
⛔ EXTREME任何红线终止,不安装

第三阶段:提取 Skill 元信息

从 SKILL.md 的 frontmatter 提取:

name: [skill 名称,用作目录名]
description: [skill 描述]

如果 frontmatter 缺失或格式不正确:

  • 尝试从文件名或 GitHub 路径推断 skill 名称
  • 提示用户确认名称

目录名规则:

  • 使用 frontmatter 中的 name 字段
  • 全小写,单词间用连字符(kebab-case)
  • 示例:my-skill-name

第四阶段:安装确认

在写入文件之前,向用户展示安装摘要并请求确认:

╔══════════════════════════════════════════╗
║           SKILL 安装确认                  ║
╠══════════════════════════════════════════╣
║ Skill 名称:[name]                        ║
║ 安装路径:~/.claude/skills/[name]/        ║
║ 来源:[来源描述]                           ║
║ 风险等级:[🟢/🟡/🔴]                      ║
║ 文件数量:1 个(SKILL.md)                 ║
╠══════════════════════════════════════════╣
║ 审查结果:✅ 未发现安全红线                 ║
║ 注意事项:[如有风险,列出]                  ║
╚══════════════════════════════════════════╝

是否确认安装?(回复"确认"或"是"继续,其他回复取消)

注意:此步骤必须等待用户明确确认,不可自动跳过。 风险等级为 🔴 HIGH 时,需要用户输入 "确认安装高风险skill" 才能继续。


第五阶段:写入文件

用户确认后执行安装:

# 1. 创建目录
mkdir -p ~/.claude/skills/[skill-name]

# 2. 写入 SKILL.md
# 使用 Write 工具将内容写入
# ~/.claude/skills/[skill-name]/SKILL.md

# 3. 如果 skill 包含其他文件(scripts/ 等),一并下载写入

安装完成后输出:

✅ 安装成功

Skill:[name]
路径:~/.claude/skills/[name]/SKILL.md
状态:已激活(下次对话自动加载)

触发方式:[从 description 提取的触发关键词]

如果目标路径已存在同名 skill:

⚠️  检测到已安装同名 skill:[name]
现有版本:[如果能获取版本信息]
新版本:[如果能获取版本信息]

选项:
1. 覆盖安装(替换现有 skill)
2. 保留现有,取消安装
请选择(1/2):

快速安装示例

从 GitHub 仓库安装

安装 anthropics/claude-code-skills/my-skill

从原始 URL 安装

安装 https://raw.githubusercontent.com/owner/repo/main/skills/my-skill/SKILL.md

从本地路径安装

安装 /Users/me/Downloads/my-skill/SKILL.md

直接粘贴内容安装

安装以下 skill:
---
name: my-skill
description: ...
---
# My Skill
...

卸载功能

当用户说"卸载 skill [name]"或"删除 skill [name]"时,执行:

# 确认目录存在
ls ~/.claude/skills/[name]/

# 请求确认后删除
# 使用 Bash 工具:rm -rf ~/.claude/skills/[name]/

卸载前必须显示确认提示:

⚠️  即将删除 skill:[name]
路径:~/.claude/skills/[name]/
此操作不可撤销。确认删除?(回复"确认"继续)

列出已安装 skill

当用户说"列出所有skill""已安装哪些skill""skill列表"时:

ls ~/.claude/skills/

格式化输出每个 skill 的名称和简短描述(从 frontmatter 提取)。


安全原则

  1. 内容不可见 = 不安装:无法获取 SKILL.md 内容的来源,一律拒绝
  2. 红线不妥协:任何红线触发,无论来源多可信,都终止安装
  3. 用户最终决定:审查通过后,安装决定权在用户
  4. 透明原则:所有审查结果、风险评估对用户完全可见

与 skill-vetter 的关系

skill-installer 内置了简化版的 skill-vetter 逻辑。 如果需要更详细的安全审查报告(不安装,只审查),请使用 skill-vetter。

推荐工作流:

可疑来源 → 先用 skill-vetter 详细审查 → 确认安全后再用 skill-installer 安装
可信来源 → 直接用 skill-installer(内置审查已足够)

语言

  • 默认中文
  • 若用户用英文输入,输出用英文
Skills enregistrées