mcpField
S
skill-install

skill-install

github.com/stellarlinkcoAgent 工作流2.7k221 次安装25 周前更新
代码仓库

关于 skill-install

skill-install 是用于从 GitHub 仓库安装 Claude skills 的技能,面向管理 Claude 技能的用户。它先列出可选技能,再进行安全扫描,并按扫描结果处理安装。

主要功能

  1. 01解析 GitHub 仓库地址
  2. 02列出并选择仓库技能
  3. 03安装前进行安全扫描
  4. 04按安全结果确认或拒绝安装
  5. 05将批准的技能写入 Claude 目录

适用场景

  1. 01从 GitHub 仓库挑选技能安装
  2. 02检查技能中的恶意命令与凭据访问
  3. 03依据安全警告决定是否继续安装

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/stellarlinkco/myclaude --skill skill-install

安装后在 Claude Code 中输入/skill-install确认已加载。

附带文件references/security_scan_prompt.md

详细介绍

技能安装

概述

从 GitHub 仓库安装 Claude 技能,并通过内置的安全扫描防范恶意代码、后门和漏洞。

使用时机

当用户执行以下操作时触发此技能:

  • 提供 GitHub 仓库 URL 并希望安装技能
  • 要求“从 GitHub 安装技能”
  • 希望浏览并选择仓库中的技能
  • 需要向其 Claude 环境添加新技能

工作流

步骤 1:解析 GitHub URL

接受用户提供的 GitHub 仓库 URL。该 URL 应指向包含 skills/ 目录的仓库。

支持的 URL 格式:

  • https://github.com/user/repo
  • https://github.com/user/repo/tree/main/skills
  • https://github.com/user/repo/tree/branch-name/skills

提取:

  • 仓库所有者
  • 仓库名称
  • 分支(未指定时默认为 main)
步骤 2:获取技能列表

使用 WebFetch 工具从 GitHub 获取技能目录列表。

GitHub API 端点模式:

https://api.github.com/repos/{owner}/{repo}/contents/skills?ref={branch}

解析响应并提取:

  • 技能目录名称
  • 每个技能都应是包含 SKILL.md 文件的子目录
步骤 3:向用户展示技能

使用 AskUserQuestion 工具让用户选择要安装的技能。

设置 multiSelect: true 以允许多选。

为每个技能显示:

  • 技能名称(目录名称)
  • 简短描述(如 SKILL.md frontmatter 中有提供)
步骤 4:获取技能内容

对每个选中的技能,获取其目录中的所有文件:

  1. 获取技能目录的文件树
  2. 下载所有文件(SKILL.md、scripts/、references/、assets/)
  3. 保存完整的技能内容以供安全分析

使用 WebFetch 和 GitHub API:

https://api.github.com/repos/{owner}/{repo}/contents/skills/{skill_name}?ref={branch}

获取每个文件的原始内容:

https://raw.githubusercontent.com/{owner}/{repo}/{branch}/skills/{skill_name}/{file_path}
步骤 5:安全扫描

重要: 安装之前,必须对每个技能进行全面的安全分析。

从 references/security_scan_prompt.md 读取安全扫描提示词模板,并用它分析技能内容。

检查以下内容:

  1. 恶意命令执行 - eval、exec、subprocess 与 shell=True
  2. 后门检测 - 混淆代码、可疑网络请求
  3. 凭据窃取 - 访问 /.ssh、/.aws、环境变量
  4. 未经授权的网络访问 - 向可疑域名发送外部请求
  5. 滥用文件系统 - 破坏性操作、未经授权的写入
  6. 权限提升 - 尝试使用 sudo、修改系统
  7. 供应链攻击 - 可疑的软件包安装

输出安全分析结果,包含:

  • 安全状态:SAFE / WARNING / DANGEROUS
  • 风险级别:LOW / MEDIUM / HIGH / CRITICAL
  • 详细发现,包括文件位置和严重程度
  • 建议:APPROVE / APPROVE_WITH_WARNINGS / REJECT
步骤 6:用户决定

根据安全扫描结果:

如果为 SAFE(APPROVE):

  • 直接继续安装

如果为 WARNING(APPROVE_WITH_WARNINGS):

  • 向用户显示安全警告
  • 使用 AskUserQuestion 确认:“检测到安全警告。是否要继续安装?”
  • 选项:“是,仍要安装” / “否,跳过此技能”

如果为 DANGEROUS(REJECT):

  • 显示关键安全问题
  • 拒绝安装
  • 说明该技能为何危险
  • 如果严重程度为 CRITICAL,不要提供覆盖此决定的选项
步骤 7:安装技能

将获准安装的技能安装到 ~/.claude/skills/:

  1. 创建技能目录:~/.claude/skills/{skill_name}/
  2. 写入所有技能文件并保留目录结构
  3. 确保文件权限正确(脚本具有可执行权限)
  4. 验证 SKILL.md 文件存在且 frontmatter 有效

使用 Write 工具创建文件。

步骤 8:确认

安装完成后,提供摘要:

  • 成功安装的技能列表
  • 跳过的技能列表(如有),并说明原因
  • 位置:~/.claude/skills/
  • 后续步骤:“技能现在已可用。重启 Claude 或直接使用这些技能。”

使用示例

用户:“从 https://github.com/example/claude-skills 安装技能”

助手:

  1. 从代码库获取技能列表
  2. 展示可用技能:“skill-a”、“skill-b”、“skill-c”
  3. 用户选择“skill-a”和“skill-b”
  4. 对每个技能执行安全扫描
  5. skill-a:安全——继续安装
  6. skill-b:警告(会发起 HTTP 请求)——询问用户是否确认
  7. 将获准的技能安装到 ~/.claude/skills/
  8. 确认:“已成功安装:skill-a、skill-b”

安全说明

  • 绝不跳过安全扫描——安装前始终分析技能
  • 采取保守做法——如有疑虑,将其标记为警告并让用户决定
  • 严重问题会阻止操作——严重级别的发现不可覆盖
  • 保持透明——始终向用户展示安全扫描的发现
  • 沙箱隔离——提醒用户,技能将以 Claude 的权限运行

资源

references/security_scan_prompt.md

包含详细的安全分析提示词模板,其中包括:

  • 需要检查的完整安全类别列表
  • 输出格式要求
  • 安全、可疑和危险技能的分析示例
  • 批准/拒绝建议的判断标准

执行安全扫描时,请加载此文件以确保分析全面。

评论

支持 Markdown