关于 capture-skill
capture-skill 是一项从当前对话提炼知识、模式和工作流,并将其整理为可复用技能的 Agent 技能,适用于保存经验或更新已有技能。它包含确认捕获内容、选择存放位置、起草以及验证等步骤。
主要功能
- 01提炼工作流与领域知识
- 02整理问题及解决方法
- 03确认技能名称与存放位置
- 04起草并更新技能内容
- 05检查长度与描述
适用场景
- 01将对话中的流程保存为技能
- 02记录排错经验以便复用
- 03为已有技能补充新发现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sanjeed5/ capture-skill --skill capture-skill安装后在 Claude Code 中输入/capture-skill确认已加载。
附带文件README.md
详细介绍
从对话中提取技能
从当前对话中提取知识、模式和工作流,并将其保存为可复用的技能。
适用场景
- 用户说“将这个保存为技能”或“留着下次用”
- 对话中形成了有用的工作流、模式或领域知识
- 用户希望用新的经验更新现有技能
- 对话揭示了值得保留的非显而易见步骤、易错点或最佳实践
提取流程
阶段 1:确定要提取的内容
回顾对话,寻找以下内容:
- 工作流:通过试错摸索出的多步骤流程
- 领域知识:发现的非显而易见事实、配置或约束
- 易错点和解决方案:遇到的问题及其解决方法
- 模式:效果良好的代码模式、命令序列或模板
- 决策依据:选择某种方案而非其他方案的原因
总结计划提取的内容,并在继续之前向用户确认。
阶段 2:确定保存位置
如果用户已指定技能,或根据上下文可以明确保存位置,则直接进行。否则,询问:
- 新建还是更新现有技能?
- 如果是现有技能:要更新哪个技能?(列出
~/.cursor/skills/和.cursor/skills/中相关的技能) - 如果是新技能:应使用什么名称?
- 如果是现有技能:要更新哪个技能?(列出
- 新技能的存储位置:
- 个人(
~/.cursor/skills/)——可用于所有项目 - 项目(
.cursor/skills/)——与代码仓库共享
- 个人(
阶段 3:起草技能内容
新建技能时:
- 选择一个描述性名称(小写、用连字符分隔,最多 64 个字符)
- 撰写具体的描述,说明技能的内容和适用时机(使用第三人称)
- 将对话内容提炼为简洁、可执行的说明
- 加入源自对话的具体示例
- 添加使用过的实用脚本或命令
更新现有技能时:
- 阅读现有的 SKILL.md
- 确定新经验适合放在哪里(新增章节、更新步骤或补充示例)
- 整合内容,避免重复
- 保留现有的结构和风格
阶段 4:提炼原则
将杂乱的对话整理为清晰、可复用的说明。
应当:
- 提取最终有效的方法,而非失败的尝试(但有启发性的易错点除外)
- 从具体案例中归纳通用方法(将硬编码的值替换为占位符)
- 说明非显而易见步骤背后的原因
- 补充 Agent 若不了解此次对话便无法获知的背景信息
- 控制在 500 行以内
不应:
- 纳入对话痕迹(例如“如我们讨论过的”“你提到过”)
- 重复 Agent 已知的信息
- 添加无法迁移到其他场景的过度具体细节
- 有代码示例即可说明时,避免冗长解释
阶段 5:写入并验证
- 创建或更新技能文件
- 确认 SKILL.md 不超过 500 行
- 检查描述是否具体并包含触发词
- 请用户确认提取的内容准确无误
示例:提取调试工作流
如果对话涉及排查复杂的部署问题,提取出的技能可能如下所示:
---
name: debug-k8s-deployments
description: Debug Kubernetes deployment failures including CrashLoopBackOff, image pull errors, and resource limits. Use when pods are failing to start or deployments are stuck.
---
# Debug K8s Deployments
## Diagnostic Steps
1. Check pod status: `kubectl get pods -n <namespace> | grep -v Running`
2. Get events: `kubectl describe pod <pod> -n <namespace>`
3. Check logs: `kubectl logs <pod> -n <namespace> --previous`
## Common Issues
### CrashLoopBackOff
- Check if the entrypoint command exists in the container
- Verify environment variables are set (especially secrets)
- Look for OOMKilled in `describe` output → increase memory limits
### ImagePullBackOff
- Verify image tag exists: `docker manifest inspect <image>`
- Check imagePullSecrets are configured for private registries
注意,此示例保留了诊断流程和常见解决方案,同时不包含任何对话痕迹。
边界情况处理
对话包含多个主题:询问要提取哪项具体经验,或建议为不同主题分别创建技能。
经验太少,不适合做成技能:改用规则(.cursor/rules/、.claude/rules/ 等)。判断方法:单条行为准则或编码约定适合做成规则;多步骤工作流或需要打包资源则适合做成技能。
现有技能需要大幅重写:先确认用户是希望重构现有技能,还是创建一个取而代之的新技能。
评论
支持 Markdown