关于 skillfed-mcp
skillfed-mcp 通过注重隐私的能力搜索,帮助 AI Agent 查找经过审核的技能、PyPI 软件包和研究笔记。它只发送抽象能力需求,而非任务细节,并以阅读技能为主,安装为例外。
主要功能
- 01搜索经审核的技能目录
- 02按能力搜索 PyPI 软件包
- 03查找研究笔记
- 04发送抽象需求而非任务数据
- 05安装技能前须获批准
适用场景
- 01规划任务时查找当前实践指南
- 02比较多项技能后再参考其建议
- 03按能力描述核查 PyPI 软件包
- 04为 Agent 任务查找研究证据
MCP 相关
可选 MCP 层提供技能、PyPI 软件包和研究搜索的类型化工具。服务会将抽象能力需求与索引目录进行匹配。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| wishlist | array | 是 | 1–10 项愿望,每项描述任务所需的理想技能 |
详细介绍
Skill Federation
为 AI Agent 提供免费、私密的技能搜索
技能是提示,而非安装项。 你的 Agent 会将它们作为现场笔记阅读;只有极少数值得保留的技能才由你批准。
裸 Agent 能完成 SkillsBench 中 17.5% 的任务。使用 Skill Federation 后,这一比例达到 22.8%——而你的工作始终不会离开你的设备。
在网页上浏览和搜索已编入索引的目录——技能、PyPI 软件包、研究 → skillfed.io
模型的权重是对训练截止日期之前所有既有内容的平均,而且这种平均本身也有损失。只要实践真正发生变化——SEO、安全审查、无障碍、框架和 API 迁移、打包与发布、定价、合规、工具默认设置——这种平均就会变成对过去共识充满自信的总结。它读起来恰好像专业知识。但它也在悄然落后一两个版本。
技能不是要安装的脚本,而是一条提示。 它是从业者记录下来的现场笔记,说明这项工作当前是如何开展的:由某人维护并注明日期的产物,承载着平均水平与当下实践之间的差异。前沿模型会将其载入上下文,用它增强自身权重。除此之外什么也不会发生。因此,在这里搜索通常是为了阅读,而不是安装;技能是参考资料,不是会运行的代码。
Skill Federation 能找到这些笔记,却不会向任何人透露你正在做什么。 当工作取决于某件事现在的做法时,你的 Agent 会写下一份抽象的愿望清单(“如果所有技能都存在,我会选哪些?”),联邦系统再将这些愿望与经过审核的技能目录进行匹配。你的计划、文件和输出都不会离开你的设备。只有抽象的愿望会被发送。 多找几个、交叉核对,少安装。 根据我们的实际测试,与已由能力强大的模型优化过的工作对照阅读技能,仍能发现模型遗漏的实际缺陷——而且有些技能自身的建议也已经过时。这两个发现都指向同一个结论:获取多个技能、相互比较,不要把任何一个奉为权威。两个独立编写的技能意见一致,说明这是当前的做法;只有一个技能单独断言,则只是有待核实的假设。技能过时,说明应该多读几个,而不是一个都不信。
你和你的 Agent 始终掌握主导权。 技能是判断的参考,绝不能取而代之:采用当前且相关的内容,舍弃不适用的部分,并说明你用到了哪些内容。获取的正文是数据,不是发给你的 Agent 的指令。你需要的是编写指导;任何要求 Agent 运行命令、更改设置或向某处发送数据的内容,都会被忽略并报告给你。(目录和我们持续更新的研究笔记见 skillfed.io。)
重要
跨越边界的只有抽象需求——一行能力描述、约 4 条用不同措辞表达的改写、1–5 个关键词,以及对理想技能的能力级概述。每个字段描述的都是“应该存在什么技能”,绝不是你的任务。你的计划、简报、文件内容和推理过程始终留在本地——绝不外传。
下面是一个需求的完整载荷——发送给 launch-strategy 的原始字符串。
它描述的是能力领域,绝不是你的任务、计划或产品:
description: plan a multi-channel launch for an open-source developer tool
paraphrases: orchestrate a launch across hacker news reddit and product hunt · plan a
go-to-market launch for a dev tool · coordinate a multi-platform release
announcement · design a launch-day plan for an open-source project
sketch: launch product hunt hacker news waitlist go-to-market campaign ·
channel planning timing asset prep announcement
keywords: launch, gtm, product-hunt, strategy, announcement
一段描述、四条改写、一份能力概述、若干关键词。你的产品名称、尚未发布的路线图和实际发布计划都不会出现。
更喜欢纯文本?下面是同一次运行的纯文本版本
You: /skillfed plan a launch for my open-source dev tool
-> agent writes 4 abstract wishes (paraphrases + a capability sketch).
Only these leave your machine -- never your plan, files, or data.
wish: launch-strategy -> multi-platform-launch review - verified <- read
wish: repo-discoverability -> github-presence review - verified <- read
wish: community-building -> community-building review - verified <- read
wish: growth-analytics -> product-analytics permissive - verified - 221* <- read
(each picked from 10 ranked candidates in the vetted catalog)
Read all 4 in context -- nothing hits disk. Install only the 1 you'll reuse?
It goes in .claude/skills/ with license + source attribution.
🔒 有何不同
- 阅读才是核心;安装只是例外。 技能是载入上下文的提示,而不是下载到磁盘上的软件包。默认流程会在你的 Agent 阅读多个技能并告诉你从各个技能中提取了什么后结束:不会写入任何内容,也无需清理。只有当某个技能足够好而且你会重复使用时,才会在你批准后安装。
- 无需运行框架,甚至不需要 Claude Code。 查找器技能自带触发条件和指令,因此即使没有注册钩子,也能在任何可以加载技能正文的运行框架中工作,甚至可以在完全没有运行框架的情况下使用——把它粘贴到普通聊天中,它依然知道何时搜索,以及如何阅读搜索结果。(见下文的随处可用。)
- 从设计上保障最低限度的隐私。 跨越边界的只有抽象需求:“应该存在什么技能”,绝不是你的任务。你的计划、简报、文件内容和推理过程始终留在本地。(字段级完整说明见下文的隐私与信任。)
- 阅读前先建立信任,安装前再确认一次。 候选技能来自预扫描内部注册表(Cisco Skill Scanner + NVIDIA SkillSpector),而不是任意代码仓库。每个技能都会显示其许可证类别、来源、星标数和出处。这一点有双重意义:被查阅的正文是不可信的第三方文本,会进入你的 Agent 上下文;而与已安装的技能不同,查阅过的技能不会留下
SOURCE.txt,因此 Agent 必须在回复中说明自己读了什么,以及内容来自哪里。每次安装都由你批准;不会有任何内容被悄悄写入磁盘。(见安全性。) - 原生、零安装。 默认层只需要
curl,Windows 10+ 和 macOS 已自带。无需 Python、Node 或软件包管理器。(可选层级可在你安装了 Node 的情况下添加类型化 MCP 工具,包括通过 PyPI 软件包索引和研究笔记索引进行能力搜索;见下文的技能之外。)
🌍 随处可用
这个查找器有意设计为与执行框架无关。 它的触发条件和完整流程都写在技能正文中。无需注册钩子,可将其放入任何能加载技能正文的执行框架,也可以完全不使用执行框架——效果都一样。下面的可选 Claude Code 钩子只是重复触发技能中已有的条件;--hook none 是默认设置,并且安装完整。
没有安装任何东西,只有浏览器? 让任意聊天工具使用 skillfed.io 查找技能,或者粘贴技能正文,其中包含完整流程。零安装流程只需两次 GET 请求——先搜索,再读取:
- 搜索 —
skillfed.io/api/q/<terms>通过一次 GET 请求,按相关性返回查询的候选结果,每项都包含直接的正文 URL 和信任字段。搜索词特意放在路径中:聊天工具的抓取器经常会删掉较长的查询字符串,因此这种形式能在?q=无法使用时正常工作。 - 查找 — 目录以机器可读的 JSON 格式发布,无需爬取:
skillfed.io/.well-known/agent-skills/index.json通过一次 GET 请求返回完整索引,每个条目包含技能名称和直接的.mdURL;skillfed.io/api/index.json则提供更完整的列表——包含每项技能的发布者和许可证,每页 500 项,按next指示继续获取。(可直接将这些 URL 发给聊天工具;该站点在搜索引擎索引中的覆盖仍然有限,因此稀疏的网页搜索结果可能会让人误以为目录内容也很少。) - 读取 — 在任意技能页面 URL 后添加
.md,即可获取纯文本格式的完整正文。一次 GET 请求即可完成。
仅使用浏览器的聊天工具仍无法运行完整的愿望清单协议——一次提交多个愿望,每个愿望都附带释义和能力概要,并将它们作为一个联合查询 POST。这正是查找器各层级新增的功能。
🧭 不止技能:软件包与研究
skillfed.io 索引的不只有技能,MCP 层级(--with-npx)会将这三类数据流作为类型化工具提供:
find_skills— 上文介绍的经过审查的技能目录。find_packages— 在 PyPI 软件包索引中进行能力搜索。正准备pip install模型根据权重回想起的某个名称?改为描述所需能力,即可获得真实且最新的软件包——每项都附带功能说明卡、许可证说明,以及是否值得安装的评估。find_research— 在 agent-skills 文献的研究笔记索引中按主题搜索,查找带有来源的实证结论;当你想要的是证据而不是工具时,可以使用它。
另外两个索引都可通过普通 GET 请求访问(/api/packages/search.json?q=…、/api/research/search.json?q=…)——无需身份验证,也无需租户,因此 curl 或任何带有抓取工具的 Agent 都可以使用,无需 MCP 层级。
⚙️ 工作原理
- 提出请求。 技能自带触发条件,无需钩子:Agent 开始规划时(让技能影响实施方案)、完成计划时、任务中途即将从头构建某项能力时,或按需使用
/skillfed <what you're doing>。这是一种搜索,而非固定仪式:可在每项任务中进行一次或多次,随工作进展而定。 - 列出需求。 Agent 勾勒理想技能,并写下最多 10 条抽象需求——每条都包含措辞多样的改述,以及用于提高召回率的结构化能力概述。不包含具体任务细节。
- 匹配。 联合网络针对每条需求进行快速词法搜索,将描述、改述和展开后的概述与经过审核、预先扫描的目录进行比对,并返回排名靠前的候选项(每条需求默认返回 10 项,可按需设为 1–25 项)。
- 阅读——默认操作。 Agent 会提取每条需求下的多项优质候选内容,结合上下文作为实地笔记阅读,并交叉核对相互矛盾之处。不会向磁盘写入任何内容。你会看到一份信任信息表(许可证 · 来源溯源 · 星标数 · 来源),以及一段清晰说明,列出它阅读了哪些技能、分别从中借鉴了什么。大多数任务到此为止。
- 安装——例外情况。 技能必须足够优秀,且你预计会重复使用,并且必须由你明确批准。随后,系统会从内部扫描副本(而非源代码库)获取技能,将其安装到
.claude/skills/,并完整注明许可证和来源。只读一次的内容不会被安装。
📊 基准测试
我们使用SkillsBench(带有确定性验证器的编码 Agent 任务)测试了 Skill Federation,并使用 Claude Code (Opus 4.6) 作为 Agent 测试框架。此测试之所以真实,关键在于技能池:Skillfed 检索的技能来自包含 26,629 项技能的公开目录快照,且已移除基准测试自带的答案技能。这项测试衡量的是独立编写的技能能否迁移到任务中,而不是我们能否重新找到基准测试中那项手写技能。
| 条件 | Agent 可用内容 | 成功率 |
|---|---|---|
| 不使用技能 | 原始 Claude Code (Opus 4.6) | 17.5% |
| Skillfed | 从包含 26,629 项技能的快照中检索到的排名第一技能 | 22.8% |
| 预言机 | 该任务专属的手写技能——无法达到的上限 | 36.8% |
Skillfed 将成功率从 17.5% 提升至 22.8%——相比原始 Agent 相对提升约 30%,并且弥补了与其从未见过的预言机技能之间约 27% 的差距。大多数技能检索结果测试的是预言机恢复(基准测试自带的技能就在技能池中);本测试评估的是迁移能力——从规模庞大且内容混杂的公开目录中检索有用技能。
说明
“公开目录”有多大? 我们对公开 SKILL.md 语料库进行的完整普查发现,6,177 个代码库中共有60,611 项独特技能。广泛流传的更大数字(约 87k)统计的是 64 个聚合代码库中包含的86,956 份随附副本——副本数量超过原件,这使生态系统的每一项统计都变成了对重复内容的统计。详情请见: 公开流通的 60,611 项技能。
📦 安装
一行命令,无需克隆。 只需已安装 Node 或 Python:
# Node — npm
npx skillfed
# Python — uv (or: pipx run skillfed)
uvx skillfed
根据 skillfed.io 页面上显示的 slug 安装已发布的技能:
npx skillfed install owner/repository/skill
install 子命令随 0.2.1 一同发布,且只能通过 npx 使用——shell、PowerShell 和 Python 安装程序都没有此功能。它会检查记录是否带有可用的许可证标签,并默认拒绝未授权记录;验证文件边界和大小,并在写入 .claude/skills/ 前校验每个 SHA-256——校验和固定在技能的已发布记录中;下载的内容绝不会执行。写入任何文件前都会显示记录的许可证和安全扫描结果;如果结果为 fail,除非传入 --allow-failed-scan,否则会拒绝安装。--dry-run 会显示验证后的计划,但不下载或写入文件(也不会检查文件是否可用)。有关替换和许可证确认选项,请参阅 npm 安装程序。
更喜欢使用 Claude Code 的插件系统? 添加市场并安装插件:
/plugin marketplace add skill-federation/skill-federation
/plugin install skill-federation@skill-federation
没有 Node 或 Python? 请 Claude Code 为你安装 curl 版本:
Install the Skill Federation /skillfed finder from github.com/skill-federation/skill-federation
— run its curl installer (install.ps1 on Windows, install.sh on macOS/Linux), then tell me to
restart Claude Code.
提示
然后重启 Claude Code 并运行
/skillfed <what you're trying to do>——或者照常工作:该技能自带触发条件(开始制定计划、完成计划、任务进行中遇到障碍,或你提出要求),因此无需注册 hook,它也会主动提供帮助。
无需运行时环境:查找器只需要 curl(不需要 Node 或 Python)。有关可选层级(规划提示 · 类型化 MCP 工具 · Python/CI 辅助工具)、从检出目录安装以及配置安全详情,请参阅 install.md。
调用选项
四种安装程序——install.sh、install.ps1、npx skillfed、uvx skillfed——在安装查找器时都接受相同的核心标志(install <slug> 仅适用于 npx):PowerShell 中使用 -Flag,其他地方使用 --flag。
| 标志 | 值 | 默认值 | 功能 |
|---|---|---|---|
--harness / -Harness | claude-code | claude-code | 要安装到哪个 harness;未知值会以 2 退出并指出支持的选项 |
--hook / -Hook | none | start | end | both | none | 在 settings.json 中注册 0–2 个规划提示——end 会在计划获批后触发,start 会在你处于计划模式时提交提示词后触发 |
--with-hook / -WithHook | — | 关闭 | 旧版别名,相当于 --hook end |
--scope / -Scope | user | project | user | ~/.claude 与 ./.claude |
--target / -Target | 一个目录 | — | 安装到指定路径,而不是安装到 --scope 默认路径 |
--with-npx / -WithNpx | — | 关闭 | 同时注册 Node MCP 服务,以提供类型化的 find_skills / find_packages / find_research 工具(需要 Node ≥18) |
--endpoint / -Endpoint | 一个 URL | 无密钥演示 | 用于记录的联邦端点 |
还有两个标志仅适用于 curl 安装程序(install.sh / install.ps1),不适用于 npx skillfed 或 uvx skillfed:--with-python / -WithPython(显示高级/CI Python 辅助工具的设置;不会更改你计算机上的任何内容)以及 --raw-base / -RawBase(无克隆运行时获取载荷的位置)。
--hook none 表示完整安装:技能会自行触发,而 hook 只会重复技能已有的功能。无论模式如何,都会附带两个提示文件,因此之后改变主意时,只需编辑设置,无需重新获取文件。首次写入前,会备份一次 settings.json 并安全合并。注册操作具有幂等性。(如何通过 curl | bash 管道传递标志,请参阅 install.md。)
更喜欢自己粘贴?(原始 curl 单行命令)
# Windows (PowerShell) — irm|iex also sidesteps the execution-policy block
irm https://raw.githubusercontent.com/skill-federation/skill-federation/main/install.ps1 | iex
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/skill-federation/skill-federation/main/install.sh | bash
说明
**绝不会传出:**你的计划、简介、文件内容、输出或推理轨迹。 **会传出的只有:**抽象需求(描述 + 改写表述 + 关键词 + 能力概要)。
字段明细
- 会传出的内容:抽象需求——一行
description、约 4 个对其进行改写的formulations、1–5 个keywords,以及理想技能的结构化能力sketch(purpose / inputs / outputs / operations / domain_vocab / section_sketch / tags)。每次搜索时,概要中展开的术语都会包含在搜索查询中(它们提供用于提高召回率的区分性词汇);如果没有找到技能,同一份概要就会成为需求指针——抽象到足以保护你的隐私,详细到足以自动构建缺失的技能。每个字段描述的都是“应该存在什么技能”,绝不是你的任务。需求的name仅用于显示,不会被发送。 - **绝不会传出:**你的计划、简介、文件内容、输出或推理轨迹。
- 两种互补信号,不混为一谈:
report_selection用于标记检索质量——每个展示的候选技能实际有多大价值,标记为Install/Read/Reject,并附上一行理由(阅读即算命中,即使没有安装);report_demand用于记录能力缺口(实际需要什么),仅在确实未命中时发出——没有返回任何内容,或所有结果都被拒绝。它们分别驱动不同的循环:选择反馈优化搜索,需求反馈决定接下来要构建什么。 - **本地优先:**如果你已安装某项技能,就会直接使用本地副本——你的修改属于个性化内容,绝不会在不知情的情况下被覆盖。本地副本也可作为阅读材料:磁盘上已有的技能就是可免费使用的提示。
Skill Federation 将每项第三方技能都视为不可信输入。**技能由我们内部经过预扫描的注册表提供,绝不会从野外仓库实时拉取。**接收时,我们会复制每个候选技能、去重并扫描;只有通过扫描的技能才会被纳入并提供。你看到的 source 链接用于说明来源,而非技能的获取位置。
我们会尽力使用两种独立工具扫描每个候选技能:
- Cisco AI Defense Skill Scanner — 使用 YARA/模式、字节码、命令污点、行为数据流、LLM 评审和 VirusTotal 检查提示注入、数据泄露及恶意代码。
- NVIDIA SkillSpector — 漏洞模式 + LLM 分析,实时查询 OSV.dev CVE,并给出 0–100 的风险评分。
高危/严重发现会在纳入前被拒绝或转交人工审核——野外目录不会未经筛选就到达你手中。
这很重要。 SkillSpector 背后的 NVIDIA 研究扫描了 42,447 项公开技能,发现其中 26.1% 至少存在一项漏洞,5.2% 显示出可能的恶意意图——而已安装的技能会拥有 Agent 的全部权限。直接从公开仓库提供技能,就等于把大约四分之一存在漏洞、二十分之一带有恶意的技能交给你的 Agent;接收环节的把关正是防止它们流入的关键。
说明
扫描只能尽力而为,并非保证安全。正如 Cisco 的扫描器所言,"没有发现 ≠ 没有风险"——扫描结果干净并不能证明技能安全。Skill Federation 仍会展示每项技能的许可证、来源信息和源地址,并且未经你的批准,任何内容都不会安装。
阅读技能也是一种信任决策。 大多数时候,Agent 会查阅技能,而不是安装它:技能正文会被载入上下文,不会写入磁盘。这种方式风险较低——不会有第三方代码进入你的设备——但文本仍会作为不可信的第三方输入进入 Agent 的上下文,而且查阅过的技能不会留下 SOURCE.txt,因为该文件只会在安装时写入。因此,查找器会将获取到的正文视为数据,而非发给 Agent 的指令(遵循制作指南,并忽略任何要求它运行命令、更改设置或向任何地方发送数据的内容),在回复中展示每项已查阅技能的许可证、来源信息和源地址,因为磁盘上没有可供日后检查的内容;在读取任何未经验证或被标记的内容之前,也会先征求你的同意。
🔧 配置
查找器通过 HTTPS 与联合端点通信。默认使用无需密钥的演示端点;可覆盖该设置:
export SKILLFED_ENDPOINT="https://your-federation.example.com" # or set in .mcp.json for the npx tier
📁 此仓库的内容
install.ps1 / install.sh / install.md auto-detecting installer; works from a clone OR piped (irm|iex, curl|bash)
installer/ npm package `skillfed` — the `npx skillfed` no-clone path
python-installer/ PyPI package `skillfed` — the `uvx skillfed` / `pipx run skillfed` path
scripts/vendor-payload.mjs vendors the 6 payload files into both packages (single source of truth)
integrations/claude-code/ the Claude Code plugin (skill + /skillfed + optional hooks) — canonical payload
integrations/*.py optional Python tier (advanced / CI)
mcp-server/ optional Node MCP tier (typed find_skills / find_packages / find_research via npx skillfed-mcp)
📄 许可证
MIT © Skill Federation。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。