目录
问这篇文章
只基于本文回答
一句话总结:Skills 写了不调用,不是模型蠢,是少了制度——用 Hooks 当纪律、Skills 当知识、Commands 当流程、Agents 当分工,四件套协同才能把激活率从 25% 抬到 90%。
开场
你给 Claude Code 配了二十几个 Skills、写了五百页的项目规范,叮嘱它「四层架构必须用、@RequestParam 禁止出现」,结果它转头就给你来一个三层架构 + @RequestParam。你怀疑是模型变笨了,其实不是。
抓蛙师在一个企业级项目里做过统计:没有任何干预的情况下,AI 主动调用项目 Skills 的概率只有大约 25%。也就是说,你精心写的项目规范,有 75% 的概率被它当成「可选参考」直接跳过。这就像你给员工发了本 500 页的开发手册,他从来不翻,全凭经验写代码——不是没能力,是没制度。
问题的本质:默认的 Claude Code 工作流是「用户提问 → AI 直接回答」,Skills 只是可选挂件,调不调用全看模型「看起来需不需要」。而模型对「需不需要」的判断标准,从来不是「项目规范要求我必须这样做」。
那么,怎么把 25% 抬到 90%?
答案是一句话:给 AI 套上一套四件套制度——Hooks 是纪律(强制评估)、Skills 是知识(岗位手册)、Commands 是流程(最佳实践编排)、Subagents 是分工(专业子任务)。下面分三层展开。
金字塔总览
mindmap
root((Claude Code 工程化<br/>25% → 90%))
一·根因·制度缺位
Skills 只是可选参考
模型按经验而非按规范
75% 的规范被忽略
二·四件套·协同激活
Hooks 纪律 强制评估
Skills 知识 岗位手册
Commands 流程 一键编排
Subagents 分工 专家代理
三·落地·四个生命周期钩子
SessionStart 看项目状态
UserPromptSubmit 强制评估
PreToolUse 安全防护
Stop 收尾反馈一、根因:不是模型不聪明,是制度缺位
1.1 25% 这个数字怎么来的
抓蛙师团队在 RuoYi-Plus-UniApp 项目上做过几周的实测统计:在没有任何干预的情况下,AI 对项目 Skills 的主动调用率只有 25% 左右。换句话说,你写了二十几个技能,绝大多数时间都在吃灰。
更难受的不是「不用」,而是「视而不见」:你显式告诉它四层架构,它给你三层;你强调禁用 @RequestParam,它下一秒就来一个。这不是 AI 不够聪明,是它患上了选择性失忆症。
1.2 默认工作流的漏洞
打开默认的 Claude Code,工作流是这样的:
| 阶段 | 默认行为 | 漏洞 |
|---|---|---|
| 用户提问 | 直接进入回答 | Skills 没被强制检索 |
| AI 思考 | 凭模型直觉判断 | 判断标准是「看起来需不需要」 |
| Skills 调用 | 可选参考 | 项目规范沦为「装饰品」 |
| 输出 | 凭训练经验生成 | 与项目规范脱节 |
漏洞在于:Skills 的地位是”可选参考”,不是”必经之路”。模型在做判断时,对比的是「我的训练经验」和「这个项目的特殊规范」,前者总是更省力。
1.3 这是「能力」问题,还是「制度」问题
新员工聪明、能干、学过的东西多——但如果你不给他规章制度、不发岗位手册,他就只会按自己的理解乱来。AI 一模一样。
金句:AI 的能力从来不缺,缺的是把能力激发出来的制度。
把根因看清楚,解决方案的方向就明了了:不是再多写几条 Skills,而是在 Skills 之上加一层「强制评估」的纪律。这正是 Hooks 该出场的地方。
二、四件套:Hooks 是纪律,Skills 是知识,Commands 是流程,Agents 是分工
这套体系的核心洞察:四件套各管一段,单独用都跛脚,串起来才能形成闭环。下面逐个拆开。
2.1 Hooks:纪律,把「可选参考」变成「必经之路」
Hooks 是钩子——挂在 Claude Code 生命周期的关键节点上,事件一触发就强制执行一段你定义的逻辑。它不是「建议 AI 怎么做」,而是「在 AI 开口之前先替它做完」。
核心钩子是 skill-force-eval.js,挂在 UserPromptSubmit 事件上——用户每次提交问题,钩子先跑。它干三件事:
- 评估:扫一遍可选的 Skills 列表,逐个判断「这个问题需不需要这项技能」。
- 激活:把命中的 Skills 强制加载到上下文。
- 作答:技能就位之后,AI 才开始动手实现。
对比一下效果就明白了:
| 阶段 | 优化前 | 优化后 |
|---|---|---|
| 用户提问 | 直接生成代码 | 先输出技能评估清单 |
| Skills | 偶尔自发调用 | 命中即强制激活 |
| 输出 | 凭训练经验 | 基于项目规范 |
| 激活率 | ~25% | 90%+ |
为什么不是 100%?因为团队留了一个逃生通道:当用户输入斜杠命令(如 /dev、/crud),钩子会跳过评估、直接交给命令的预设流程——既保住常规问答的激活率,又不干扰命令的执行效率。
2.2 Skills:知识,把项目规范固化成岗位手册
Hooks 解决了「会去翻手册」,但手册本身写得好不好是另一码事。抓蛙师团队设计了 26 个专业 Skills,覆盖六大领域:
| 领域 | 代表 Skills |
|---|---|
| 后端 | crud-development、database-ops、controller-design |
| 前端 | vue-component、element-plus-usage |
| 移动端 | uniapp-page、h5-best-practice |
| 业务集成 | payment-integration、wechat-mp |
| 质量 | code-review、security-scan |
| 工程 | brainstorm、architecture-design、tech-decision |
每个 Skill 都是一份针对该场景的「岗位手册」——四层架构怎么分、命名怎么起、哪些 API 禁用、模板怎么套。AI 一旦命中并激活,会先把这份手册读一遍再动手,生成的代码自然贴合项目风格。
2.3 Commands:流程,把「最佳实践」编排成一键执行
Skills 解决「知识储备」,Commands 解决「流程编排」。常用斜杠命令:
| 命令 | 干什么 | 内嵌流程 |
|---|---|---|
/dev | 智能开发一个新功能 | 需求澄清 → 技术设计 → 数据库设计 → 后端 → 前端 → 测试 → 文档 |
/crud | 从一张数据库表生成四层架构 | 表结构读取 → DTO/Entity → Mapper → Service → Controller |
/check | 全站代码规范检查 | 规范扫描 → 风险分级 → 报告输出 |
/todo | 加待办事项 | 写入项目状态文件 |
Commands 的价值不在「一键」,在「编排」——它把团队沉淀的最佳实践固化成可重复执行的步骤,新人也能按部就班跑出一致的产物。
2.4 Subagents:分工,让独立子任务交给专业代理
有些任务是相对独立的(代码审查、进度盘点),放在主对话里反而会污染上下文。这时候派给 Subagent,让它在隔离环境里跑完、把结果带回来就行。
抓蛙师团队配了两个常用代理:自动代码审查代理和项目进度管理代理。当你说「帮我审一下刚写的代码」,主对话不会自己撸袖子去对照规范,而是调起子代理——子代理只关心代码变更、逐项检查、生成审查报告,主对话保持清爽。
2.5 四件套的协作关系
| 角色 | 比喻 | 解决的问题 |
|---|---|---|
| Hooks | 纪律 | 在关键节点强制做正确的事 |
| Skills | 知识 | 项目规范的固化与可学习 |
| Commands | 流程 | 最佳实践的可重复编排 |
| Subagents | 分工 | 独立子任务的专业隔离 |
金句:单用 Skills 只有 25% 激活率;四件套串起来,才有 90%。
三、落地:四个生命周期钩子串起完整闭环
光有 skill-force-eval 还不够——AI 工作有完整的生命周期,每段都需要对应的钩子。团队最终配了四个:
3.1 SessionStart:开工先看项目状态
- 触发时机:每次启动 Claude Code 会话
- 干什么:把项目当前状态、未完成 TODO、最近的提交摘要先拉到上下文
- 价值:让 AI 一上来就知道「这个项目现在长什么样、上次干到哪儿」
3.2 UserPromptSubmit:强制技能评估(核心)
- 触发时机:用户每次提交问题
- 干什么:扫描 Skills 库 → 命中即激活 → 加载完才允许 AI 作答
- 逃生通道:检测到斜杠命令(如
/dev)则跳过评估、走命令流程
3.3 PreToolUse:安全防护层
- 触发时机:AI 即将执行 Bash 命令或写文件之前
- 干什么:拦截危险操作——
rm -rf、drop database、敏感数据表的写操作等 - 价值:再也不用担心 AI 在「免授权模式」下把项目改坏
3.4 Stop:收尾反馈与下一步建议
- 触发时机:AI 回答完成
- 干什么:播放完成音效 → 分析本次代码变更类型 → 智能推荐下一步操作 → 清理临时文件(比如 Windows 下误生成的
nul文件) - 价值:把「完成」变成「闭环」,每一轮都有明确的下一步
3.5 四钩子的协同时序
flowchart LR
A[SessionStart<br/>看项目状态] --> B[用户提问]
B --> C[UserPromptSubmit<br/>强制评估激活技能]
C --> D[AI 思考与执行]
D --> E[PreToolUse<br/>安全拦截]
E --> F[执行工具]
F --> G[Stop<br/>音效 + 变更分析 + 下一步]3.6 落地这套体系需要哪些文件
最小可用清单:
| 文件 | 作用 |
|---|---|
.claude/settings.json | 钩子、权限、MCP 配置入口 |
.claude/hooks/*.js | 四个生命周期钩子的实现 |
.claude/skills/* | 26 个专业 Skills 目录 |
.claude/commands/* | 斜杠命令定义 |
.claude/agents/* | 子代理配置 |
CLAUDE.md | 项目根上下文 |
把这些文件准备好,新成员克隆下来就能直接获得「90% 激活率」的工程化体验——知识不再口口相传,全部固化在仓库里。
金句:好的 AI 工程化,是让规范跟代码一起进 Git,让 AI 加载就能复用。
一页速览
| 层级 | 内容 | 一句话核心 |
|---|---|---|
| 核心结论 | 25% → 90% 不靠模型升级 | 靠四件套协同的制度化激活 |
| 主论点一 | 根因 | Skills 是「可选参考」,AI 凭直觉判断,75% 被忽略 |
| 1.1 | 数据 | 实测主动调用率约 25% |
| 1.2 | 漏洞 | 默认工作流缺一道强制评估 |
| 1.3 | 定性 | 不是能力问题,是制度问题 |
| 主论点二 | 四件套 | 各管一段,串成闭环 |
| 2.1 | Hooks | 纪律——把可选变必经 |
| 2.2 | Skills | 知识——项目规范固化 |
| 2.3 | Commands | 流程——最佳实践一键编排 |
| 2.4 | Subagents | 分工——独立子任务隔离 |
| 2.5 | 协作 | 单独都跛脚,串起来才闭环 |
| 主论点三 | 四个生命周期钩子 | 覆盖开工到收尾的完整链路 |
| 3.1 | SessionStart | 开工先看项目状态 |
| 3.2 | UserPromptSubmit | 强制技能评估(核心) |
| 3.3 | PreToolUse | 安全防护层 |
| 3.4 | Stop | 收尾反馈 + 下一步 |
| 3.5 | 时序 | 状态 → 评估 → 执行 → 拦截 → 收尾 |
| 3.6 | 文件 | settings/hooks/skills/commands/agents + CLAUDE.md |
一句话收束
AI 的能力需要制度来激发——Hooks 是纪律,Skills 是知识,Commands 是流程,Agents 是分工,缺一件都跑不到 90%。
带走这篇文章的核心观点
可引用观点
《25% → 90%:别让 Skills 吃灰,把 Claude Code 当流水线来工程化》
核心结论:Skills 写了一堆却只有 25% 的激活率,根因不是模型不聪明,而是缺一套强制评估的制度。本文复盘抓蛙师在一个企业级项目里跑通的 Claude Code 工程化方案——用 Hooks 做强制评估、用 Skills 做知识沉淀、用 Commands 做流程编排、用 Subagents 做专业分工,把激活率从 25% 拉到 90%。这是入门指南之后的工程化下半场。
- 1 一、根因:不是模型不聪明,是制度缺位
- 2 二、四件套:Hooks 是纪律,Skills 是知识,Commands 是流程,Agents 是分工
- 3 三、落地:四个生命周期钩子串起完整闭环
适合转发到飞书、微信、即刻或笔记工具;引用时建议保留作者 kele 与原文链接。