Skill

Skill 放在哪里

Skill 可以放在项目里,也可以放在用户目录里。两者作用范围不同:

位置路径适合场景
项目目录.axiomate/skills/<skill-name>/SKILL.md只对当前项目生效,适合团队共享的项目流程。
用户目录~/.axiomate/skills/<skill-name>/SKILL.md对所有项目生效,适合个人习惯和跨项目流程。

这里的 ~ 表示当前操作系统的用户主目录。常见路径如下:

系统用户目录 Skill 示例
WindowsC:\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

frontmatterSKILL.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;descriptionwhen_to_use 写得越清楚,越容易被正确使用。

怎么生成 Skill

如果刚完成了一段可复用流程,可以使用内置的 skillify

/skillify

也可以带一句说明:

/skillify 把这次发布检查流程保存成可复用 Skill

skillify 会根据当前会话内容整理流程,并继续询问名称、适用场景、步骤、保存位置等信息。确认后,它会生成 SKILL.md

生成后,可以直接用 /<skill-name> 调用,也可以手动编辑 SKILL.md 继续调整。