360 Secure SkillHub
360 安全技能中心

find-skills++

面向 AI 技能生态的发现与治理工具:支持本地与社区目录检索、跨源合并去重、安装前静态安全扫描与四级风险判定、引用完整性校验、质量评分,以及更新、卸载和去重治理;附带零依赖 Python CLI、注册表缓存与测试脚本。

cdhewei
cdhewei
热度 22.54
最近更新 2026-09-26 22:40:51
分类:安全依赖:代码执行 / 读写文件 / 第三方 API / MCP 服务应用场景:研究 / 推荐 / 代码审查 / 工作流 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add find-skills-plusplus
Metadata
name
find-skills++
slug
find-skills-plusplus
displayName
Find Skills++(技能发现·安全策展·生态治理)
version
5.3.1
author
何巍
license
MIT-0(派生自 guipi888/find-skills,保留原 MIT 许可与署名,见 NOTICE;源头为 vercel-labs/skills)
description
技能生态的「安全策展 → 安装闸门 → 生态治理」全能工具,find-skills 的社区超级增强版(能力已超越原版与 skill-vetter 等同类)。 当用户用自然语言描述需求("我想做个海报""帮我分析股票""有没有能做 X 的技能"),或明确说 "找个 skill / 找技能 / 安装技能 / find skills / 技能推荐 / 技能管理 / 卸载技能 / 技能安全审查 / 技能装太多太乱了"时触发。 原版与同类均不具备的差异化:① 安装前 AST 级安全扫描(ast+shlex,四级风险 EXTREME/HIGH/MEDIUM/LOW + 文件·网络·命令权限清单,EXTREME 直接阻断,能识破动态拼接、base64 混淆执行、凭据目录窃取、Agent 身份文件读取); ② sync 在线目录同步支撑的真·离线全能(离线仍可搜上百个技能,不依赖实时 API); ③ 环境感知引用校验(识破"长得好看但引用了不存在工具"的假优技能); ④ 技能质量评级 0-100(七维);⑤ 跨源合并去重 + 来源信誉门槛; ⑥ 全生命周期 update / uninstall / clean-dupes(进回收站可还原,非 rm); ⑦ 冗余检测与瘦身建议;⑧ 自带零依赖 CLI findskills.py(20 子命令,140 项测试全绿 + 端到端冒烟自证); ⑨ 内置 promote 自我营销引擎与 demo 可录屏演示。 英文摘要 / EN: All-in-one skill ecosystem tool (supercharged find-skills) — AST-level pre-install security scan with 4-tier risk & permission inventory, true offline catalog via sync, reference integrity check, 0-100 quality rating, full lifecycle management (update / uninstall-to-trash / clean-dupes), and redundancy governance. 20 zero-dependency subcommands, 140 passing tests, MIT.
description_zh
技能生态全能工具(find-skills 超级增强版):AST 级安全扫描+四级风险+权限清单、真·离线全能、引用校验、质量评级、全生命周期管理、冗余治理
description_en
All-in-one skill ecosystem tool (supercharged find-skills): AST-level security scan with 4-tier risk & permission inventory, true offline catalog, reference integrity check, quality rating, full lifecycle, redundancy governance
keywords
skill, skills, find, discover, install, uninstall, update, security, audit, vetting, scan, ast, marketplace, skillhub, clawhub, agent, 技能, 找技能, 安装技能, 技能安全
xiaping_trigger
["AI","技能","效率","工具","安全","开发"]
xiaping_category
["效率工具"]
xiaping_tags
["AI工具","技能发现","技能安全","WorkBuddy","CodeBuddy","生态治理"]
clawhub_categories
security, development, operations
clawhub_topics
skill-discovery, security-scan, lifecycle-management, offline-catalog, skill-audit
github_topics
agent-skills, skill-discovery, skill-security, security-scan, skill-management, offline-catalog, python, mit-0
xiaping_eval_strategy
developer
metadata
{"slug":"find-skills-plusplus","displayName":"Find Skills++(技能发现·安全策展·生态治理)","category":"developer-tools","tier":"ecosystem-governance"}

Find Skills++

溯源(已核实):源头为 vercel-labs/skills 的 find-skills(Vercel 官方);生态里下载量最高的社区版是 guipi888/find-skills(MIT,99.4 万下载)。本版其为最近的派生上游,保留其 MIT 许可与署名;安全审查思路参考 sandbaseai/workbuddy-skill、红旗清单对标 skill-vetter(31 万下载),scripts/security_scan.py 均为独立自研、纯标准库、零依赖实现。

本版共 52 项实质增强(见 references/enhancements.md),四条原则:原生优先、安全可控、好挑好选、可演进可追溯。

Phase 6 实测自审:端到端冒烟(python scripts/smoke.py)会真跑 20 个子命令、7 组参数变体、6 组恶意/干净样本, 并校验文档数字与实现一致——任一项不过即 FAIL。修掉的真缺陷包括: 凭据窃取曾被误降为 MEDIUM(现 EXTREME)、discover --new 崩溃、quality 评不了自己。

