Skip to main content

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。 注意:所有安装在写入文件前必须经过安全审查,无法获取内容的来源一律拒绝安装。

소스 정보

저장소
yipng05-max/-skills
최근 소스 활동
2026년 4월 4일 09:41
감지된 SKILL.md 언어
중국어
스타
314
포크
24

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
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` | | 原始文件 URL | `https://raw.githubusercontent.com/...` | | 第三方平台 URL | `https://skillsmp.com/skills/...` | | 本地文件路径 | `/path/to/SKILL.md` 或本地目录 | | 直接粘贴内容 | 用户在对话中粘贴了 SKILL.md 的完整内容 | --- ## 执行流程 收到安装请求后,**严格按顺序**执行以下五个阶段。 --- ### 第一阶段:解析来源 根据用户提供的输入,判断来源类型并获取内容: #### 来源类型 A:GitHub 路径(`owner/repo` 或 `owner/repo/skill-name`) ```bash # 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 提取: ```yaml 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" 才能继续。 --- ### 第五阶段:写入文件 用户确认后执行安装: ```bash # 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]"时,执行: ```bash # 确认目录存在 ls ~/.claude/skills/[name]/ # 请求确认后删除 # 使用 Bash 工具:rm -rf ~/.claude/skills/[name]/ ``` 卸载前必须显示确认提示: ``` ⚠️ 即将删除 skill:[name] 路径:~/.claude/skills/[name]/ 此操作不可撤销。确认删除?(回复"确认"继续) ``` --- ## 列出已安装 skill 当用户说"列出所有skill""已安装哪些skill""skill列表"时: ```bash 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(内置审查已足够) ``` --- ## 语言 - 默认中文 - 若用户用英文输入,输出用英文
GitHub에서 보기