用 Skills 给 AI 写"工作说明书",一次写好、反复使用
前六篇下来,你可能已经发现了:跟 AI 沟通时,很多话是重复的。>
- "请用中文回答"
- "按照团队代码规范审查"
- "输出格式:先总结,再列清单"
- "考虑性能、安全、可维护性三个维度">
每次都说一遍,累不累?>
Skills 就是解决这个问题的——把常用的工作流程写成一篇 Markdown,AI 会自动按你的要求办事。
一、Skills 是什么?
Skills(技能)是一段 Markdown 格式的"工作说明书",告诉 AI 怎么完成某一类任务。
打个比方:
你第一次教一个新同事怎么做代码审查,你得说:"先看 diff,检查有没有 SQL 注入,再看错误处理是否完整……">
但如果你把这些写成一份《代码审查标准操作流程》,下次直接说"按 SOP 来",新同事就懂了。>
Skills 就是这个 SOP。
二、写一个最简单的 Skill
在 Reasonix 里创建 Skill 只需要两步。
第一步:创建文件
# 项目级别(推荐,团队共享)
mkdir -p .reasonix/skills
touch .reasonix/skills/code-review.md
# 或者全局级别(你自己所有项目通用)
mkdir -p ~/.config/reasonix/skills
touch ~/.config/reasonix/skills/code-review.md第二步:写上内容
---
description: 按团队规范审查代码变更
---
你是一个资深代码审查员。请按照以下规范审查代码变更:
## 检查清单
1. **安全性**
- 是否存在 SQL 注入风险?
- 用户输入是否经过验证?
- API Key 和密码是否硬编码?
2. **错误处理**
- 所有可能出错的地方是否有 try-catch 或错误返回?
- 错误信息是否对用户友好?
3. **性能**
- 是否有不必要的循环或重复查询?
- 数据量大时是否会 OOM?
4. **可维护性**
- 函数是否太长(超过 50 行)?
- 命名是否能让人一看就懂?
## 输出格式
对每个问题,列出:文件路径、行号、问题描述、建议修改方案。第三步:在 Chat 里调用
/skill code-reviewAI 就会自动加载这篇 Skill,按照里面的清单审查你当前的代码。
或者让 AI 自己决定什么时候调用——在适当场景下,AI 会自动选择合适的 Skill 来用。
三、Skill 的高级用法
带参数的 Skill
跟斜杠命令一样,Skill 也可以接收参数:
---
description: 按指定语言和框架生成代码
argument-hint: <功能描述>
---
请用 $ARGUMENTS 生成代码。
要求:
- 编程语言:根据上下文判断,或用户指定
- 包含单元测试
- 包含错误处理
- 添加中文注释调用时:
/skill generate-code 用户登录接口$ARGUMENTS 会被替换成"用户登录接口"。
引用已有文件
Skill 里也可以引用文件路径,便于 AI 读取你的项目规范:
---
description: 按团队的 eslint 配置检查代码
---
请读取项目的 .eslintrc.js 配置,然后检查当前代码是否符合规范。
如果需要,帮我自动修复不符合规范的地方。组合多个 Skill
你可以写一个"总管" Skill,调用多个子任务:
---
description: 完整的发版前检查流程
---
请依次执行以下步骤:
1. 运行 /skill code-review
2. 运行 /skill test-check
3. 运行 /skill security-scan
4. 如果发现问题,汇总到一份报告中四、inline vs subagent:两种运行模式
Skill 有两种运行方式,这也是 Reasonix 里很重要的一个概念:
Inline 模式(默认)
---
description: 一个简单的格式化命令
---
请把当前选中的代码按 Go 标准格式整理。- 运行方式:Skill 的内容直接注入到当前对话的上下文中
- 优点:AI 能看到完整的对话历史,上下文丰富
- 缺点:占用当前会话的 token 额度
- 适合:简单、快速的指令
Subagent 模式
---
runAs: subagent
description: 独立审查代码变更,生成报告
---
请审查以下代码变更。
关注安全、性能、可维护性。
输出一份 Markdown 报告。- 运行方式:启动一个独立的子会话,跟主对话完全隔离
- 优点:不占用主对话的上下文,即使跑很久也不影响主任务
- 缺点:看不到主对话的历史(只能看到你给它的信息)
- 适合:耗时长的独立任务(深度代码审查、大规模搜索)
怎么选?
| 场景 | 用 inline | 用 subagent |
|---|---|---|
| 简单格式化 | ✅ | ❌ |
| 需要对话上下文 | ✅ | ❌ |
| 耗时长的独立任务 | ❌ | ✅ |
| 不想污染主上下文 | ❌ | ✅ |
| review / research | ❌ | ✅(内置就是 subagent) |
五、实操:写一个"周报生成器" Skill
走完一个完整的例子。
场景
每周五都要写周报,格式固定:本周工作、遇到的问题、下周计划。每次都要跟 AI 说一遍格式,烦了。
Skill 文件
创建 .reasonix/skills/weekly-report.md:
---
description: 生成周报
runAs: subagent
---
你是一个周报助手。请根据本周的 Git 提交记录和对话内容,生成一份周报。
## 周报模板
### 一、本周工作
- 按项目分类列出完成的任务
- 每个任务标注:完成/进行中/阻塞
### 二、遇到的问题
- 关键问题及解决方案
- 需要协调的事项
### 三、下周计划
- 按优先级排序
## 信息源
1. 先看 `git log --since="7 days ago" --oneline`
2. 再看项目的 CHANGELOG.md(如果有)
3. 如果有未完成的任务,列出来
## 输出要求
- 用中文
- Markdown 格式
- 如果本周没有提交记录,请如实说明使用
/skill weekly-reportAI 会启动一个 Subagent,独立去查 Git 记录、分析变更,然后输出一份周报。
六、Skill 的存放位置
| 位置 | 作用域 | 适用场景 |
|---|---|---|
.reasonix/skills/ | 仅当前项目 | 团队共享的工作流 |
~/.config/reasonix/skills/ | 用户全局 | 你个人常用的技能 |
| 内置 Skill(review/explore/research) | 全局 | 出厂自带的四个核心技能 |
搜索顺序
Reasonix 会从多个目录扫描 Skill,默认最大嵌套深度为 3 层:
内置 Skill(只读)
↓ ↓
用户全局 ~/.config/reasonix/skills/
↓ ↓
项目 .reasonix/skills/同名时,项目覆盖用户、用户覆盖内置。
查看已安装的 Skill
/skill list会列出所有可用的 Skill,包括内置的和你自己写的。
禁用某个 Skill
如果某个内置 Skill 你用不上(比如 review),可以禁用:
[skills]
disabled_skills = ["review"]它就不会出现在 AI 的提示词和 /skill list 里了。
七、Skill 的最佳实践
1. 从简单开始
先写 2-3 个你最常重复的指令,比如"代码审查"、"生成注释"、"格式化代码"。用熟了再丰富。
2. 描述要具体
# ❌ 太模糊
请审查代码
# ✅ 具体清晰
请审查代码,重点检查:
1. 是否有未处理的错误返回值
2. 是否有硬编码的配置项
3. 函数长度是否超过 50 行AI 对模糊的描述理解可能有偏差,具体清单效果最好。
3. 使用 subagent 模式做耗时任务
如果你写了一个"分析整个项目架构"的 Skill,它会跑很久、消耗很多 token。用 runAs: subagent 把它隔离起来,不影响主对话。
4. 团队共享
把 .reasonix/skills/ 提交到 Git 仓库,团队所有成员都能用同一套 Skill:
git add .reasonix/skills/
git commit -m "添加团队代码审查和部署流程 Skill"新成员 clone 项目后,直接 /skill list 就能看到。
写在最后
Skills 是 Reasonix "可扩展性"的最后一环:
| 扩展层次 | 做什么 | 面向用户 |
|---|---|---|
[[plugins]] MCP | 接入外部工具和服务 | 需要外部集成的用户 |
| 斜杠命令 | 自定义本地操作 | 需要快捷操作的普通用户 |
| Skills | 自定义 AI 工作流程 | 所有用户 |
MCP 插件让 AI 能搜索网页、查数据库
斜杠命令让你能快速切换模型、管理会话
Skills 让 AI 能按你的工作方式干活说白了就是:AI 不再是"一个通用的助手",而是"按你的习惯干活的老员工"。
🔜 下一篇预告:Plan Mode——让 AI 先计划再动手
有时候任务太复杂,你不想让 AI 直接上手改代码,而是想先看看它的方案。Plan Mode 就是干这个的——先出计划,你批准了再动手。>
关注我,带你用最少的钱,薅最狠的 AI 羊毛。
📌 互动话题:你最想写一个什么 Skill?欢迎在评论区分享你的想法——说不定我会帮你写出来。