Skill
Skill 放在哪里
Skill 可以放在项目里,也可以放在用户目录里。两者作用范围不同:
| 位置 | 路径 | 适合场景 |
|---|---|---|
| 项目目录 | .axiomate/skills/<skill-name>/SKILL.md | 只对当前项目生效,适合团队共享的项目流程。 |
| 用户目录 | ~/.axiomate/skills/<skill-name>/SKILL.md | 对所有项目生效,适合个人习惯和跨项目流程。 |
这里的 ~ 表示当前操作系统的用户主目录。常见路径如下:
| 系统 | 用户目录 Skill 示例 |
|---|---|
| Windows | C:\Users\用户名.axiomate\skills\release-check\SKILL.md |
| macOS | /Users/用户名/.axiomate/skills/release-check/SKILL.md |
| Linux | /home/用户名/.axiomate/skills/release-check/SKILL.md |
例如项目内的发布流程可以放在:
.axiomate/skills/release-check/SKILL.md
这样在这个工作区启动 Axiomate 时,就可以使用 /release-check。
如果希望同一个 Skill 在所有项目里都可用,则放到用户目录:
~/.axiomate/skills/release-check/SKILL.md
常见目录结构
Skill 不一定只有一个 SKILL.md。复杂一点的 Skill 通常会把脚本、模板或示例文件一起放在同一个目录下。下面是项目目录里的示例:
<project-root>/
└── .axiomate/
└── skills/
└── release-check/
├── SKILL.md
├── scripts/
│ ├── collect-status.js
│ └── verify-release.sh
├── templates/
│ └── release-summary.md
└── examples/
└── good-report.md
如果是用户目录下的个人 Skill,结构相同,只是根目录变成 ~/.axiomate/skills/。
Axiomate 只要求入口文件是 SKILL.md。其他文件不会自动执行,但 Skill 正文可以指示 AI 读取这些文件,或运行 scripts/ 里的脚本。
Skill 是什么
Skill 是一段可复用的任务说明。它把某类固定流程写成 SKILL.md,之后可以通过斜杠命令调用,也可以让 AI 在合适时按说明使用。
适合写成 Skill 的内容包括:发布流程、代码评审流程、固定格式的报告、项目内验证步骤、部署检查清单,或团队反复要求 AI 遵守的任务步骤。
在 SKILL.md 中,可以用 ${AXIOMATE_SKILL_DIR} 引用当前 Skill 目录。例如:
Run `${AXIOMATE_SKILL_DIR}/scripts/verify-release.sh` and summarize the result.
这样移动 Skill 目录后,脚本路径仍然能指向这个 Skill 自己的文件。
Skill 文件怎么写
一个最小的 Skill 如下:
---
description: Run the project release checks.
---
# Release check
Run the release verification steps for this project.
1. Check the current git status.
2. Run lint and build.
3. Summarize whether the release is ready.
目录名就是调用名。上面的文件如果保存为 .axiomate/skills/release-check/SKILL.md,调用命令就是:
/release-check
frontmatter 是 SKILL.md 文件最顶部、用 --- 包起来的配置区。它不是给 AI 执行的正文,而是给 Axiomate 读取的元信息,用来决定这个 Skill 的名称展示、用途说明、参数、权限和执行方式。
例如:
---
description: Run the project release checks.
allowed-tools:
- Bash(pnpm:*)
argument-hint: "<release-version>"
---
# Release check
正文从这里开始。
常用 frontmatter 字段包括:
| 字段 | 作用 |
|---|---|
description | 说明 Skill 的用途,也会帮助 AI 判断何时使用。 |
allowed-tools | 为这个 Skill 声明需要使用的工具权限,例如 Bash(git:*)。 |
when_to_use | 说明 AI 应该在什么场景主动使用这个 Skill。 |
argument-hint | 在命令提示中展示参数格式,例如 <issue-id>。 |
arguments | 定义参数名,正文里可以使用 $name 引用。 |
context: fork | 让 Skill 在单独的子 Agent 上下文中执行,适合相对独立的任务。 |
disable-model-invocation: true | 禁止 AI 主动调用,只允许用户通过斜杠命令手动触发。 |
怎么使用 Skill
查看项目、个人、插件或 MCP 提供的 Skill:
/skills
部分内置 Skill 可以直接调用,例如后面介绍的 /skillify,不一定显示在这个列表里。
直接运行某个 Skill:
/release-check
带参数运行:
/fix-issue 123
如果 Skill 定义了 arguments,Axiomate 会把参数替换到正文中的 $name。例如:
---
description: Fix a tracked issue.
argument-hint: "<issue-id>"
arguments:
- issue_id
---
Fix issue `$issue_id`. Read the issue context, implement the fix, run validation, and summarize the result.
调用时输入:
/fix-issue 123
Skill 不只是用户手动命令。只要没有设置 disable-model-invocation: true,AI 也可以在判断合适时调用 Skill;description 和 when_to_use 写得越清楚,越容易被正确使用。
怎么生成 Skill
如果刚完成了一段可复用流程,可以使用内置的 skillify:
/skillify
也可以带一句说明:
/skillify 把这次发布检查流程保存成可复用 Skill
skillify 会根据当前会话内容整理流程,并继续询问名称、适用场景、步骤、保存位置等信息。确认后,它会生成 SKILL.md。
生成后,可以直接用 /<skill-name> 调用,也可以手动编辑 SKILL.md 继续调整。