← 返回 Skills 市场
spzwin

cms-find-skills

作者 spzwin · GitHub ↗ · v1.6.0 · MIT-0
cross-platform ⚠ suspicious
227
总下载
0
收藏
1
当前安装
11
版本数
在 OpenClaw 中安装
/install cms-find-skills
功能描述
用于"安装 Skill / 下载 Skill / 找一个能做 X 的 Skill / 把某个 Skill 装到本地 / 列出平台 Skill"。从 CMS 平台搜索已有 Skill 并按 downloadUrl 下载 ZIP 解压到本地 ~/.claude/skills。仅负责查找与安装,不负责创建或发布
使用说明 (SKILL.md)

当前版本: v1.6.0

cms-find-skills

只做两件事:

  1. 调用 get-skills 查看平台上已有的 Skill。
  2. 根据 downloadUrl 下载 ZIP 并解压到本地。

不要登录,不要授权,不要扩展上传、发布、更新、下架能力。

当前目录

  • SKILL.md
  • references/skill-registry/README.md
  • scripts/skill_registry/get_skills.py
  • scripts/skill_registry/install_skill.py

所有说明文档统一使用 Markdown;本 Skill 不再维护旧接口文档目录。

路由

  • 查看列表:python3 cms-find-skills/scripts/skill_registry/get_skills.py
  • 搜索:python3 cms-find-skills/scripts/skill_registry/get_skills.py --search "关键词"
  • 查看详情:python3 cms-find-skills/scripts/skill_registry/get_skills.py --detail "code 或 name"
  • 取下载地址:python3 cms-find-skills/scripts/skill_registry/get_skills.py --url "code 或 name"
  • 安装到本地:python3 cms-find-skills/scripts/skill_registry/install_skill.py --code "code"
  • 已知下载地址时安装:python3 cms-find-skills/scripts/skill_registry/install_skill.py --url "https://..."

规则

  1. 统一以 get-skills 返回的数据为准。
  2. 安装方式固定为:下载 ZIP -> 解压到目标目录。
  3. 默认安装到脚本所在 workspace 的 skills/ 目录,可用 --target 覆盖。
  4. 本地已存在同名 Skill 时默认跳过,加 --force 可删除旧目录并重新安装。
  5. 只维护 Markdown 说明和 Python 脚本,不维护旧接口文档副本。
