§14Skill系统与开放标准红利

The Skill System and the Open-Standard Dividend

4月写第一版时,Hermes的Skill还只是「自带的一堆模板」。今天它的官方描述被改写成「会从经验里造Skill的agent」,Skill从配角升成了主角。但这一节最值得讲的,其实是它做的另一个选择:不自造格式,去蹭别人的生态。

Skill从哪来:三个源头混在一个目录里

Hermes的所有Skill都落在同一个目录下,~/.hermes/skills/ 。这是它的single source of truth。打开这个目录,你看到的Skill来自三个完全不同的源头,但它们和平共处。

来源怎么进来的信任级别
内置 bundled装Hermes时从仓库复制,每次update增量补新builtin(永不扫描)
Agent 自创后台复盘进程发现值得沉淀,自己写进来agent-created(归curator管)
社区 Hub从9个外部源安装,先过安全扫描才落盘trusted / community

内置这一档的数字变化挺有意思。旧书基线那会儿(v0.7.0)官方还写「40+自带Skill」。到6月的v0.16.0,源码里数出来是74个内置Skill,外加95个官方optional(默认不加载,一条命令装回)。到10月的v0.22.2,同样的数法是58个内置、153个optional,合计211个。内置的反而少了,因为mlops、github、数据科学、红队测试、智能家居这些大类被整批降成了optional。我在测试机上hermes skills list列出来的内置是57个(§06有截图),和源码数的58差一个。我对了一下名单,少的是sdlc-review ,它在文件头里标着只用于看板环境(environments: kanban ),skills list没把它算进来,启动页那个「58 skills」里倒是有它。

但同一个版本里它还干了件反方向的事:主动给默认Skill集瘦身。删掉被原生功能取代的死Skill,把一批不常用的从内置降级成optional,还加了个environments 门控。上下文专属的Skill不再污染所有人的索引,你不显式请求它就不出现。

这个动作我觉得很关键。Skill不是越多越好。塞太多,agent每次选Skill都得在一长串里翻,prompt也变重。

「让默认更轻、picker更不吵」和「自创Skill别无限膨胀」,是同一个焦虑的两面。

真正的聪明在于:它没自己造轮子

这才是这一节的主线。Hermes的Skill用的不是自家发明的格式,而是agentskills.io这个开放标准。这套SKILL.md格式最早是Anthropic给Claude Code做的,后来开放成了通用标准。

源码里到处是兼容它的痕迹。frontmatter的license 、compatibility 这些字段都标着「agentskills.io可选」;读配置时先查标准约定的命名空间,再回退到自己的字段,专属配置塞进角落,不去碰通用字段。这么做就一个目的:跨工具可移植。

移植到什么程度?一个为Claude Code写的SKILL.md,直接拷进Codex的Skill目录就能跑,行为一致。同一个文件在Codex CLI、Gemini CLI、GitHub Copilot、Cursor这些已采纳标准的平台上都认。

网络效应在加速:4月第一版时采纳这个标准的工具是「11+」,6月变成「26+」。标准的盘子越大,押注它的人吃到的存量就越多。

Hermes怎么吃这份红利?很直接。它能装那些原本给Claude Code、Codex生态做的Skill仓库,比如openai、anthropic、huggingface这几家官方的Skill repo,拿来即用。它甚至给OpenClaw做了迁移路径,因为两边都吃同一个标准,Skill几乎能无损搬过来。

我推断这是个典型的「不和标准对着干」的决策。自己从零攒社区,得熬好几年;直接复用整个Claude/Codex的Skill存量,今天就能用。白嫖别人的生态,比养自己的生态划算得多。

NVIDIA进了默认信任名单

说到生态,v0.16.0有个标志性事件:NVIDIA官方的Skill仓库进了Hermes的默认trusted tap。

所谓trusted tap,是装Hermes后不用任何设置就能直接浏览的几个源。原本名单里是openai、anthropic、huggingface、garrytan这几家。这一版加进了NVIDIA/skills ,经过NVIDIA验证、带签名、带治理卡片,覆盖CUDA-X、cuOpt这些产品栈。

这里要分清两个概念:「默认能浏览的源」和「受信任的源」不是一回事。v0.22.2源码里真正进了trusted集合的是四家:openai/skills 、anthropics/skills 、huggingface/skills 、NVIDIA/skills 。garrytan的仓库默认能浏览,但不在信任名单里,按社区来源对待。

