Files
everything-claude-code/docs/zh-CN/commands/learn-eval.md
zdoc.app ada4cd75a3 docs(zh-CN): sync Chinese docs with latest upstream changes (#304)
* docs(zh-CN): sync Chinese docs with latest upstream changes

* update

---------

Co-authored-by: neo <neo.dowithless@gmail.com>
2026-03-02 22:28:27 -08:00

93 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: 从会话中提取可重用模式,在保存前自我评估质量,并确定正确的保存位置(全局与项目)。
---
# /learn-eval - 提取、评估、然后保存
扩展 `/learn`,在写入任何技能文件之前加入质量门和保存位置决策。
## 提取内容
寻找:
1. **错误解决模式** — 根本原因 + 修复方法 + 可重用性
2. **调试技术** — 非显而易见的步骤、工具组合
3. **变通方法** — 库的怪癖、API 限制、特定版本的修复
4. **项目特定模式** — 约定、架构决策、集成模式
## 流程
1. 回顾会话,寻找可提取的模式
2. 识别最有价值/可重用的见解
3. **确定保存位置:**
* 提问:"这个模式在其他项目中会有用吗?"
* **全局** (`~/.claude/skills/learned/`):可在 2 个以上项目中使用的通用模式bash 兼容性、LLM API 行为、调试技术等)
* **项目** (当前项目中的 `.claude/skills/learned/`):项目特定的知识(特定配置文件的怪癖、项目特定的架构决策等)
* 不确定时,选择全局(将全局 → 项目移动比反向操作更容易)
4. 使用此格式起草技能文件:
```markdown
---
name: pattern-name
description: "Under 130 characters"
user-invocable: false
origin: auto-extracted
---
# [描述性模式名称]
**提取日期:** [日期]
**上下文:** [简要描述此模式适用的场景]
## 问题
[此模式解决的具体问题 - 请详细说明]
## 解决方案
[模式/技术/变通方案 - 附带代码示例]
## 何时使用
[触发条件]
```
5. **在保存前自我评估**,使用此评分标准:
| 维度 | 1 | 3 | 5 |
|-----------|---|---|---|
| 具体性 | 仅抽象原则,无代码示例 | 有代表性代码示例 | 包含所有使用模式的丰富示例 |
| 可操作性 | 不清楚要做什么 | 主要步骤可理解 | 立即可操作,涵盖边界情况 |
| 范围契合度 | 过于宽泛或过于狭窄 | 基本合适,存在一些边界模糊 | 名称、触发器和内容完美匹配 |
| 非冗余性 | 几乎与另一技能相同 | 存在一些重叠但有独特视角 | 完全独特的价值 |
| 覆盖率 | 仅涵盖目标任务的一小部分 | 涵盖主要情况,缺少常见变体 | 涵盖主要情况、边界情况和陷阱 |
* 为每个维度评分 15
* 如果任何维度评分为 12改进草案并重新评分直到所有维度 ≥ 3
* 向用户展示评分表和最终草案
6. 请求用户确认:
* 展示:提议的保存路径 + 评分表 + 最终草案
* 在写入前等待明确确认
7. 保存到确定的位置
## 第 5 步的输出格式(评分表)
| 维度 | 评分 | 理由 |
|-----------|-------|-----------|
| 具体性 | N/5 | ... |
| 可操作性 | N/5 | ... |
| 范围契合度 | N/5 | ... |
| 非冗余性 | N/5 | ... |
| 覆盖率 | N/5 | ... |
| **总计** | **N/25** | |
## 注意事项
* 不要提取琐碎的修复(拼写错误、简单的语法错误)
* 不要提取一次性问题(特定的 API 中断等)
* 专注于能在未来会话中节省时间的模式
* 保持技能聚焦 — 每个技能一个模式
* 如果覆盖率评分低,在保存前添加相关变体