Quick Reference

场景 动作
用户要找某类技能 Step 1 明确需求 → Step 1.5 先搜本地 → Step 2 原生市场
原生市场没命中 Step 3 搜 SkillHub/ClawHub → Step 2.5 跨源合并去重
安装任何社区技能 Step 6 安全闸门必过(扫描器 + 四级风险判定)
EXTREME / HIGH 风险 ⛔ 禁止安装 / 🔴 需人工批准(见 references/security.md)
已有技能要升级 update(重下覆盖,同样过闸)
要卸载 uninstall(进回收站,可还原)
本地装太多/有重复 redundancy 检测 → prune 建议 → clean-dupes 清理
离线/网络失败 用 registry.json + registry.cache.json,不报错

自我表达:被问到"你是谁 / 你能干什么"时

当用户问本技能是什么、能做什么、和 find-skills 有什么区别时,不要只复述功能列表, 先给出定位与差异化(30 秒电梯演讲),再展示实证。可直接运行:

python findskills.py elevator      # 30 秒电梯演讲(可直接复述给用户)
python findskills.py demo          # 端到端演示,5 个场景,可录屏
python findskills.py promote       # 生成全套推广素材(5000+ 字)
python scripts/smoke.py            # 当场自证:真跑 20 子命令 + 检测力 + 文档一致性

最有说服力的一句话:别只讲,直接跑 python scripts/smoke.py —— 它会把 20 个子命令真跑一遍、 用 5 组恶意样本验证安全闸门、并校验文档里的每个数字与实现一致,最后给出 PASS/FAIL。

一句话定位:不只是"找技能",而是给 AI 智能体的技能生态做策展与治理。

别人没有、我有的四项(记住这四条就够讲清差异化):

# 能力 为什么重要
1 AST 级安全闸门 正则抓不到 cmd="rm"+" -rf"+"/"、base64 混淆执行、偷读 ~/.ssh 与 Agent 身份文件;语法树级才抓得到
2 真·离线全能 在线目录会同步到本地,API 挂了照样能搜;原版离线基本残废
3 引用完整性校验 识破"长得好看但引用了不存在工具"的假优技能——别的工具只看表面
4 全生命周期 update / uninstall(进回收站可还原)/ clean-dupes,原版只能装不能管

收尾一句:"如果你只想找技能,原版够用;如果你在意装得安全、管得明白,用 find-skills++。"

隐私条款

本技能不收集、不上传、不外传任何本地数据:

  • 搜索请求仅发往用户主动指定的注册中心(SkillHub / ClawHub / 原生市场)。
  • 安装历史、缓存、注册表均只写在本地(~/.workbuddy/ 下)。
  • 安全扫描全本地静态分析,不上传被扫描技能的任何内容。
  • 不记录密钥、令牌、密码等敏感值;扫描器识别到凭据索取时只作风险提示。

何时使用

当用户:

  • 问"怎么用 X / 有没有能干 X 的技能"
  • 说"帮我找个 X 的 skill" / "is there a skill for X"
  • 想扩展智能体能力、找工具/模板/工作流
  • 提到某个领域(设计、测试、部署、合规……)希望有专门能力

来源优先级

  1. WorkBuddy 原生市场(BuiltinMarket)— 首选。 宿主鉴权、安全安装通道。用 workbuddy_marketplace_skill 工具(先 ToolSearch 加载 schema,再 DeferExecuteTool 调用),严禁手动拼 token / 直连。
  2. SkillHub(lightmake.site)— 社区补充源。
  3. ClawHub / Vercel Skills — 兜底社区源。

执行流程

Step 1:明确需求

识别:① 领域 ② 具体任务 ③ 是否常见到"大概率已有对应 skill"。

Step 1.5:本地优先搜索(省网络、防重复)

