name: 学习 description: | 从当前会话中提取可重用的知识,转化为持久性技能。 当您发现非显而易见的内容、创建变通方案或开发 多步骤工作流,且未来会话将从中受益时使用。 author: Claude Code Academic Workflow version: 1.0.0 argument-hint: “[技能名称(kebab-case)]”
/学习 — 技能提取工作流
将非显而易见的发现提取为跨会话持久可用的可重用技能。
何时使用此技能
当遇到以下情况时调用/learn:
- 非显而易见的调试 — 花费大量努力的调查,不在文档中
- 误导性错误 — 错误消息错误,找到了真正原因
- 变通方案 — 发现限制并创造性地解决
- 工具集成 — 未记录的API使用或配置
- 试错 — 多次尝试后才成功
- 可重复工作流 — 您会再次执行的多步骤任务
- 面向用户的自动化 — 用户将请求的报告、检查或流程
工作流阶段
阶段1:评估(自我评估)
在创建技能之前,回答以下问题:
- “我刚刚学到了什么,在开始前并不明显?”
- “未来的我会从这被文档化中受益吗?”
- “解决方案是否仅从文档中就不明显?”
- “这是一个我会重复的多步骤工作流吗?”
仅当至少有一个问题的答案是YES时继续。
阶段2:检查现有技能
搜索相关技能以避免重复:
# 检查项目技能
ls .claude/skills/ 2>/dev/null
# 搜索关键词
grep -r -i "关键词" .claude/skills/ 2>/dev/null
结果:
- 无相关 → 创建新技能(继续到阶段3)
- 相同触发器和修复 → 更新现有技能(增加版本)
- 部分重叠 → 更新为新变体
阶段3:创建技能
在.claude/skills/[技能名称]/SKILL.md创建技能文件:
---
name: 描述性-kebab-case-名称
description: |
[关键:在描述中包含特定触发器]
- 技能做什么
- 特定触发条件(确切的错误消息、症状)
- 何时使用它(上下文、场景)
author: Claude Code Academic Workflow
version: 1.0.0
argument-hint: "[预期参数]" # 可选
---
# 技能名称
## 问题
[清晰的问题描述 — 什么情况触发此技能]
## 上下文 / 触发条件
[何时使用 — 确切的错误消息、症状、场景]
[足够具体,以便再次识别]
## 解决方案
[分步解决方案]
[包括命令、代码片段或工作流]
## 验证
[如何验证它有效]
[预期输出或状态]
## 示例
[技能在行动中的具体示例]
## 参考文献
[文档链接、相关文件或先前讨论]
阶段4:质量门
在最终确定之前,验证:
- [ ] 描述有特定触发条件(不模糊)
- [ ] 解决方案已验证有效(测试过)
- [ ] 内容足够具体以可操作
- [ ] 内容足够通用以可重用
- [ ] 无敏感信息(凭证、个人数据)
- [ ] 技能名称描述性并使用kebab-case
输出
创建技能后,报告:
✓ 技能创建:.claude/skills/[名称]/SKILL.md
触发器:[何时使用]
问题:[它解决什么]
示例:创建技能
用户发现特定的R包静默丢弃观察值:
---
name: fixest-缺失-协变量-处理
description: |
处理fixest中当协变量有缺失值时静默丢弃观察值的问题。
使用当:估计似乎错误、样本大小意外小,或比较
不同包的结果时。
author: Claude Code Academic Workflow
version: 1.0.0
---
# fixest 缺失协变量处理
## 问题
The fixest包在协变量有NA值时静默丢弃观察值,
这可能在比较与其他包时产生意外结果。
## 上下文 / 触发条件
- fixest中的样本大小小于预期
- 结果与Stata或其他R包不同
- 模型有潜在缺失值的协变量
## 解决方案
1. 在回归前检查NA模式:
```r
summary(complete.cases(data[, covariates]))
- 显式处理NA值或使用
na.action参数 - 在注释中记录预期样本大小
验证
比较nobs(model)与nrow(data) — 差异表示丢弃的观察值。
参考文献
- fixest关于缺失值的文档
- [LEARN:r-code]条目在MEMORY.md中