安全使用建议
这是一个用于从平台列出并下载 Skill ZIP 的本地安装工具,功能与描述基本一致 but 注意三点: 1) TLS 验证被禁用:脚本在所有 HTTP 请求中使用 verify=False 并屏蔽相关警告,这会使下载过程易受中间人攻击。如果你要在不受信网络或生产环境使用,应修复代码以启用 TLS 验证(删除 verify=False)并只对受信任的域进行请求。 2) 文档与实现不完全一致:README/文档提到可通过 CMS_API_BASE 环境变量覆盖 API 基址,但 get_skills.py 在模块加载时使用了硬编码的 DEFAULT_API_BASE/API_URL 并未读取该环境变量。若你需要自定义 API_BASE,请在代码中修复以读取环境变量或谨慎修改 API_URL 变量。 3) 下载来源的信任:脚本会下载并在本地展开任意由 downloadUrl 指定的 ZIP 包(尽管实现了路径穿越防护和 SKILL.md 校验)。仅从你信任的 Skill 注册中心或可信 downloadUrl 安装;安装后手动审查解压出的 SKILL.md 和脚本(特别是任何可执行代码)以确认其安全性。 如果你计划使用此 Skill:在受控环境中测试,启用 TLS 验证,修正文档/代码中 CMS_API_BASE 的不一致,必要时增加对 downloadUrl 域的白名单或数字签名校验流程。
功能分析
Type: OpenClaw Skill Name: cms-find-skills Version: 1.6.0 The skill bundle is designed to search for and install other skills by downloading ZIP files from a remote registry (skills.mediportal.com.cn). While it implements proactive security measures against path traversal (ZipSlip) in `install_skill.py` using `_safe_extract`, it intentionally disables SSL certificate verification (`verify=False`) in both `get_skills.py` and `install_skill.py`. This creates a significant vulnerability to Man-In-The-Middle (MITM) attacks during the download of executable code. The capability to fetch and install remote artifacts is high-risk, but the presence of safety checks suggests a lack of clear malicious intent.
能力评估
Purpose & Capability
Name/description match the code: scripts list skills from a platform, obtain downloadUrl, download ZIP, safely extract into a local skills directory, and verify SKILL.md. 所有主要功能在脚本中都有实现,未请求额外凭据或不成比例的系统访问。
Instruction Scope
SKILL.md 明确限定只做发现与本地安装,脚本也只执行 API 请求 + 下载 + 解压 + 轻量校验。文档提到可通过环境变量 CMS_API_BASE 覆盖 API 基址,但实际 get_skills.py 并未读取该环境变量(API_URL 在模块导入时以常量构造),这是文档/实现不一致,应修正以避免误导。
Install Mechanism
虽然项目没有 install spec(即不在安装时从远端执行任意代码),但运行时会从 downloadUrl 下载并展开 ZIP。脚本实现了路径穿越保护和结构校验(_normalize_zip_member/_safe_extract/verify_skill),这是良好实践。但所有 requests 调用都以 verify=False 禁用 TLS 验证,且屏蔽了 InsecureRequestWarning —— 这增加了中间人攻击(MITM)与被替换下载内容的风险。
Credentials
无需任何凭据或特殊环境变量。唯一提及的 CMS_API_BASE 在文档中出现但未被代码使用(不需要凭证),总体上没有索取不相关/过多的秘密。
Persistence & Privilege
flags: always=false,默认可被用户调用且允许模型自主调用(平台默认)。脚本不修改其他技能配置或全局代理设置,只将解压文件写入目标目录(默认为查找到的 skills 目录或当前工作目录),权限要求与用途相称。
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cms-find-skills
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cms-find-skills 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.6.0
CMS Skill 发现工具更新到版本 1.6.0
v1.5.0
Sync from internal platform
v1.0.7
sync from internal platform
v1.3.0
Sync internal platform update
v1.0.6
- Updated version to v1.0.6 - Documentation and metadata updates in SKILL.md to reflect new version - No changes to core functionality or workflow
v1.0.5
- Removed the version.json file. - No functional changes to the skill code or behavior. - Documentation (SKILL.md) now explicitly states current version as v1.0.5.
v1.0.4
更新到 v2.0,优化 Skill 发现功能,增加搜索和详情查看
v1.0.3
- Added version.json file to the project.
v1.0.2
- 更改默认安装目录为脚本所在 workspace 的 skills/ 目录(通过 __file__ 向上动态查找),并支持通过 --target 指定目录 - 安装时如本地已有同名 Skill,默认跳过,支持使用 --force 覆盖安装
v1.0.1
cms-find-skills v1.0.1 - 明确当前目录只包含 4 个文件,并新增文件列表说明。 - 路由参数支持 code 或 name 检索、查看详情、获取下载地址。 - 增加已知下载地址下本地安装的路由说明。 - 修正文档描述和参数细节,使用法更直观清晰。
v1.0.0
Initial release: A tool for browsing, searching, and installing CMS Skills. - Browse or search Skills via the get-skills API. - Download and unzip Skills locally using provided download links. - No login, authorization, uploading, publishing, updating, or removal features included. - Simple CLI commands for listing, searching, showing details, and installing Skills. - All install operations default to the current directory, with an option to set a target location.
元数据
Slug cms-find-skills
版本 1.6.0
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 11
常见问题

cms-find-skills 是什么?

用于"安装 Skill / 下载 Skill / 找一个能做 X 的 Skill / 把某个 Skill 装到本地 / 列出平台 Skill"。从 CMS 平台搜索已有 Skill 并按 downloadUrl 下载 ZIP 解压到本地 ~/.claude/skills。仅负责查找与安装,不负责创建或发布. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 227 次。

如何安装 cms-find-skills?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cms-find-skills」即可一键安装,无需额外配置。

cms-find-skills 是免费的吗?

是的,cms-find-skills 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

cms-find-skills 支持哪些平台?

cms-find-skills 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 cms-find-skills?

由 spzwin(@spzwin)开发并维护,当前版本 v1.6.0。

💬 留言讨论