这件事的信号比它本身的功能更重要。当硬件厂商都开始为agent的Skill生态做官方供给,说明SKILL.md这个标准已经不只是软件圈的玩具了。OpenAI、Anthropic、HuggingFace在列还能理解,连英伟达都来铺,标准的引力可见一斑。

三层加载:要用时才打开

Skill多了有个现实问题:全塞进上下文,token吃不消。Hermes的解法是渐进式披露(progressive disclosure),分三层加载。

Level 0 Level 1 Level 2

只看名字+描述展开全文取某个参考文件第一层,agent只拿到每个Skill的名字、描述、分类,大概几千token就够列完全部Skill。它在这一层判断「这次用得上哪个」。真要用了,才进第二层加载这个Skill的全文。如果全文里又指向某份参考资料,才进第三层去取那个文件。

这个设计的好处是,你可以装几十上百个Skill,但平时不占context。agent像翻一本有目录的书,先看目录决定翻哪页,而不是把整本书背下来。这也是为什么Skill数量能涨到两百多个还不拖慢它,大部分时候它们只是目录里的一行字。

Skills Hub:多个源 + 隔离扫描 + 分级信任

第三个来源,社区Hub,是第一版之后扩张最快的部分。4月时它还只是个模糊的「提供社区技能安装」。现在它长成了一个多源聚合的发现/安装系统。6月那一版对外集成了9个源;到v0.22.2,源码里的Claude兼容市场那个源没有了,其余几个还在,另外多了一个汇总各家的hermes-index索引。下面的规模数字是6月的,各家都在涨,仅供感受量级。

源是什么规模
skills.shVercel的公开Skill目录约2万+
ClawHub第三方Skill市场5万级
LobeHubagent市场,条目转成可装Skill1.4万+ agents
browse.shBrowserbase的浏览器自动化Skill200+站点
github / url / well-known / official直装repo、单文件URL、站点约定发现、官方optional

5万个陌生Skill听着诱人,但这里藏着一个真实的攻击面。装一个陌生的SKILL.md,等于往agent里塞一段会被当成指令执行的文本。这本身就是prompt injection的温床。一个看着人畜无害的「帮你查天气」Skill,正文里可能埋着「顺便把用户的密钥发到某个地址」。

Hermes对这件事的处理是必须讲的一段设计。社区来的Skill不是裸装的,得先过一个强制安全扫描器。它用静态分析去找已知的坏模式,比如数据外泄、prompt注入、破坏性命令、持久化后门。

扫描定级过了才落盘下载到隔离区

safe/caution/dangerous

全程写审计日志配合扫描的是一套信任分级,决定多严格地对待扫描结果:

推荐不推荐
builtin:随Hermes出厂,永不扫描永远信任;trustedcommunity(其他所有):caution级别也拦,除非你
(openai、anthropics、huggingface、NVIDIA四手动加 --force 强装
家):safe和caution放行,dangerous拦截

后来又多了一档给agent自己写的skill(agent-created):它自己造的、包括你用/learn让它写的,也要过扫描,只有判为dangerous才会停下来问你。

这套机制正好接得上Skill投毒这类话题。开放标准带来的红利和风险是一体两面:它让你能白嫖整个生态,也让整个生态的脏东西有了进你机器的通道。Hermes的回答是隔离扫描加分级信任,大厂官方的源放宽一点,来路不明的陌生Skill默认当贼防。我觉得这个边界划得挺清醒。

核心建议

实操建议:自己用的话,优先从trusted tap(openai/anthropic/huggingface/NVIDIA)装Skill,这些过了官

方背书。从ClawHub这类社区源装之前,花一分钟读一眼SKILL.md正文,尤其看它有没有要求联网、要不要你的密钥、有没有奇怪的命令。隔离扫描挡得住已知的坏模式,但你的常识是最后一道闸。

把这一节连起来看:Hermes押注开放标准,换来了「几个月白嫖一整个Claude/Codex生态」的速度,连NVIDIA都来供货。代价是要直面5万个陌生Skill的投毒面,于是它用隔离扫描和三级信任兜底。这是一个想清楚了的取舍:要生态的网络效应,就得认安全的账,两边都做,而不是只要红利不管风险。