以后你不是只靠"写提示词"来控制 AI 编程助手,而是用三类标准化扩展点来二次开发它:
- Hooks:在关键动作前后自动插入脚本。
- Workflow:把一套固定工作流沉淀成可复用流程。
- Skill:把某个领域/任务的知识、规则、脚本打包给 Agent 按需调用。
可以理解成:
text
AGENTS.md / CLAUDE.md = 项目规则
Skill = 专项能力包
Workflow = 做事流程
Hooks = 自动拦截和自动执行
MCP / Plugin = 外部工具和系统集成
1. Hooks 怎么用
Hooks 是"事件触发器"。比如 Agent 准备改文件、执行命令、提交代码、完成任务时,你可以让系统自动跑脚本。
典型用途:
text
改完代码后自动 prettier
执行 shell 前拦截危险命令
提交前自动跑测试
每次完成任务后记录日志
禁止修改某些目录
Claude Code 官方 hooks 文档里说,hooks 可以在指定事件上运行用户命令,用来自动化或控制 agent 行为;也提醒 hooks 会执行 shell 命令,所以安全责任在使用者这边。参考:Anthropic Hooks reference、Claude Code hooks guide。
一个概念例子:
json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "npm run format"
}
]
}
]
}
}
意思是:当 Agent 写入或编辑文件后,自动执行格式化。
在 Codex 里,你本机 codex doctor 显示已经启用了:
text
hooks
所以 Codex 也走类似方向:让你通过配置把校验、格式化、审计、日志接到 Agent 的执行环节里。
2. Workflow 怎么用
Workflow 不是一个单独文件格式的固定名词,而是"把做事步骤标准化"。
比如你可以把团队开发流程写成:
text
1. 先读需求和相关代码
2. 先写测试或复现脚本
3. 再做最小实现
4. 跑测试
5. 给出变更摘要
6. 不允许顺手重构无关文件
这个可以放在:
text
AGENTS.md
CLAUDE.md
Skill 里的 SKILL.md
自定义 slash command
项目文档
比如 Codex 项目里常用:
md
## 工作流:修 bug
1. 先复现问题。
2. 找到最小原因。
3. 修改最小代码。
4. 跑相关测试。
5. 最后说明改了什么、验证了什么。
Workflow 的价值是:让 Agent 每次都按同一套工程纪律做事,而不是每次靠你重新提醒。
3. Skill 怎么用
Skill 是更强的"能力包"。Claude 官方定义里,Skill 是包含知识、工作流或指令的 Markdown 文件;Claude Code 会在相关任务中使用它。参考:Claude Code Skills、Extend Claude Code。
一个 Skill 通常长这样:
text
my-skill/
SKILL.md
scripts/
check.py
references/
rules.md
SKILL.md 里写:
md
---
name: api-migration
description: 用于把旧接口迁移到新接口,并对比返回值
---
# 使用方式
1. 读取 route 文档。
2. 找到未迁移接口。
3. 实现 FastAPI 路由。
4. 用 curl 对比旧 PHP 和新 Python 返回值。
5. 记录已迁移状态。
这样以后你只要说:
text
继续迁移下一批接口
Agent 就能加载这个 Skill,按你沉淀好的流程做。
三者怎么组合
最实用的组合是:
text
Skill 负责"怎么做"
Workflow 负责"按什么流程做"
Hooks 负责"必须自动检查"
举个真实工程例子:
text
需求:每次让 Codex 修 bug
Skill:
- bugfix-skill:规定必须先复现、再定位、再最小修复
Workflow:
- 修 bug 流程:复现 -> 测试 -> 实现 -> 验证 -> 总结
Hooks:
- PostToolUse: Edit 后自动跑 formatter
- PreToolUse: 拦截 rm -rf、git reset --hard
- Stop: 结束前自动跑 npm test
这样 Agent 就从"聊天机器人"变成了"可编排的工程执行器"。
建议你怎么落地
第一步,不要一上来写复杂 Hooks。先这样分层:
text
AGENTS.md:放项目长期规则
Skill:放专项任务能力,比如迁移接口、写 PR、修 CI
Hooks:放强制自动化,比如格式化、测试、安全拦截
第二步,先做 3 个最有价值的:
text
1. safety hook:拦截危险命令
2. format hook:改代码后自动格式化
3. verify workflow / skill:结束前必须跑测试并汇报结果
第三步,把你反复对 Agent 说的话沉淀成 Skill。凡是你第三次重复说的规则,就不该继续靠嘴说了,应该变成 SKILL.md 或 AGENTS.md。