AI 编程教程中文版
官方教程中文版使用手册

使用技能系统

理解 Hermes skills 的渐进加载、本地正本、外部目录、Skills Hub、secure setup、agent-managed skills 和安装审查。

Skill(技能)是 Hermes 的 procedural memory(过程性记忆):把反复出现、步骤明确、容易出错、需要材料和验收的任务沉淀成可调用工作流。它不是万能插件,也不是"装得越多越好"——装太多 skill 会污染 Hermes 的"该用哪个 skill" 决策面,反而让简单任务的响应变慢。

官方资料:Skills SystemCuratorBundled Skills CatalogOptional Skills CatalogCreating Skillsagentskills.io

先给结论:本地正本是 ~/.hermes/skills/;skill 会自动变成 slash command(斜杠命令);外部 skill 目录只读扫描;安装外部 skill 前必须hermes skills inspect,尤其是带脚本、密钥、terminal 或 browser 权限的 skill——一个不可信 skill 跑起来 = 把执行权交给陌生人。

Skill 解决什么问题

普通 prompt 适合一次性任务。Skill 适合这些情况:

  • 每次发 PR 都要按同一套流程检查。
  • 每次部署都要遵守固定环境和审批步骤。
  • 每次写报告都要加载固定模板、引用和输出格式。
  • 每次做研究都要按相同的资料源、排除规则和验收标准走。
  • Agent 曾经踩过坑,下一次应该按验证过的路径执行。

Skill 的价值不是让模型“更聪明”,而是减少每次重新解释流程的成本,并降低步骤漂移。

本地正本

Hermes 的本地 skill 主目录是:

~/.hermes/skills/

推荐结构:

~/.hermes/skills/
├── devops/
│   └── deploy-k8s/
│       ├── SKILL.md
│       ├── references/
│       ├── templates/
│       ├── scripts/
│       └── assets/
└── research/
    └── literature-review/
        └── SKILL.md

SKILL.md 是入口。长资料放 references/,输出模板放 templates/,可执行辅助脚本放 scripts/,图片或其他资源放 assets/

怎么调用

安装后的 skill 会自动成为 slash command:

/plan design a rollout for migrating auth
/github-pr-workflow create a PR for this refactor
/research summarize these papers

也可以先只查看 skill:

hermes chat --toolsets skills -q "What skills do you have?"
hermes chat --toolsets skills -q "Show me the plan skill"

第一次使用某个 skill,不要直接让它执行高风险任务。先让它说明会做什么、需要哪些工具、会产出什么,再给一个小任务试跑。

渐进加载

Hermes skills 使用 progressive disclosure,避免一开始把所有 skill 全文塞进上下文。

Level 0

skills_list 只暴露 name、description、category 等轻量索引。

Level 1

skill_view(name) 加载某个 skill 的完整 SKILL.md 和 metadata。

Level 2

skill_view(name, path) 只加载 references、templates、scripts 等具体文件。

写 skill 时要配合这个机制:SKILL.md 写触发条件、步骤、风险和验收;大段资料和示例不要堆在入口文件里。

SKILL.md 最小骨架

---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux]
metadata:
  hermes:
    category: devops
    tags: [python, automation]
    requires_toolsets: [terminal]
---

# Skill Title

## When to Use
Trigger conditions.

## Procedure
1. Step one.
2. Step two.

## Pitfalls
- Known failure modes.

## Verification
How to confirm it worked.

description 很重要:Hermes 先看描述决定是否需要加载 skill。描述泛泛写“提升效率”没有价值;要写清触发场景和产出。

条件激活

Hermes 支持按平台和工具可用性显示 / 隐藏 skill。

  • platforms: [macos]:只在 macOS 显示。
  • requires_toolsets: [terminal]:有 terminal toolset 才显示。
  • fallback_for_toolsets: [web]:web toolset 不可用时才显示,用作 fallback。

这能避免把不适用的 skill 塞进当前上下文,也能在没有高级工具时提供本地替代方案。

Secure setup

Skill 可以声明需要的环境变量:

required_environment_variables:
  - name: TENOR_API_KEY
    prompt: Tenor API key
    help: Get a key from https://developers.google.com/tenor
    required_for: full functionality

本地 CLI 里,Hermes 会在 skill 实际加载时安全询问缺失值。消息平台不会在聊天里索要 secret,而是提示你回到本地 hermes setup~/.hermes/.env 配置。

一旦设置,skill 声明的 env vars 会自动传给 execute_codeterminal sandbox。这里要非常谨慎:skill 需要的 key 进入执行环境,就等于该 skill 的脚本能读取这些变量。

外部 skill 目录

如果你有共享 skill 库,可以在 config.yaml 里加 external dirs:

skills:
  external_dirs:
    - ~/.agents/skills
    - /home/shared/team-skills
    - ${SKILLS_REPO}/skills

边界:

  • 外部目录只读扫描。
  • Agent 创建或编辑 skill 时仍写入 ~/.hermes/skills/
  • 同名 skill 本地版本优先。
  • 不存在的外部路径会跳过,不会报错。

这适合团队共享 skill,但不要把外部目录当成无审查的自动安装源。

Agent-managed skills 与 Curator

Hermes 可以用 skill_manage tool 让 agent 自己创建、修改或删除 skill。官方把它定位为 procedural memory(过程性记忆):当 agent 完成复杂任务、踩坑后找到正确路径、被用户纠正或发现非平凡流程时,可以把经验写成 skill。

常见动作:

  • create:新建 skill。
  • patch:局部修改(优先使用,保留上下文连续性)。
  • edit:大改整个 SKILL.md(慎用)。
  • delete:删除 skill。
  • write_file / remove_file:管理 references、templates、scripts、assets 等支持文件。

配套机制是 Curator(策展器)——后台跑的轻量服务,负责管理 agent 自建 skill 的生命周期:

  • Usage tracking:哪些 skill 真被用过,哪些只是写完就闲置。
  • Staleness:长期未更新的 skill 是否引用了不存在的工具或命令。
  • Archival:低使用率或过期的 skill 自动归档,不再加载到上下文。
  • LLM-driven review:周期性用模型审查 skill 质量、合并候选、冗余检测。

不要让 agent 无审查地把每次成功都写成 skill——好的 skill 应该稳定、可复用、可验证;一次性任务更适合记入 session 或 memory。Curator 会帮你清理低价值 skill,但前提是写入门槛要高。

Skills Hub 和安装审查

常用命令:

hermes skills browse
hermes skills search kubernetes
hermes skills inspect openai/skills/k8s
hermes skills install openai/skills/k8s
hermes skills audit
hermes skills update
hermes skills uninstall k8s

安装前至少检查:

  • SKILL.md 是否写清 when to use、procedure、pitfalls、verification。
  • 是否包含 scripts/
  • 是否要求 API key、token、账号或外部平台。
  • 是否会读写文件、运行命令、访问浏览器或联网。
  • 是否会把 secret 写入输出、日志、模板或示例。

不理解的 skill 不用于高权限任务。先 inspect,再小任务试跑,再纳入日常。

验收清单

一个可用 skill 至少应该能回答下面 6 个问题。任何一个答不清,都不要安装或启用

  • 什么时候该用它?(触发条件 / when to use)
  • 它会做哪些步骤?(procedure 段是否清晰)
  • 它需要哪些 toolsets、tools、密钥或平台?(required toolsets / env vars)
  • 它会读取或写入哪些路径?(影响范围)
  • 失败时常见原因是什么?(pitfalls 段)
  • 完成后怎么验证?(verification 段)

官方资料

下一步

本页目录