进阶 docs.antigma.ai 2026-10-08 09:54:38 · 8 阅读

第25章 自定义 Skills 功能

Skills是包含指令、脚本和资源的文件夹,用于扩展 Ante 的功能。它们遵循开放式的 Agent Skills 格式,因此在兼容的智能体产品之间具有良好的可移植性。 创建 Skill 一个 Skill 是一个包含 `SKILL.md` 文件的目录: ``` commit/ └── SKILL.md ``` `SKILL.md` 由 YAML frontmatter 和 Markdown 指令组成: ``` --- name: commit description: Create a git commit with a descriptive message following conventional commit format. --- Look at the current git diff and create a commit with a clear, descriptive message that follows conventional commit format. Use `git add` to stage relevant files first. ``` 示例:带有工具和参考资源的 review Skill ``` review/ ├── SKILL.md └── references/ └── checklist.md ``` ``` --- name: review description: Review code changes for bugs, security issues, and style. argument-hint: --- Review the code at $ARGUMENTS for bugs, security vulnerabilities, style issues, and missing error handling. See [checklist](references/checklist.md) for the full review checklist. ``` Frontmatter 解析对常见的标量错误比较宽容:未加引号的值中包含 :、以 [ 或 { 这类流式字符开头、或包含行内注释的情况,只要能无歧义地解释就会被自动修复。格式错误的嵌套 YAML 仍然会报错,避免损坏的元数据被静默加载。整个块限制在 16 KB 和 32 层嵌套以内;超过任一限制时,skill 会以明确的错误信息加载失败,而不是加载一半。Sub-agent 的 frontmatter 也走同样的读取器和规则。 Skill 目录 | 目录 | 作用域 | | --- | --- | | ~/.claude/skills/ | 用户级(Claude Code 兼容) | | ~/.agents/skills/ | 用户级(兼容 — 在 ~/.ante/skills/ 之前加载) | | ~/.ante/skills/ | 用户级(在所有项目中可用) | | .claude/skills/ | 项目级(Claude Code 兼容) | | .agents/skills/ | 项目级 | | .ante/skills/ | 项目级 | SKILL.md frontmatter | 字段 | 必填 | 默认值 | 说明 | | --- | --- | --- | --- | | name | 否 | 目录名 | skill 的标识符 | | description | 否 | 第一段 | 这个 skill 做什么、什么时候用 | | argument-hint | 否 | — | 预期参数的提示文字(如 ) | | user-invocable | 否 | true | 是否可以通过斜杠命令调用 | | disable-model-invocation | 否 | false | 阻止模型自动调用此 skill | | metadata | 否 | — | 任意键值对 | 来自其他 agent 产品的未知字段(如 allowed-tools)会被容忍但忽略,因此现有的 skill 无需修改即可加载。 可选目录 my-skill/
├── SKILL.md # 必需 — 指令内容
├── scripts/ # agent 可执行代码
├── references/ # 按需加载的补充文档
└── assets/ # 模板、schema、数据文件
技能是如何被发现的​ 技能按优先级顺序被发现(后发现的同名字技能会覆盖先发现的): 系统级(内置技能) ~/.claude/skills/(用户级,兼容 Claude Code) ~/.agents/skills/(用户级,兼容) ~/.ante/skills/(用户级) .claude/skills/(项目级,兼容 Claude Code) .agents/skills/(项目级) .ante/skills/(项目级) 已发现的技能会通过附加在首条用户消息上的提醒告知模型,子代理则继承父会话的技能。启动 Ante 时加上 --no-skills 可完全跳过此发现流程:模型将不会接收到任何系统、用户或项目技能,这些技能也不会作为斜杠命令暴露,/resume 还会为恢复的会话保留该选择。若要永久关闭技能,请在 settings.json 中设置 "skills": false(--skills 可重新启用单次运行)。内置的 --profile bare 也会禁用技能。 选择单个技能​ 若要排除或添加特定技能而非全部技能,请在 settings.json 中设置 exclude_skills / include_skills: {
"exclude_skills": ["noisy-skill"],
"include_skills": ["deploy-checklist"]
}
两者均接受确切的技能名称。exclude_skills 会从所有会话中移除指定技能,其优先级高于 include_skills;include_skills 则会在会话的基础技能集之上追加技能,类似工具的 --include-tools。该选择对新会话和恢复会话均生效。 对于单次运行,可用逗号分隔的值或重复标记来覆盖上述任一保存的列表: ante --include-skills deploy-checklist,release-notes
ante --exclude-skills noisy-skill --exclude-skills deploy-prod
--include-skills 会替换已保存的 include_skills 列表,--exclude-skills 则替换已保存的 exclude_skills 列表。在两个列表都应用后,排除项仍然优先。这些参数是过滤器,而非启用开关:即便存在 include 列表,只要使用了 --no-skills 或将 "skills" 设为 false,发现机制依然保持关闭状态。 捆绑技能 Ante 在系统层预置了几项技能: 技能 | 功能 ante-guide | 基于官方文档回答有关 Ante 本身的问题,并处理修改 Ante 自身配置的请求。仅限模型调用 skill-creator | 创建、优化和评估技能。仅限模型调用 tmux | 在指定的 tmux 会话中驱动交互式终端、服务器和 REPL——参见“终端会话”。仅限模型调用 resume-claude | 在本目录中继续最近的 Claude Code 会话(/resume-claude) resume-codex | 在本目录中继续最近的 Codex 会话(/resume-codex) 同名用户或项目技能会覆盖捆绑版本。 使用技能 /commit
/review src/core/session.rs
输入技能名称后的所有内容都会作为参数传递给该技能。它们如何映射到指令中,取决于技能使用了哪些占位符: 占位符 | 替换内容 $ARGUMENTS | 完整的参数字符串(原样保留) ${1}, ${2}, … | 按空白分隔的第一、第二……参数(带引号的值保持分组) ${1:default} | 对应位置参数,若缺失则使用默认值 如果技能指令中不含任何占位符,参数会被追加到一个 块中,以便 agent 仍能查看。 深入了解 有关命名规范、渐进式披露和验证的详细规格,请参阅完整规范。

评论 (0)