跳到主要内容

Skills

Skills 是 Agent 打包好的专家级工作流。每个 skill 定义了一套完整的执行策略——使用哪些工具、按什么顺序、产出什么结果——让 AI 能够稳定地处理某一类任务,而不是每次都临场发挥。


Skills 如何工作

Agent 启动时会加载所有可用的 skill,并把每个 skill 的名称与描述注入系统 prompt。当你发出请求时,AI 通过语义匹配判断是否应当激活某个 skill,然后通过工具调用加载完整指令并按其执行。

整个过程是自动的。你不需要记忆命令,也不需要手动选择模式——只要自然地描述你想做的事即可。

用户:"帮我提交一下这些修改"
→ AI 识别出 `commit` skill 相关
→ 加载完整指令(`read_skill`)
→ 按工作流检查变更、生成 commit message、执行 `git commit`

内置 Skills

Agent 内置三个用于工程工作流的核心 skill:

commit——智能提交助手

安全地执行 git commit,提交前会自动扫描大文件与二进制产物。

工作流:

  1. 检查 Git 仓库状态与当前分支
  2. 扫描所有未跟踪的新文件,检查文件大小(>1MB 警告,>10MB 阻断)以及风险类型(构建产物、依赖目录、媒体文件等)
  3. 若发现问题,立即停止、报告问题并建议合适的 .gitignore 规则
  4. 若检查通过,展示变更摘要并生成 Conventional Commits 风格的 message
  5. 执行 git addgit commit

典型触发: "提交代码"、"帮我提交"、"准备一次提交"


code-reviewer——代码审查助手

分析代码质量、安全问题与最佳实践,支持两种模式:

  • 本地审查:审查 git diff、特定 commit 或分支差异
  • 远程审查:直接审查 GitLab merge request

典型触发: "审查这些改动"、"检查代码质量"、"review 这个 MR"


serena——LSP 编码助手

通过 Language Server Protocol(LSP)提供符号级代码分析与精准编辑,特别适合大型代码库。

核心能力:

  • 通过符号索引快速找到函数、类与变量
  • 精准替换符号定义,无需读取整文件
  • 查找引用、跳转定义、重命名符号
  • 支持 Go、TypeScript、Python、Rust 等主流语言

典型触发: "分析这个模块"、"重构这个类"、"找出这个函数的所有调用点"


Skill 加载规则

Skill 从两个位置加载,用户 skill 的优先级高于 同名内置 skill:

1. <可执行文件目录>/builtin-skills/   ← 随 App 分发的内置 skill
2. ~/.aiagent/skills/ ← 用户自定义 skill(可覆盖内置)

每个 skill 都是一个独立目录,以 SKILL.md 作为主指令文件:

~/.aiagent/skills/
my-skill/
SKILL.md ← 必需,主 skill 指令
reference.md ← 可选辅助文件(AI 可按需读取)
examples/
sample.json ← 可选,支持任意嵌套文件结构

AI 可以使用 list_skill_files 查看 skill 目录下的所有辅助文件,并使用 read_skill_file 读取具体某个文件。这样可以把大型参考资料、示例数据与核心指令分开维护。


典型 Skill 用例

Skill 在以下场景特别有用:

场景收益
团队标准化工作流所有人按同一流程执行,结果可预期
重复性任务自动化代码审查、提交、文档生成无需反复重写 prompt
沉淀领域知识把最佳实践转化为可复用的操作指令
多步流程控制按正确顺序调用工具并妥善处理异常分支

团队协作模式

把 skill 文件纳入仓库版本管理是一种良好实践:

# 把团队 skill 放在项目仓库内
project-repo/
.aiagent-skills/
release-checklist/
SKILL.md
pr-review/
SKILL.md
review-standards.md

这样 skill 就能与代码库一同演进,并通过常规的代码审查流程进行评审,把 AI 的行为变成可维护的工程资产。


下一步