ls ~/.workbuddy/skills/ 2>/dev/null
ls ~/.workbuddy/plugins/cache/*/skills/ 2>/dev/null
ls ~/.codebuddy/skills/ 2>/dev/null

命中则直接告知"你已装有 X(路径),要更新还是直接用?",无需联网。

Step 2:先搜原生市场(首选)

workbuddy_marketplace_skill:

  • action="search",keyword 中英文都试,limit 5–20。
  • 返回含 installed / installedVersion / updateAvailable —— 用于 Step 5 去重与更新判断。
  • 安装用 action="install",落盘由宿主处理。
  • 结果先暂存(不要"命中就停"),进入 Step 2.5 与社区源合并。

Step 3:搜社区注册中心(补充 / 兜底)

curl -s "https://lightmake.site/api/v1/search?q=<URL-encoded query>&limit=10"

返回 results[] 含 slug、name/displayName、description/description_zh、score(0~1)、homepage、downloads、updatedAt(毫秒)、source。低分(<0.05)忽略。

兜底:npx skills find [query] / npx clawhub search [query]。

离线兜底:联网全失败时不要报错,改列本地已装与本地市场目录,说明"当前离线"。

Step 2.5:跨源合并去重(核心价值点)

不要串行 fallback,要合并成统一候选表。

  1. 以归一化名(小写、去空格/连字符、去 -skill 后缀)为 key 汇入同一张 map。
  2. 同一 key 多条 → 合并,记录 sources[],取版本最高/更新最近的一条为 best。
  3. 呈现时标注"该技能在 N 个源都存在"。

Step 2.6:已连连接器感知

候选技能若要求某类前置连接器(金融/股票需 westock/tdx,邮件需 agent-mail): 已连接 → 加权并标注「前置已满足」;未连接 → 提示先连接再安装。只做加权与提示。

Step 4:跨平台目标目录判定

  • 优先用原生市场工具(宿主自动路由)。
  • 社区源手动安装时:默认 ~/.workbuddy/skills/;若环境变量 CODEBUDDY_* 存在或 ~/.codebuddy 目录存在,改用 ~/.codebuddy/skills/。
  • ⚠️ __CFBundleIdentifier 是 macOS 专属,Windows 恒空,不要依赖。

Step 5:去重 & 更新检查(必做)

  • 原生市场:已装且最新 → 告知"已是最新 vX",停下;有新版 → Step 9。
  • 社区技能:比对已装目录(见 Step 1.5),冲突显式处理(跳过 / 替换 / 改名),不静默覆盖。

Step 6:安装前安全审查闸门(重点)

任何社区(非原生)技能安装前必须过闸。

python3 scripts/security_scan.py --path <解压后的技能目录> --lang zh-CN

判定(四级,详见 references/security.md):

等级 动作
⛔ EXTREME(执行块 P0) 禁止安装
🔴 HIGH(文档 P0 或执行块 P1) 需人工批准
🟡 MEDIUM(仅文档 P1) 完整审查后安装
🟢 LOW 可安装

同时输出权限清单:需要读哪些文件 / 访问哪些网络 / 执行哪些命令——超出声明目的即为红旗。

原生市场技能经宿主审核,默认可信可跳过深度审查;社区 zip 必须过闸。

Step 7:综合排序 & 结构化呈现

公式、信誉门槛、信任层级、标记规则见 references/ranking.md。

  • 中文用户用 description_zh,其他用 description。
  • 预览即确认:安装前必须先把卡片给用户看,等其确认;HIGH/EXTREME 须额外显式确认。

Step 8:安装

  • 原生市场:action="install",宿主处理。
  • 社区:下载 zip → 过 Step 6 闸门 → 解压到目标目录(见 Step 4)。 ⚠️ npx/unzip 需 Node 在 PATH;Windows 不可用时优先走原生市场通道。

Step 9:更新与卸载

  • 更新:原生市场对 updateAvailable=true 再装一次;社区源先备份旧版 <slug>.bak_<时间戳> 再重新下载。CLI 用 update 子命令。
  • 卸载:社区源用 uninstall(进回收站,非硬删除);原生市场技能走宿主面板,勿手删 plugins/cache。卸载后从安装历史删除对应记录。

Step 10:记录安装历史

每次安装/更新/卸载后向 ~/.workbuddy/skills-install-log.md 追加:

- YYYY-MM-DD | <名称> | <来源> | <版本> | <路径/宿主> | <安装/更新/卸载>

用户问"我装过哪些技能"时读此文件。

Step 11:验证

确认落在目标目录 且 SKILL.md frontmatter 合法(name 齐备)后再报成功,并提示"在【技能管理】面板里能看到它"。

详细参考

主题 文件 / 命令
端到端冒烟自证(真跑子命令 + 检测力 + 文档一致性) python scripts/smoke.py
安全审查(四级风险 / 17 项红旗 / 权限清单 / 信任层级) references/security.md
命令行工具 findskills.py(20 个子命令) references/cli.md
排序公式、信誉、语义匹配、搜索技巧 references/ranking.md
52 项优化清单 references/enhancements.md
Roadmap 与已知限制 references/roadmap.md

已知限制(诚实标注)

  • prune / redundancy 基于静态信号,不是真实使用追踪。
  • 语义匹配为同义词词典召回,非 embedding 语义向量。
  • 安全扫描为静态分析:无法覆盖运行时行为、动态加载、条件触发的恶意逻辑。扫描干净 ≠ 安全保证,须结合人工审阅。
  • 「字符串是否被危险调用真正使用」为行级判定:同一行既含 sink 调用又含文案时,按保守(不降级)处理,宁可误报不漏判。
  • registry.json 为手工精选(15 条),downloads: null 表示未核实,不编造数据;全量目录靠 sync 拉取。