Skip to main content
ClaudeWave
Slash Command1.2k repo starsupdated 3mo ago

learn-eval

The learn-eval slash command extends the learn function by adding quality gates and storage location decisions before saving reusable patterns extracted from conversations. It guides users through reviewing session content, drafting skill files in a standardized markdown format, and self-evaluating extracted patterns across five dimensions (specificity, actionability, scope fit, non-redundancy, and coverage) using a 1-5 scale. Once all quality scores meet minimum thresholds, users confirm the save location (global skills directory for multi-project patterns or project-specific directory) before the pattern is written to disk.

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/xu-xiang/everything-claude-code-zh/HEAD/commands/learn-eval.md -o ~/.claude/commands/learn-eval.md
Then start a new Claude Code session; the slash command loads automatically.

learn-eval.md

# /learn-eval - 提取、评测并保存

通过增加质量闸门(Quality Gate)和保存位置决策流程,对 `/learn` 命令进行扩展,以确保在写入任何技能(Skill)文件前的质量。

## 提取内容建议

寻找以下内容:

1. **错误解决模式(Error Resolution Patterns)** —— 根本原因 + 修复方法 + 可复用性
2. **调试技巧(Debugging Techniques)** —— 非直观步骤、工具组合使用
3. **临时变通方案(Workarounds)** —— 库的奇技淫巧、API 限制、特定版本的修复
4. **项目特定模式(Project-Specific Patterns)** —— 约定、架构决策、集成模式

## 流程

1. 回顾会话,寻找可提取的模式(Patterns)
2. 识别最有价值/最可复用的洞察

3. **确定保存位置:**
   - 询问:“这个模式在其他项目中是否有用?”
   - **全局(Global)** (`~/.claude/skills/learned/`):可在 2 个以上项目中使用的通用模式(Bash 兼容性、LLM API 行为、调试技巧等)
   - **项目(Project)** (当前项目中的 `.claude/skills/learned/`):项目特定知识(特定配置文件的特性、项目特定的架构决策等)
   - 如有疑问,选择“全局”(将“全局”移动到“项目”比反向操作更容易)

4. 使用以下格式起草技能(Skill)文件:

```markdown
---
name: pattern-name
description: "130 字符以内"
user-invocable: false
origin: auto-extracted
---

# [描述性的模式名称]

**提取日期:** [Date]
**上下文:** [简要描述该模式适用的场景]

## 问题
[该模式解决的问题 - 请具体说明]

## 解决方案
[模式/技术/变通方案 —— 附带代码示例]

## 何时使用
[触发条件]
```

5. **在保存前进行自评**,参考以下评分标准:

   | 维度 | 1 | 3 | 5 |
   |-----------|---|---|---|
   | 具体性(Specificity) | 仅有抽象原则,无代码示例 | 提供代表性的代码示例 | 包含涵盖所有使用模式的丰富示例 |
   | 可操作性(Actionability) | 不清楚该做什么 | 主要步骤易于理解 | 立即可以执行,涵盖边缘情况 |
   | 范围契合度(Scope Fit) | 太宽泛或太狭隘 | 基本合适,存在一些边界模糊 | 名称、触发器和内容完美契合 |
   | 非冗余性(Non-redundancy) | 与其他技能几乎相同 | 虽然有重叠但存在独特视角 | 具有完全独特的价值 |
   | 覆盖面(Coverage) | 仅涵盖目标任务的一小部分 | 涵盖主要情况,缺少常见变体 | 涵盖主要情况、边缘情况和潜在陷阱 |

   - 为每个维度评分(1–5 分)
   - 如果任何维度得分在 1–2 分,请改进草案并重新评分,直到所有维度均 ≥ 3
   - 向用户展示评分表和最终草案

6. 请求用户确认:
   - 展示:建议的保存路径 + 评分表 + 最终草案
   - 在写入前等待明确确认

7. 保存到确定的位置

## 步骤 5 的输出格式(评分表)

| 维度 | 得分 | 理由 |
|-----------|-------|-----------|
| 具体性 | N/5 | ... |
| 可操作性 | N/5 | ... |
| 范围契合度 | N/5 | ... |
| 非冗余性 | N/5 | ... |
| 覆盖面 | N/5 | ... |
| **总计** | **N/25** | |

## 注意事项

- 不要提取琐碎的修复(拼写错误、简单的语法错误)
- 不要提取一次性问题(特定的 API 故障等)
- 专注于能为未来会话节省时间的模式
- 保持技能(Skill)聚焦 —— 每个技能一个模式
- 如果覆盖面得分较低,在保存前添加相关的变体场景
api-designSkill

生产级 API 的 REST API 设计模式,包括资源命名、状态码、分页、过滤、错误响应、版本控制和速率限制。

article-writingSkill

编写文章、指南、博客、教程、时事通讯(Newsletter)等长内容,支持从示例或品牌指南中提取独特的语感语调。适用于需要撰写超过一个段落的精炼文本,尤其是对语气一致性、结构和可信度有较高要求时。

backend-patternsSkill

后端架构模式、API 设计、数据库优化以及 Node.js、Express 和 Next.js API 路由的服务端最佳实践。

coding-standardsSkill

TypeScript、JavaScript、React、Node.js 开发的通用编码标准、最佳实践和模式。

content-engineSkill

为 X、LinkedIn、TikTok、YouTube、时事通讯(Newsletters)以及跨平台内容重加工营销活动(Repurposed multi-platform campaigns)创建平台原生的内容系统。当用户需要社交媒体帖子、推文串(Threads)、脚本、内容日历,或将单一源素材清晰地适配到多个平台时使用。

e2e-testingSkill

Playwright E2E 测试模式、页面对象模型(POM)、配置、CI/CD 集成、产物管理以及不稳定测试(flaky test)策略。

eval-harnessSkill

适用于 Claude Code 会话的正规评测框架(Evaluation Framework),实现了评测驱动开发(Eval-Driven Development, EDD)原则

frontend-patternsSkill

React、Next.js、状态管理(State Management)、性能优化(Performance Optimization)及 UI 最佳实践的前端开发模式。