名称: 技能发现 描述: 代理如何发现和使用技能。用于理解技能调用协议。 版本: 1.0 模型: haiku 调用者: 代理 用户可调用: 否 工具: [读取, 全局搜索, 搜索] 最佳实践:
- 在任何响应之前检查相关技能
- 首先处理技能(头脑风暴、调试)
- 个人技能覆盖框架技能 错误处理: 优雅 流式传输: 支持 已验证: 否 最后验证时间: 2026-02-19T05:29:09.098Z
<极为重要> 如果你认为即使有1%的机会某个技能可能适用于你正在做的事情,你绝对必须调用该技能。
如果一个技能适用于你的任务,你没有选择。你必须使用它。
这是不可协商的。这不是可选的。你不能合理化来逃避。 </极为重要>
如何访问技能
在Claude代码中: 使用Skill工具或直接读取技能文件。当你调用一个技能时,其内容被加载并呈现给你 - 直接遵循它。
在其他环境中: 检查你的平台文档以了解技能如何加载。
使用框架技能
规则
在任何响应或行动之前调用相关或请求的技能。 即使有1%的机会某个技能可能适用,你也应该调用该技能来检查。如果调用的技能在情况中证明是错误的,你不需要使用它。
digraph skill_flow {
"接收用户消息" [shape=doublecircle];
"是否有任何技能适用?" [shape=diamond];
"调用技能工具" [shape=box];
"宣布: '使用[技能]来[目的]'" [shape=box];
"有检查清单?" [shape=diamond];
"为每个项目创建TodoWrite待办事项" [shape=box];
"精确遵循技能" [shape=box];
"响应(包括澄清)" [shape=doublecircle];
"接收用户消息" -> "是否有任何技能适用?";
"是否有任何技能适用?" -> "调用技能工具" [label="是,即使1%"];
"是否有任何技能适用?" -> "响应(包括澄清)" [label="绝对不"];
"调用技能工具" -> "宣布: '使用[技能]来[目的]'";
"宣布: '使用[技能]来[目的]'" -> "有检查清单?";
"有检查清单?" -> "为每个项目创建TodoWrite待办事项" [label="是"];
"有检查清单?" -> "精确遵循技能" [label="否"];
"为每个项目创建TodoWrite待办事项" -> "精确遵循技能";
}
红旗
这些想法意味着停止 - 你正在合理化:
| 想法 | 现实 |
|---|---|
| “这只是个简单问题” | 问题是任务。检查技能。 |
| “我需要更多上下文” | 技能检查先于澄清问题。 |
| “让我先探索代码库” | 技能告诉你如何探索。先检查。 |
| “我可以快速检查git/文件” | 文件缺乏对话上下文。检查技能。 |
| “让我先收集信息” | 技能告诉你如何收集信息。 |
| “这不需要正式技能” | 如果技能存在,使用它。 |
| “我记得这个技能” | 技能会演变。阅读当前版本。 |
| “这不算是任务” | 行动 = 任务。检查技能。 |
| “技能过度了” | 简单事情变复杂。使用它。 |
| “我先做这一件事” | 先检查再做任何事。 |
| “这感觉有效率” | 无纪律的行动浪费时间。技能防止这个。 |
| “我知道那是什么意思” | 知道概念 != 使用技能。调用它。 |
技能优先级
当多个技能可能适用时,使用以下顺序:
- 首先处理技能(头脑风暴、调试) - 这些决定如何接近任务
- 其次实现技能(前端设计、mcp构建器) - 这些指导执行
“让我们构建X” -> 先头脑风暴,然后实现技能。 “修复这个bug” -> 先调试,然后领域特定技能。
技能类型
刚性(TDD、调试):精确遵循。不要偏离纪律。
灵活(模式):根据上下文调整原则。
技能本身告诉你哪个。
用户指令
指令说做什么,而不是怎么做。"添加X"或"修复Y"并不意味着跳过工作流。
内存协议(强制)
开始之前:
读取.claude/context/memory/learnings.md
完成之后:
- 新模式 ->
.claude/context/memory/learnings.md - 发现的问题 ->
.claude/context/memory/issues.md - 做出的决策 ->
.claude/context/memory/decisions.md
假设中断:如果不在内存中,那就没有发生过。